@cssints/apg-specs 0.0.0-stage → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -2
  3. package/dist/apg/accordion.bridge.d.mts +35 -0
  4. package/dist/apg/accordion.bridge.mjs +326 -0
  5. package/dist/apg/accordion.model.json +8397 -0
  6. package/dist/apg/alert.bridge.d.mts +22 -0
  7. package/dist/apg/alert.bridge.mjs +86 -0
  8. package/dist/apg/alert.model.json +871 -0
  9. package/dist/apg/alertdialog.bridge.d.mts +21 -0
  10. package/dist/apg/alertdialog.bridge.mjs +221 -0
  11. package/dist/apg/alertdialog.model.json +5232 -0
  12. package/dist/apg/breadcrumb.bridge.d.mts +26 -0
  13. package/dist/apg/breadcrumb.bridge.mjs +120 -0
  14. package/dist/apg/breadcrumb.model.json +574 -0
  15. package/dist/apg/button.bridge.d.mts +35 -0
  16. package/dist/apg/button.bridge.mjs +208 -0
  17. package/dist/apg/button.model.json +5814 -0
  18. package/dist/apg/carousel.bridge.d.mts +44 -0
  19. package/dist/apg/carousel.bridge.mjs +262 -0
  20. package/dist/apg/carousel.model.json +8963 -0
  21. package/dist/apg/checkbox-group.bridge.d.mts +25 -0
  22. package/dist/apg/checkbox-group.bridge.mjs +276 -0
  23. package/dist/apg/checkbox-group.model.json +3863 -0
  24. package/dist/apg/checkbox.bridge.d.mts +34 -0
  25. package/dist/apg/checkbox.bridge.mjs +253 -0
  26. package/dist/apg/checkbox.model.json +3158 -0
  27. package/dist/apg/combobox-autocomplete.bridge.d.mts +14 -0
  28. package/dist/apg/combobox-autocomplete.bridge.mjs +326 -0
  29. package/dist/apg/combobox-autocomplete.model.json +11586 -0
  30. package/dist/apg/combobox-dialog.bridge.d.mts +17 -0
  31. package/dist/apg/combobox-dialog.bridge.mjs +250 -0
  32. package/dist/apg/combobox-dialog.model.json +8981 -0
  33. package/dist/apg/combobox-grid.bridge.d.mts +17 -0
  34. package/dist/apg/combobox-grid.bridge.mjs +227 -0
  35. package/dist/apg/combobox-grid.model.json +8554 -0
  36. package/dist/apg/combobox-select-only.bridge.d.mts +24 -0
  37. package/dist/apg/combobox-select-only.bridge.mjs +304 -0
  38. package/dist/apg/combobox-select-only.model.json +7846 -0
  39. package/dist/apg/combobox-tree.bridge.d.mts +17 -0
  40. package/dist/apg/combobox-tree.bridge.mjs +211 -0
  41. package/dist/apg/combobox-tree.model.json +9345 -0
  42. package/dist/apg/dialog-modal.bridge.d.mts +35 -0
  43. package/dist/apg/dialog-modal.bridge.mjs +186 -0
  44. package/dist/apg/dialog-modal.model.json +7580 -0
  45. package/dist/apg/disclosure.bridge.d.mts +25 -0
  46. package/dist/apg/disclosure.bridge.mjs +202 -0
  47. package/dist/apg/disclosure.model.json +4703 -0
  48. package/dist/apg/feed.bridge.d.mts +31 -0
  49. package/dist/apg/feed.bridge.mjs +246 -0
  50. package/dist/apg/feed.model.json +4523 -0
  51. package/dist/apg/grid-selection.bridge.d.mts +13 -0
  52. package/dist/apg/grid-selection.bridge.mjs +160 -0
  53. package/dist/apg/grid-selection.model.json +6974 -0
  54. package/dist/apg/grid-sort.bridge.d.mts +12 -0
  55. package/dist/apg/grid-sort.bridge.mjs +138 -0
  56. package/dist/apg/grid-sort.model.json +3799 -0
  57. package/dist/apg/grid.bridge.d.mts +54 -0
  58. package/dist/apg/grid.bridge.mjs +441 -0
  59. package/dist/apg/grid.model.json +3802 -0
  60. package/dist/apg/link.bridge.d.mts +24 -0
  61. package/dist/apg/link.bridge.mjs +126 -0
  62. package/dist/apg/link.model.json +694 -0
  63. package/dist/apg/listbox-multi.bridge.d.mts +10 -0
  64. package/dist/apg/listbox-multi.bridge.mjs +261 -0
  65. package/dist/apg/listbox-multi.model.json +10893 -0
  66. package/dist/apg/listbox-rearrangeable.bridge.d.mts +20 -0
  67. package/dist/apg/listbox-rearrangeable.bridge.mjs +237 -0
  68. package/dist/apg/listbox-rearrangeable.model.json +17592 -0
  69. package/dist/apg/listbox-shared.d.mts +58 -0
  70. package/dist/apg/listbox-shared.mjs +171 -0
  71. package/dist/apg/listbox-single.bridge.d.mts +10 -0
  72. package/dist/apg/listbox-single.bridge.mjs +196 -0
  73. package/dist/apg/listbox-single.model.json +8024 -0
  74. package/dist/apg/listbox-typeahead.bridge.d.mts +10 -0
  75. package/dist/apg/listbox-typeahead.bridge.mjs +153 -0
  76. package/dist/apg/listbox-typeahead.model.json +5615 -0
  77. package/dist/apg/menu-button.bridge.d.mts +29 -0
  78. package/dist/apg/menu-button.bridge.mjs +259 -0
  79. package/dist/apg/menu-button.model.json +5706 -0
  80. package/dist/apg/menu-checkable.bridge.d.mts +25 -0
  81. package/dist/apg/menu-checkable.bridge.mjs +226 -0
  82. package/dist/apg/menu-checkable.model.json +4277 -0
  83. package/dist/apg/menu-menubar.bridge.d.mts +27 -0
  84. package/dist/apg/menu-menubar.bridge.mjs +273 -0
  85. package/dist/apg/menu-menubar.model.json +9540 -0
  86. package/dist/apg/meter.bridge.d.mts +28 -0
  87. package/dist/apg/meter.bridge.mjs +159 -0
  88. package/dist/apg/meter.model.json +1185 -0
  89. package/dist/apg/player.bridge.d.mts +24 -0
  90. package/dist/apg/player.bridge.mjs +342 -0
  91. package/dist/apg/player.model.json +11013 -0
  92. package/dist/apg/radio.bridge.d.mts +35 -0
  93. package/dist/apg/radio.bridge.mjs +371 -0
  94. package/dist/apg/radio.model.json +5011 -0
  95. package/dist/apg/slider-multithumb.bridge.d.mts +34 -0
  96. package/dist/apg/slider-multithumb.bridge.mjs +365 -0
  97. package/dist/apg/slider-multithumb.model.json +5774 -0
  98. package/dist/apg/slider.bridge.d.mts +54 -0
  99. package/dist/apg/slider.bridge.mjs +359 -0
  100. package/dist/apg/slider.model.json +4881 -0
  101. package/dist/apg/spinbutton.bridge.d.mts +41 -0
  102. package/dist/apg/spinbutton.bridge.mjs +327 -0
  103. package/dist/apg/spinbutton.model.json +7571 -0
  104. package/dist/apg/switch.bridge.d.mts +30 -0
  105. package/dist/apg/switch.bridge.mjs +243 -0
  106. package/dist/apg/switch.model.json +3159 -0
  107. package/dist/apg/tabs.bridge.d.mts +41 -0
  108. package/dist/apg/tabs.bridge.mjs +294 -0
  109. package/dist/apg/tabs.model.json +7659 -0
  110. package/dist/apg/timeline.bridge.d.mts +36 -0
  111. package/dist/apg/timeline.bridge.mjs +265 -0
  112. package/dist/apg/timeline.model.json +6189 -0
  113. package/dist/apg/toolbar.bridge.d.mts +25 -0
  114. package/dist/apg/toolbar.bridge.mjs +307 -0
  115. package/dist/apg/toolbar.model.json +6616 -0
  116. package/dist/apg/tooltip.bridge.d.mts +36 -0
  117. package/dist/apg/tooltip.bridge.mjs +208 -0
  118. package/dist/apg/tooltip.model.json +8295 -0
  119. package/dist/apg/treegrid.bridge.d.mts +28 -0
  120. package/dist/apg/treegrid.bridge.mjs +311 -0
  121. package/dist/apg/treegrid.model.json +17358 -0
  122. package/dist/apg/treeview.bridge.d.mts +26 -0
  123. package/dist/apg/treeview.bridge.mjs +396 -0
  124. package/dist/apg/treeview.model.json +13745 -0
  125. package/dist/apg/windowsplitter.bridge.d.mts +36 -0
  126. package/dist/apg/windowsplitter.bridge.mjs +242 -0
  127. package/dist/apg/windowsplitter.model.json +6253 -0
  128. package/dist/canvas/camera.model.json +6568 -0
  129. package/dist/canvas/canvas.bridge.d.mts +190 -0
  130. package/dist/canvas/canvas.bridge.mjs +729 -0
  131. package/dist/canvas/pointer.model.json +17095 -0
  132. package/dist/scenario.d.mts +233 -0
  133. package/dist/scenario.mjs +313 -0
  134. package/package.json +57 -4
  135. package/scenarios/apg/README.md +221 -0
  136. package/scenarios/apg/accordion.base-ui.json +1005 -0
  137. package/scenarios/apg/accordion.react-aria.json +929 -0
  138. package/scenarios/apg/alert.base-ui.json +81 -0
  139. package/scenarios/apg/alert.react-aria.json +98 -0
  140. package/scenarios/apg/alertdialog.base-ui.json +331 -0
  141. package/scenarios/apg/alertdialog.react-aria.json +225 -0
  142. package/scenarios/apg/breadcrumb.react-aria.json +312 -0
  143. package/scenarios/apg/button.ariakit.json +136 -0
  144. package/scenarios/apg/button.base-ui.json +747 -0
  145. package/scenarios/apg/button.react-aria.json +443 -0
  146. package/scenarios/apg/carousel.apg.json +909 -0
  147. package/scenarios/apg/checkbox.ariakit.json +299 -0
  148. package/scenarios/apg/checkbox.base-ui.json +1126 -0
  149. package/scenarios/apg/checkbox.react-aria.json +518 -0
  150. package/scenarios/apg/combobox.ariakit.json +945 -0
  151. package/scenarios/apg/combobox.base-ui.json +2444 -0
  152. package/scenarios/apg/combobox.react-aria.json +845 -0
  153. package/scenarios/apg/dialog-modal.ariakit.json +1102 -0
  154. package/scenarios/apg/dialog-modal.base-ui.json +775 -0
  155. package/scenarios/apg/dialog-modal.react-aria.json +638 -0
  156. package/scenarios/apg/disclosure.apg.json +349 -0
  157. package/scenarios/apg/disclosure.ariakit.json +163 -0
  158. package/scenarios/apg/disclosure.base-ui.json +451 -0
  159. package/scenarios/apg/disclosure.react-aria.json +643 -0
  160. package/scenarios/apg/feed.apg.json +442 -0
  161. package/scenarios/apg/grid.ariakit.json +197 -0
  162. package/scenarios/apg/grid.base-ui.json +720 -0
  163. package/scenarios/apg/grid.react-aria.json +969 -0
  164. package/scenarios/apg/landmarks.ariakit.json +93 -0
  165. package/scenarios/apg/landmarks.react-aria.json +330 -0
  166. package/scenarios/apg/link.ariakit.json +83 -0
  167. package/scenarios/apg/link.base-ui.json +88 -0
  168. package/scenarios/apg/link.react-aria.json +186 -0
  169. package/scenarios/apg/listbox.ariakit.json +78 -0
  170. package/scenarios/apg/listbox.base-ui.json +163 -0
  171. package/scenarios/apg/listbox.react-aria.json +1118 -0
  172. package/scenarios/apg/menu-button.ariakit.json +924 -0
  173. package/scenarios/apg/menu-button.base-ui.json +1155 -0
  174. package/scenarios/apg/menu-button.react-aria.json +1080 -0
  175. package/scenarios/apg/menubar.ariakit.json +758 -0
  176. package/scenarios/apg/menubar.base-ui.json +673 -0
  177. package/scenarios/apg/meter.base-ui.json +243 -0
  178. package/scenarios/apg/meter.react-aria.json +201 -0
  179. package/scenarios/apg/radio.ariakit.json +459 -0
  180. package/scenarios/apg/radio.base-ui.json +581 -0
  181. package/scenarios/apg/radio.react-aria.json +576 -0
  182. package/scenarios/apg/slider-multithumb.base-ui.json +316 -0
  183. package/scenarios/apg/slider-multithumb.react-aria.json +363 -0
  184. package/scenarios/apg/slider.base-ui.json +544 -0
  185. package/scenarios/apg/slider.react-aria.json +456 -0
  186. package/scenarios/apg/spinbutton.base-ui.json +1688 -0
  187. package/scenarios/apg/spinbutton.react-aria.json +426 -0
  188. package/scenarios/apg/switch.base-ui.json +456 -0
  189. package/scenarios/apg/switch.react-aria.json +303 -0
  190. package/scenarios/apg/table.ariakit.json +65 -0
  191. package/scenarios/apg/table.react-aria.json +221 -0
  192. package/scenarios/apg/tabs.ariakit.json +329 -0
  193. package/scenarios/apg/tabs.base-ui.json +875 -0
  194. package/scenarios/apg/tabs.react-aria.json +644 -0
  195. package/scenarios/apg/toolbar.ariakit.json +595 -0
  196. package/scenarios/apg/toolbar.base-ui.json +1189 -0
  197. package/scenarios/apg/toolbar.react-aria.json +383 -0
  198. package/scenarios/apg/tooltip.ariakit.json +441 -0
  199. package/scenarios/apg/tooltip.base-ui.json +411 -0
  200. package/scenarios/apg/tooltip.react-aria.json +454 -0
  201. package/scenarios/apg/treegrid.apg.json +2558 -0
  202. package/scenarios/apg/treegrid.react-aria.json +5094 -0
  203. package/scenarios/apg/treeview.apg.json +928 -0
  204. package/scenarios/apg/windowsplitter.apg.json +557 -0
  205. package/scenarios/canvas/README.md +69 -0
  206. package/scenarios/canvas/camera.contract.json +237 -0
  207. package/scenarios/canvas/camera.excalidraw.json +57 -0
  208. package/scenarios/canvas/marquee.excalidraw.json +122 -0
  209. package/scenarios/canvas/pan.excalidraw.json +46 -0
  210. package/scenarios/canvas/pointer.contract.json +528 -0
  211. package/scenarios/parts.json +291 -0
  212. package/shared/aria.qnt +186 -0
  213. package/shared/details-group.qnt +50 -0
  214. package/shared/focusgroup.qnt +152 -0
  215. package/shared/invokers.qnt +81 -0
  216. package/shared/popover.qnt +71 -0
  217. package/specs/apg/STATIC.md +103 -0
  218. package/specs/apg/accordion.qnt +578 -0
  219. package/specs/apg/alert.qnt +131 -0
  220. package/specs/apg/alertdialog.qnt +455 -0
  221. package/specs/apg/breadcrumb.qnt +88 -0
  222. package/specs/apg/button.qnt +445 -0
  223. package/specs/apg/carousel.qnt +732 -0
  224. package/specs/apg/checkbox-group.qnt +388 -0
  225. package/specs/apg/checkbox.qnt +394 -0
  226. package/specs/apg/combobox-autocomplete.qnt +764 -0
  227. package/specs/apg/combobox-dialog.qnt +627 -0
  228. package/specs/apg/combobox-grid.qnt +632 -0
  229. package/specs/apg/combobox-select-only.qnt +626 -0
  230. package/specs/apg/combobox-tree.qnt +633 -0
  231. package/specs/apg/dialog-modal.qnt +499 -0
  232. package/specs/apg/disclosure.qnt +309 -0
  233. package/specs/apg/feed.qnt +485 -0
  234. package/specs/apg/grid-selection.qnt +512 -0
  235. package/specs/apg/grid-sort.qnt +330 -0
  236. package/specs/apg/grid.qnt +360 -0
  237. package/specs/apg/link.qnt +119 -0
  238. package/specs/apg/listbox-multi.qnt +799 -0
  239. package/specs/apg/listbox-rearrangeable.qnt +801 -0
  240. package/specs/apg/listbox-single.qnt +511 -0
  241. package/specs/apg/listbox-typeahead.qnt +396 -0
  242. package/specs/apg/menu-button.qnt +363 -0
  243. package/specs/apg/menu-checkable.qnt +304 -0
  244. package/specs/apg/menu-menubar.qnt +531 -0
  245. package/specs/apg/meter.qnt +129 -0
  246. package/specs/apg/player.qnt +1081 -0
  247. package/specs/apg/radio.qnt +394 -0
  248. package/specs/apg/slider-multithumb.qnt +441 -0
  249. package/specs/apg/slider.qnt +396 -0
  250. package/specs/apg/spinbutton.qnt +494 -0
  251. package/specs/apg/switch.qnt +389 -0
  252. package/specs/apg/tabs.qnt +412 -0
  253. package/specs/apg/timeline.qnt +612 -0
  254. package/specs/apg/toolbar.qnt +364 -0
  255. package/specs/apg/tooltip.qnt +553 -0
  256. package/specs/apg/treegrid.qnt +983 -0
  257. package/specs/apg/treeview.qnt +1004 -0
  258. package/specs/apg/windowsplitter.qnt +487 -0
  259. package/specs/canvas/camera.qnt +407 -0
  260. package/specs/canvas/pointer.qnt +841 -0
@@ -0,0 +1,5011 @@
1
+ {
2
+ "generatedFrom": "../../specs/apg/radio.qnt",
3
+ "specHash": "90673b761dfafefb63af681d1db9668c21e7a0a2bf339228cd72b4c21d70d156",
4
+ "module": "apg_radio",
5
+ "vars": [
6
+ {
7
+ "name": "flavor",
8
+ "type": "str"
9
+ },
10
+ {
11
+ "name": "mask",
12
+ "type": "int"
13
+ },
14
+ {
15
+ "name": "checked",
16
+ "type": "int"
17
+ },
18
+ {
19
+ "name": "focus",
20
+ "type": "int"
21
+ },
22
+ {
23
+ "name": "controlled",
24
+ "type": "bool"
25
+ },
26
+ {
27
+ "name": "accepting",
28
+ "type": "bool"
29
+ },
30
+ {
31
+ "name": "valueProp",
32
+ "type": "int"
33
+ },
34
+ {
35
+ "name": "requested",
36
+ "type": "int"
37
+ },
38
+ {
39
+ "name": "requests",
40
+ "type": "int"
41
+ },
42
+ {
43
+ "name": "outcome",
44
+ "type": "str"
45
+ },
46
+ {
47
+ "name": "base",
48
+ "type": "int"
49
+ }
50
+ ],
51
+ "defs": {
52
+ "weight": {
53
+ "kind": "function",
54
+ "params": [
55
+ "i"
56
+ ],
57
+ "body": {
58
+ "kind": "app",
59
+ "opcode": "ite",
60
+ "args": [
61
+ {
62
+ "kind": "app",
63
+ "opcode": "eq",
64
+ "args": [
65
+ {
66
+ "kind": "name",
67
+ "name": "i"
68
+ },
69
+ {
70
+ "kind": "int",
71
+ "value": "0"
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "kind": "int",
77
+ "value": "1"
78
+ },
79
+ {
80
+ "kind": "app",
81
+ "opcode": "ite",
82
+ "args": [
83
+ {
84
+ "kind": "app",
85
+ "opcode": "eq",
86
+ "args": [
87
+ {
88
+ "kind": "name",
89
+ "name": "i"
90
+ },
91
+ {
92
+ "kind": "int",
93
+ "value": "1"
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "kind": "int",
99
+ "value": "2"
100
+ },
101
+ {
102
+ "kind": "app",
103
+ "opcode": "ite",
104
+ "args": [
105
+ {
106
+ "kind": "app",
107
+ "opcode": "eq",
108
+ "args": [
109
+ {
110
+ "kind": "name",
111
+ "name": "i"
112
+ },
113
+ {
114
+ "kind": "int",
115
+ "value": "2"
116
+ }
117
+ ]
118
+ },
119
+ {
120
+ "kind": "int",
121
+ "value": "4"
122
+ },
123
+ {
124
+ "kind": "int",
125
+ "value": "8"
126
+ }
127
+ ]
128
+ }
129
+ ]
130
+ }
131
+ ]
132
+ }
133
+ },
134
+ "disabled": {
135
+ "kind": "function",
136
+ "params": [
137
+ "m",
138
+ "i"
139
+ ],
140
+ "body": {
141
+ "kind": "app",
142
+ "opcode": "eq",
143
+ "args": [
144
+ {
145
+ "kind": "app",
146
+ "opcode": "imod",
147
+ "args": [
148
+ {
149
+ "kind": "app",
150
+ "opcode": "idiv",
151
+ "args": [
152
+ {
153
+ "kind": "name",
154
+ "name": "m"
155
+ },
156
+ {
157
+ "kind": "app",
158
+ "opcode": "weight",
159
+ "args": [
160
+ {
161
+ "kind": "name",
162
+ "name": "i"
163
+ }
164
+ ]
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "kind": "int",
170
+ "value": "2"
171
+ }
172
+ ]
173
+ },
174
+ {
175
+ "kind": "int",
176
+ "value": "1"
177
+ }
178
+ ]
179
+ }
180
+ },
181
+ "isEnabled": {
182
+ "kind": "function",
183
+ "params": [
184
+ "m",
185
+ "i"
186
+ ],
187
+ "body": {
188
+ "kind": "app",
189
+ "opcode": "not",
190
+ "args": [
191
+ {
192
+ "kind": "app",
193
+ "opcode": "disabled",
194
+ "args": [
195
+ {
196
+ "kind": "name",
197
+ "name": "m"
198
+ },
199
+ {
200
+ "kind": "name",
201
+ "name": "i"
202
+ }
203
+ ]
204
+ }
205
+ ]
206
+ }
207
+ },
208
+ "b2i": {
209
+ "kind": "function",
210
+ "params": [
211
+ "b"
212
+ ],
213
+ "body": {
214
+ "kind": "app",
215
+ "opcode": "ite",
216
+ "args": [
217
+ {
218
+ "kind": "name",
219
+ "name": "b"
220
+ },
221
+ {
222
+ "kind": "int",
223
+ "value": "1"
224
+ },
225
+ {
226
+ "kind": "int",
227
+ "value": "0"
228
+ }
229
+ ]
230
+ }
231
+ },
232
+ "firstEnabled": {
233
+ "kind": "function",
234
+ "params": [
235
+ "m"
236
+ ],
237
+ "body": {
238
+ "kind": "app",
239
+ "opcode": "ite",
240
+ "args": [
241
+ {
242
+ "kind": "app",
243
+ "opcode": "isEnabled",
244
+ "args": [
245
+ {
246
+ "kind": "name",
247
+ "name": "m"
248
+ },
249
+ {
250
+ "kind": "int",
251
+ "value": "0"
252
+ }
253
+ ]
254
+ },
255
+ {
256
+ "kind": "int",
257
+ "value": "0"
258
+ },
259
+ {
260
+ "kind": "app",
261
+ "opcode": "ite",
262
+ "args": [
263
+ {
264
+ "kind": "app",
265
+ "opcode": "isEnabled",
266
+ "args": [
267
+ {
268
+ "kind": "name",
269
+ "name": "m"
270
+ },
271
+ {
272
+ "kind": "int",
273
+ "value": "1"
274
+ }
275
+ ]
276
+ },
277
+ {
278
+ "kind": "int",
279
+ "value": "1"
280
+ },
281
+ {
282
+ "kind": "app",
283
+ "opcode": "ite",
284
+ "args": [
285
+ {
286
+ "kind": "app",
287
+ "opcode": "isEnabled",
288
+ "args": [
289
+ {
290
+ "kind": "name",
291
+ "name": "m"
292
+ },
293
+ {
294
+ "kind": "int",
295
+ "value": "2"
296
+ }
297
+ ]
298
+ },
299
+ {
300
+ "kind": "int",
301
+ "value": "2"
302
+ },
303
+ {
304
+ "kind": "int",
305
+ "value": "3"
306
+ }
307
+ ]
308
+ }
309
+ ]
310
+ }
311
+ ]
312
+ }
313
+ },
314
+ "nextEnabled": {
315
+ "kind": "function",
316
+ "params": [
317
+ "m",
318
+ "i"
319
+ ],
320
+ "body": {
321
+ "kind": "app",
322
+ "opcode": "ite",
323
+ "args": [
324
+ {
325
+ "kind": "app",
326
+ "opcode": "isEnabled",
327
+ "args": [
328
+ {
329
+ "kind": "name",
330
+ "name": "m"
331
+ },
332
+ {
333
+ "kind": "app",
334
+ "opcode": "imod",
335
+ "args": [
336
+ {
337
+ "kind": "app",
338
+ "opcode": "iadd",
339
+ "args": [
340
+ {
341
+ "kind": "name",
342
+ "name": "i"
343
+ },
344
+ {
345
+ "kind": "int",
346
+ "value": "1"
347
+ }
348
+ ]
349
+ },
350
+ {
351
+ "kind": "int",
352
+ "value": "4"
353
+ }
354
+ ]
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "kind": "app",
360
+ "opcode": "imod",
361
+ "args": [
362
+ {
363
+ "kind": "app",
364
+ "opcode": "iadd",
365
+ "args": [
366
+ {
367
+ "kind": "name",
368
+ "name": "i"
369
+ },
370
+ {
371
+ "kind": "int",
372
+ "value": "1"
373
+ }
374
+ ]
375
+ },
376
+ {
377
+ "kind": "int",
378
+ "value": "4"
379
+ }
380
+ ]
381
+ },
382
+ {
383
+ "kind": "app",
384
+ "opcode": "ite",
385
+ "args": [
386
+ {
387
+ "kind": "app",
388
+ "opcode": "isEnabled",
389
+ "args": [
390
+ {
391
+ "kind": "name",
392
+ "name": "m"
393
+ },
394
+ {
395
+ "kind": "app",
396
+ "opcode": "imod",
397
+ "args": [
398
+ {
399
+ "kind": "app",
400
+ "opcode": "iadd",
401
+ "args": [
402
+ {
403
+ "kind": "name",
404
+ "name": "i"
405
+ },
406
+ {
407
+ "kind": "int",
408
+ "value": "2"
409
+ }
410
+ ]
411
+ },
412
+ {
413
+ "kind": "int",
414
+ "value": "4"
415
+ }
416
+ ]
417
+ }
418
+ ]
419
+ },
420
+ {
421
+ "kind": "app",
422
+ "opcode": "imod",
423
+ "args": [
424
+ {
425
+ "kind": "app",
426
+ "opcode": "iadd",
427
+ "args": [
428
+ {
429
+ "kind": "name",
430
+ "name": "i"
431
+ },
432
+ {
433
+ "kind": "int",
434
+ "value": "2"
435
+ }
436
+ ]
437
+ },
438
+ {
439
+ "kind": "int",
440
+ "value": "4"
441
+ }
442
+ ]
443
+ },
444
+ {
445
+ "kind": "app",
446
+ "opcode": "ite",
447
+ "args": [
448
+ {
449
+ "kind": "app",
450
+ "opcode": "isEnabled",
451
+ "args": [
452
+ {
453
+ "kind": "name",
454
+ "name": "m"
455
+ },
456
+ {
457
+ "kind": "app",
458
+ "opcode": "imod",
459
+ "args": [
460
+ {
461
+ "kind": "app",
462
+ "opcode": "iadd",
463
+ "args": [
464
+ {
465
+ "kind": "name",
466
+ "name": "i"
467
+ },
468
+ {
469
+ "kind": "int",
470
+ "value": "3"
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ "kind": "int",
476
+ "value": "4"
477
+ }
478
+ ]
479
+ }
480
+ ]
481
+ },
482
+ {
483
+ "kind": "app",
484
+ "opcode": "imod",
485
+ "args": [
486
+ {
487
+ "kind": "app",
488
+ "opcode": "iadd",
489
+ "args": [
490
+ {
491
+ "kind": "name",
492
+ "name": "i"
493
+ },
494
+ {
495
+ "kind": "int",
496
+ "value": "3"
497
+ }
498
+ ]
499
+ },
500
+ {
501
+ "kind": "int",
502
+ "value": "4"
503
+ }
504
+ ]
505
+ },
506
+ {
507
+ "kind": "name",
508
+ "name": "i"
509
+ }
510
+ ]
511
+ }
512
+ ]
513
+ }
514
+ ]
515
+ }
516
+ },
517
+ "prevEnabled": {
518
+ "kind": "function",
519
+ "params": [
520
+ "m",
521
+ "i"
522
+ ],
523
+ "body": {
524
+ "kind": "app",
525
+ "opcode": "ite",
526
+ "args": [
527
+ {
528
+ "kind": "app",
529
+ "opcode": "isEnabled",
530
+ "args": [
531
+ {
532
+ "kind": "name",
533
+ "name": "m"
534
+ },
535
+ {
536
+ "kind": "app",
537
+ "opcode": "imod",
538
+ "args": [
539
+ {
540
+ "kind": "app",
541
+ "opcode": "iadd",
542
+ "args": [
543
+ {
544
+ "kind": "name",
545
+ "name": "i"
546
+ },
547
+ {
548
+ "kind": "int",
549
+ "value": "3"
550
+ }
551
+ ]
552
+ },
553
+ {
554
+ "kind": "int",
555
+ "value": "4"
556
+ }
557
+ ]
558
+ }
559
+ ]
560
+ },
561
+ {
562
+ "kind": "app",
563
+ "opcode": "imod",
564
+ "args": [
565
+ {
566
+ "kind": "app",
567
+ "opcode": "iadd",
568
+ "args": [
569
+ {
570
+ "kind": "name",
571
+ "name": "i"
572
+ },
573
+ {
574
+ "kind": "int",
575
+ "value": "3"
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "kind": "int",
581
+ "value": "4"
582
+ }
583
+ ]
584
+ },
585
+ {
586
+ "kind": "app",
587
+ "opcode": "ite",
588
+ "args": [
589
+ {
590
+ "kind": "app",
591
+ "opcode": "isEnabled",
592
+ "args": [
593
+ {
594
+ "kind": "name",
595
+ "name": "m"
596
+ },
597
+ {
598
+ "kind": "app",
599
+ "opcode": "imod",
600
+ "args": [
601
+ {
602
+ "kind": "app",
603
+ "opcode": "iadd",
604
+ "args": [
605
+ {
606
+ "kind": "name",
607
+ "name": "i"
608
+ },
609
+ {
610
+ "kind": "int",
611
+ "value": "2"
612
+ }
613
+ ]
614
+ },
615
+ {
616
+ "kind": "int",
617
+ "value": "4"
618
+ }
619
+ ]
620
+ }
621
+ ]
622
+ },
623
+ {
624
+ "kind": "app",
625
+ "opcode": "imod",
626
+ "args": [
627
+ {
628
+ "kind": "app",
629
+ "opcode": "iadd",
630
+ "args": [
631
+ {
632
+ "kind": "name",
633
+ "name": "i"
634
+ },
635
+ {
636
+ "kind": "int",
637
+ "value": "2"
638
+ }
639
+ ]
640
+ },
641
+ {
642
+ "kind": "int",
643
+ "value": "4"
644
+ }
645
+ ]
646
+ },
647
+ {
648
+ "kind": "app",
649
+ "opcode": "ite",
650
+ "args": [
651
+ {
652
+ "kind": "app",
653
+ "opcode": "isEnabled",
654
+ "args": [
655
+ {
656
+ "kind": "name",
657
+ "name": "m"
658
+ },
659
+ {
660
+ "kind": "app",
661
+ "opcode": "imod",
662
+ "args": [
663
+ {
664
+ "kind": "app",
665
+ "opcode": "iadd",
666
+ "args": [
667
+ {
668
+ "kind": "name",
669
+ "name": "i"
670
+ },
671
+ {
672
+ "kind": "int",
673
+ "value": "1"
674
+ }
675
+ ]
676
+ },
677
+ {
678
+ "kind": "int",
679
+ "value": "4"
680
+ }
681
+ ]
682
+ }
683
+ ]
684
+ },
685
+ {
686
+ "kind": "app",
687
+ "opcode": "imod",
688
+ "args": [
689
+ {
690
+ "kind": "app",
691
+ "opcode": "iadd",
692
+ "args": [
693
+ {
694
+ "kind": "name",
695
+ "name": "i"
696
+ },
697
+ {
698
+ "kind": "int",
699
+ "value": "1"
700
+ }
701
+ ]
702
+ },
703
+ {
704
+ "kind": "int",
705
+ "value": "4"
706
+ }
707
+ ]
708
+ },
709
+ {
710
+ "kind": "name",
711
+ "name": "i"
712
+ }
713
+ ]
714
+ }
715
+ ]
716
+ }
717
+ ]
718
+ }
719
+ },
720
+ "moved": {
721
+ "kind": "function",
722
+ "params": [
723
+ "before",
724
+ "after"
725
+ ],
726
+ "body": {
727
+ "kind": "app",
728
+ "opcode": "ite",
729
+ "args": [
730
+ {
731
+ "kind": "app",
732
+ "opcode": "eq",
733
+ "args": [
734
+ {
735
+ "kind": "name",
736
+ "name": "before"
737
+ },
738
+ {
739
+ "kind": "name",
740
+ "name": "after"
741
+ }
742
+ ]
743
+ },
744
+ {
745
+ "kind": "int",
746
+ "value": "0"
747
+ },
748
+ {
749
+ "kind": "int",
750
+ "value": "1"
751
+ }
752
+ ]
753
+ }
754
+ },
755
+ "nextWant": {
756
+ "kind": "function",
757
+ "params": [
758
+ "m",
759
+ "c",
760
+ "f"
761
+ ],
762
+ "body": {
763
+ "kind": "app",
764
+ "opcode": "ite",
765
+ "args": [
766
+ {
767
+ "kind": "app",
768
+ "opcode": "igte",
769
+ "args": [
770
+ {
771
+ "kind": "name",
772
+ "name": "f"
773
+ },
774
+ {
775
+ "kind": "int",
776
+ "value": "0"
777
+ }
778
+ ]
779
+ },
780
+ {
781
+ "kind": "app",
782
+ "opcode": "nextEnabled",
783
+ "args": [
784
+ {
785
+ "kind": "name",
786
+ "name": "m"
787
+ },
788
+ {
789
+ "kind": "name",
790
+ "name": "f"
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "kind": "name",
796
+ "name": "c"
797
+ }
798
+ ]
799
+ }
800
+ },
801
+ "prevWant": {
802
+ "kind": "function",
803
+ "params": [
804
+ "m",
805
+ "c",
806
+ "f"
807
+ ],
808
+ "body": {
809
+ "kind": "app",
810
+ "opcode": "ite",
811
+ "args": [
812
+ {
813
+ "kind": "app",
814
+ "opcode": "igte",
815
+ "args": [
816
+ {
817
+ "kind": "name",
818
+ "name": "f"
819
+ },
820
+ {
821
+ "kind": "int",
822
+ "value": "0"
823
+ }
824
+ ]
825
+ },
826
+ {
827
+ "kind": "app",
828
+ "opcode": "prevEnabled",
829
+ "args": [
830
+ {
831
+ "kind": "name",
832
+ "name": "m"
833
+ },
834
+ {
835
+ "kind": "name",
836
+ "name": "f"
837
+ }
838
+ ]
839
+ },
840
+ {
841
+ "kind": "name",
842
+ "name": "c"
843
+ }
844
+ ]
845
+ }
846
+ },
847
+ "spaceWant": {
848
+ "kind": "function",
849
+ "params": [
850
+ "c",
851
+ "f"
852
+ ],
853
+ "body": {
854
+ "kind": "app",
855
+ "opcode": "ite",
856
+ "args": [
857
+ {
858
+ "kind": "app",
859
+ "opcode": "igte",
860
+ "args": [
861
+ {
862
+ "kind": "name",
863
+ "name": "f"
864
+ },
865
+ {
866
+ "kind": "int",
867
+ "value": "0"
868
+ }
869
+ ]
870
+ },
871
+ {
872
+ "kind": "name",
873
+ "name": "f"
874
+ },
875
+ {
876
+ "kind": "name",
877
+ "name": "c"
878
+ }
879
+ ]
880
+ }
881
+ },
882
+ "clickWant": {
883
+ "kind": "function",
884
+ "params": [
885
+ "t",
886
+ "m",
887
+ "c"
888
+ ],
889
+ "body": {
890
+ "kind": "app",
891
+ "opcode": "ite",
892
+ "args": [
893
+ {
894
+ "kind": "app",
895
+ "opcode": "isEnabled",
896
+ "args": [
897
+ {
898
+ "kind": "name",
899
+ "name": "m"
900
+ },
901
+ {
902
+ "kind": "name",
903
+ "name": "t"
904
+ }
905
+ ]
906
+ },
907
+ {
908
+ "kind": "name",
909
+ "name": "t"
910
+ },
911
+ {
912
+ "kind": "name",
913
+ "name": "c"
914
+ }
915
+ ]
916
+ }
917
+ },
918
+ "validPick": {
919
+ "kind": "function",
920
+ "params": [
921
+ "v",
922
+ "m"
923
+ ],
924
+ "body": {
925
+ "kind": "app",
926
+ "opcode": "or",
927
+ "args": [
928
+ {
929
+ "kind": "app",
930
+ "opcode": "ilt",
931
+ "args": [
932
+ {
933
+ "kind": "name",
934
+ "name": "v"
935
+ },
936
+ {
937
+ "kind": "int",
938
+ "value": "0"
939
+ }
940
+ ]
941
+ },
942
+ {
943
+ "kind": "app",
944
+ "opcode": "isEnabled",
945
+ "args": [
946
+ {
947
+ "kind": "name",
948
+ "name": "m"
949
+ },
950
+ {
951
+ "kind": "name",
952
+ "name": "v"
953
+ }
954
+ ]
955
+ }
956
+ ]
957
+ }
958
+ },
959
+ "holds": {
960
+ "kind": "function",
961
+ "params": [],
962
+ "body": {
963
+ "kind": "app",
964
+ "opcode": "and",
965
+ "args": [
966
+ {
967
+ "kind": "name",
968
+ "name": "controlled"
969
+ },
970
+ {
971
+ "kind": "app",
972
+ "opcode": "not",
973
+ "args": [
974
+ {
975
+ "kind": "name",
976
+ "name": "accepting"
977
+ }
978
+ ]
979
+ }
980
+ ]
981
+ }
982
+ },
983
+ "follows": {
984
+ "kind": "function",
985
+ "params": [],
986
+ "body": {
987
+ "kind": "app",
988
+ "opcode": "and",
989
+ "args": [
990
+ {
991
+ "kind": "name",
992
+ "name": "controlled"
993
+ },
994
+ {
995
+ "kind": "name",
996
+ "name": "accepting"
997
+ }
998
+ ]
999
+ }
1000
+ },
1001
+ "verdict": {
1002
+ "kind": "function",
1003
+ "params": [],
1004
+ "body": {
1005
+ "kind": "app",
1006
+ "opcode": "ite",
1007
+ "args": [
1008
+ {
1009
+ "kind": "name",
1010
+ "name": "holds"
1011
+ },
1012
+ {
1013
+ "kind": "str",
1014
+ "value": "rejected"
1015
+ },
1016
+ {
1017
+ "kind": "str",
1018
+ "value": "accepted"
1019
+ }
1020
+ ]
1021
+ }
1022
+ },
1023
+ "landed": {
1024
+ "kind": "function",
1025
+ "params": [
1026
+ "h",
1027
+ "current",
1028
+ "want"
1029
+ ],
1030
+ "body": {
1031
+ "kind": "app",
1032
+ "opcode": "ite",
1033
+ "args": [
1034
+ {
1035
+ "kind": "name",
1036
+ "name": "h"
1037
+ },
1038
+ {
1039
+ "kind": "name",
1040
+ "name": "current"
1041
+ },
1042
+ {
1043
+ "kind": "name",
1044
+ "name": "want"
1045
+ }
1046
+ ]
1047
+ }
1048
+ },
1049
+ "propAfter": {
1050
+ "kind": "function",
1051
+ "params": [
1052
+ "f",
1053
+ "p",
1054
+ "want"
1055
+ ],
1056
+ "body": {
1057
+ "kind": "app",
1058
+ "opcode": "ite",
1059
+ "args": [
1060
+ {
1061
+ "kind": "name",
1062
+ "name": "f"
1063
+ },
1064
+ {
1065
+ "kind": "name",
1066
+ "name": "want"
1067
+ },
1068
+ {
1069
+ "kind": "name",
1070
+ "name": "p"
1071
+ }
1072
+ ]
1073
+ }
1074
+ },
1075
+ "tabStop": {
1076
+ "kind": "function",
1077
+ "params": [
1078
+ "m",
1079
+ "c"
1080
+ ],
1081
+ "body": {
1082
+ "kind": "app",
1083
+ "opcode": "ite",
1084
+ "args": [
1085
+ {
1086
+ "kind": "app",
1087
+ "opcode": "igte",
1088
+ "args": [
1089
+ {
1090
+ "kind": "name",
1091
+ "name": "c"
1092
+ },
1093
+ {
1094
+ "kind": "int",
1095
+ "value": "0"
1096
+ }
1097
+ ]
1098
+ },
1099
+ {
1100
+ "kind": "name",
1101
+ "name": "c"
1102
+ },
1103
+ {
1104
+ "kind": "app",
1105
+ "opcode": "firstEnabled",
1106
+ "args": [
1107
+ {
1108
+ "kind": "name",
1109
+ "name": "m"
1110
+ }
1111
+ ]
1112
+ }
1113
+ ]
1114
+ }
1115
+ },
1116
+ "ariaChecked": {
1117
+ "kind": "function",
1118
+ "params": [
1119
+ "c",
1120
+ "i"
1121
+ ],
1122
+ "body": {
1123
+ "kind": "app",
1124
+ "opcode": "eq",
1125
+ "args": [
1126
+ {
1127
+ "kind": "name",
1128
+ "name": "c"
1129
+ },
1130
+ {
1131
+ "kind": "name",
1132
+ "name": "i"
1133
+ }
1134
+ ]
1135
+ }
1136
+ },
1137
+ "ariaDisabled": {
1138
+ "kind": "function",
1139
+ "params": [
1140
+ "m",
1141
+ "i"
1142
+ ],
1143
+ "body": {
1144
+ "kind": "app",
1145
+ "opcode": "disabled",
1146
+ "args": [
1147
+ {
1148
+ "kind": "name",
1149
+ "name": "m"
1150
+ },
1151
+ {
1152
+ "kind": "name",
1153
+ "name": "i"
1154
+ }
1155
+ ]
1156
+ }
1157
+ },
1158
+ "radioTabindex": {
1159
+ "kind": "function",
1160
+ "params": [
1161
+ "v",
1162
+ "m",
1163
+ "c",
1164
+ "i"
1165
+ ],
1166
+ "body": {
1167
+ "kind": "app",
1168
+ "opcode": "ite",
1169
+ "args": [
1170
+ {
1171
+ "kind": "app",
1172
+ "opcode": "eq",
1173
+ "args": [
1174
+ {
1175
+ "kind": "name",
1176
+ "name": "v"
1177
+ },
1178
+ {
1179
+ "kind": "str",
1180
+ "value": "roving"
1181
+ }
1182
+ ]
1183
+ },
1184
+ {
1185
+ "kind": "app",
1186
+ "opcode": "ite",
1187
+ "args": [
1188
+ {
1189
+ "kind": "app",
1190
+ "opcode": "eq",
1191
+ "args": [
1192
+ {
1193
+ "kind": "name",
1194
+ "name": "i"
1195
+ },
1196
+ {
1197
+ "kind": "app",
1198
+ "opcode": "tabStop",
1199
+ "args": [
1200
+ {
1201
+ "kind": "name",
1202
+ "name": "m"
1203
+ },
1204
+ {
1205
+ "kind": "name",
1206
+ "name": "c"
1207
+ }
1208
+ ]
1209
+ }
1210
+ ]
1211
+ },
1212
+ {
1213
+ "kind": "int",
1214
+ "value": "0"
1215
+ },
1216
+ {
1217
+ "kind": "app",
1218
+ "opcode": "iuminus",
1219
+ "args": [
1220
+ {
1221
+ "kind": "int",
1222
+ "value": "1"
1223
+ }
1224
+ ]
1225
+ }
1226
+ ]
1227
+ },
1228
+ {
1229
+ "kind": "app",
1230
+ "opcode": "iuminus",
1231
+ "args": [
1232
+ {
1233
+ "kind": "int",
1234
+ "value": "2"
1235
+ }
1236
+ ]
1237
+ }
1238
+ ]
1239
+ }
1240
+ },
1241
+ "groupTabindex": {
1242
+ "kind": "function",
1243
+ "params": [
1244
+ "v"
1245
+ ],
1246
+ "body": {
1247
+ "kind": "app",
1248
+ "opcode": "ite",
1249
+ "args": [
1250
+ {
1251
+ "kind": "app",
1252
+ "opcode": "eq",
1253
+ "args": [
1254
+ {
1255
+ "kind": "name",
1256
+ "name": "v"
1257
+ },
1258
+ {
1259
+ "kind": "str",
1260
+ "value": "activedescendant"
1261
+ }
1262
+ ]
1263
+ },
1264
+ {
1265
+ "kind": "int",
1266
+ "value": "0"
1267
+ },
1268
+ {
1269
+ "kind": "app",
1270
+ "opcode": "iuminus",
1271
+ "args": [
1272
+ {
1273
+ "kind": "int",
1274
+ "value": "2"
1275
+ }
1276
+ ]
1277
+ }
1278
+ ]
1279
+ }
1280
+ },
1281
+ "activeDescendant": {
1282
+ "kind": "function",
1283
+ "params": [
1284
+ "v",
1285
+ "f"
1286
+ ],
1287
+ "body": {
1288
+ "kind": "app",
1289
+ "opcode": "ite",
1290
+ "args": [
1291
+ {
1292
+ "kind": "app",
1293
+ "opcode": "eq",
1294
+ "args": [
1295
+ {
1296
+ "kind": "name",
1297
+ "name": "v"
1298
+ },
1299
+ {
1300
+ "kind": "str",
1301
+ "value": "activedescendant"
1302
+ }
1303
+ ]
1304
+ },
1305
+ {
1306
+ "kind": "name",
1307
+ "name": "f"
1308
+ },
1309
+ {
1310
+ "kind": "app",
1311
+ "opcode": "iuminus",
1312
+ "args": [
1313
+ {
1314
+ "kind": "int",
1315
+ "value": "1"
1316
+ }
1317
+ ]
1318
+ }
1319
+ ]
1320
+ }
1321
+ },
1322
+ "domFocus": {
1323
+ "kind": "function",
1324
+ "params": [
1325
+ "v",
1326
+ "f"
1327
+ ],
1328
+ "body": {
1329
+ "kind": "app",
1330
+ "opcode": "ite",
1331
+ "args": [
1332
+ {
1333
+ "kind": "app",
1334
+ "opcode": "ilt",
1335
+ "args": [
1336
+ {
1337
+ "kind": "name",
1338
+ "name": "f"
1339
+ },
1340
+ {
1341
+ "kind": "int",
1342
+ "value": "0"
1343
+ }
1344
+ ]
1345
+ },
1346
+ {
1347
+ "kind": "app",
1348
+ "opcode": "iuminus",
1349
+ "args": [
1350
+ {
1351
+ "kind": "int",
1352
+ "value": "1"
1353
+ }
1354
+ ]
1355
+ },
1356
+ {
1357
+ "kind": "app",
1358
+ "opcode": "ite",
1359
+ "args": [
1360
+ {
1361
+ "kind": "app",
1362
+ "opcode": "eq",
1363
+ "args": [
1364
+ {
1365
+ "kind": "name",
1366
+ "name": "v"
1367
+ },
1368
+ {
1369
+ "kind": "str",
1370
+ "value": "roving"
1371
+ }
1372
+ ]
1373
+ },
1374
+ {
1375
+ "kind": "name",
1376
+ "name": "f"
1377
+ },
1378
+ {
1379
+ "kind": "int",
1380
+ "value": "4"
1381
+ }
1382
+ ]
1383
+ }
1384
+ ]
1385
+ }
1386
+ },
1387
+ "checkedCount": {
1388
+ "kind": "function",
1389
+ "params": [
1390
+ "c"
1391
+ ],
1392
+ "body": {
1393
+ "kind": "app",
1394
+ "opcode": "iadd",
1395
+ "args": [
1396
+ {
1397
+ "kind": "app",
1398
+ "opcode": "iadd",
1399
+ "args": [
1400
+ {
1401
+ "kind": "app",
1402
+ "opcode": "iadd",
1403
+ "args": [
1404
+ {
1405
+ "kind": "app",
1406
+ "opcode": "b2i",
1407
+ "args": [
1408
+ {
1409
+ "kind": "app",
1410
+ "opcode": "ariaChecked",
1411
+ "args": [
1412
+ {
1413
+ "kind": "name",
1414
+ "name": "c"
1415
+ },
1416
+ {
1417
+ "kind": "int",
1418
+ "value": "0"
1419
+ }
1420
+ ]
1421
+ }
1422
+ ]
1423
+ },
1424
+ {
1425
+ "kind": "app",
1426
+ "opcode": "b2i",
1427
+ "args": [
1428
+ {
1429
+ "kind": "app",
1430
+ "opcode": "ariaChecked",
1431
+ "args": [
1432
+ {
1433
+ "kind": "name",
1434
+ "name": "c"
1435
+ },
1436
+ {
1437
+ "kind": "int",
1438
+ "value": "1"
1439
+ }
1440
+ ]
1441
+ }
1442
+ ]
1443
+ }
1444
+ ]
1445
+ },
1446
+ {
1447
+ "kind": "app",
1448
+ "opcode": "b2i",
1449
+ "args": [
1450
+ {
1451
+ "kind": "app",
1452
+ "opcode": "ariaChecked",
1453
+ "args": [
1454
+ {
1455
+ "kind": "name",
1456
+ "name": "c"
1457
+ },
1458
+ {
1459
+ "kind": "int",
1460
+ "value": "2"
1461
+ }
1462
+ ]
1463
+ }
1464
+ ]
1465
+ }
1466
+ ]
1467
+ },
1468
+ {
1469
+ "kind": "app",
1470
+ "opcode": "b2i",
1471
+ "args": [
1472
+ {
1473
+ "kind": "app",
1474
+ "opcode": "ariaChecked",
1475
+ "args": [
1476
+ {
1477
+ "kind": "name",
1478
+ "name": "c"
1479
+ },
1480
+ {
1481
+ "kind": "int",
1482
+ "value": "3"
1483
+ }
1484
+ ]
1485
+ }
1486
+ ]
1487
+ }
1488
+ ]
1489
+ }
1490
+ },
1491
+ "tabStopCount": {
1492
+ "kind": "function",
1493
+ "params": [
1494
+ "v",
1495
+ "m",
1496
+ "c"
1497
+ ],
1498
+ "body": {
1499
+ "kind": "app",
1500
+ "opcode": "iadd",
1501
+ "args": [
1502
+ {
1503
+ "kind": "app",
1504
+ "opcode": "iadd",
1505
+ "args": [
1506
+ {
1507
+ "kind": "app",
1508
+ "opcode": "iadd",
1509
+ "args": [
1510
+ {
1511
+ "kind": "app",
1512
+ "opcode": "iadd",
1513
+ "args": [
1514
+ {
1515
+ "kind": "app",
1516
+ "opcode": "b2i",
1517
+ "args": [
1518
+ {
1519
+ "kind": "app",
1520
+ "opcode": "eq",
1521
+ "args": [
1522
+ {
1523
+ "kind": "app",
1524
+ "opcode": "radioTabindex",
1525
+ "args": [
1526
+ {
1527
+ "kind": "name",
1528
+ "name": "v"
1529
+ },
1530
+ {
1531
+ "kind": "name",
1532
+ "name": "m"
1533
+ },
1534
+ {
1535
+ "kind": "name",
1536
+ "name": "c"
1537
+ },
1538
+ {
1539
+ "kind": "int",
1540
+ "value": "0"
1541
+ }
1542
+ ]
1543
+ },
1544
+ {
1545
+ "kind": "int",
1546
+ "value": "0"
1547
+ }
1548
+ ]
1549
+ }
1550
+ ]
1551
+ },
1552
+ {
1553
+ "kind": "app",
1554
+ "opcode": "b2i",
1555
+ "args": [
1556
+ {
1557
+ "kind": "app",
1558
+ "opcode": "eq",
1559
+ "args": [
1560
+ {
1561
+ "kind": "app",
1562
+ "opcode": "radioTabindex",
1563
+ "args": [
1564
+ {
1565
+ "kind": "name",
1566
+ "name": "v"
1567
+ },
1568
+ {
1569
+ "kind": "name",
1570
+ "name": "m"
1571
+ },
1572
+ {
1573
+ "kind": "name",
1574
+ "name": "c"
1575
+ },
1576
+ {
1577
+ "kind": "int",
1578
+ "value": "1"
1579
+ }
1580
+ ]
1581
+ },
1582
+ {
1583
+ "kind": "int",
1584
+ "value": "0"
1585
+ }
1586
+ ]
1587
+ }
1588
+ ]
1589
+ }
1590
+ ]
1591
+ },
1592
+ {
1593
+ "kind": "app",
1594
+ "opcode": "b2i",
1595
+ "args": [
1596
+ {
1597
+ "kind": "app",
1598
+ "opcode": "eq",
1599
+ "args": [
1600
+ {
1601
+ "kind": "app",
1602
+ "opcode": "radioTabindex",
1603
+ "args": [
1604
+ {
1605
+ "kind": "name",
1606
+ "name": "v"
1607
+ },
1608
+ {
1609
+ "kind": "name",
1610
+ "name": "m"
1611
+ },
1612
+ {
1613
+ "kind": "name",
1614
+ "name": "c"
1615
+ },
1616
+ {
1617
+ "kind": "int",
1618
+ "value": "2"
1619
+ }
1620
+ ]
1621
+ },
1622
+ {
1623
+ "kind": "int",
1624
+ "value": "0"
1625
+ }
1626
+ ]
1627
+ }
1628
+ ]
1629
+ }
1630
+ ]
1631
+ },
1632
+ {
1633
+ "kind": "app",
1634
+ "opcode": "b2i",
1635
+ "args": [
1636
+ {
1637
+ "kind": "app",
1638
+ "opcode": "eq",
1639
+ "args": [
1640
+ {
1641
+ "kind": "app",
1642
+ "opcode": "radioTabindex",
1643
+ "args": [
1644
+ {
1645
+ "kind": "name",
1646
+ "name": "v"
1647
+ },
1648
+ {
1649
+ "kind": "name",
1650
+ "name": "m"
1651
+ },
1652
+ {
1653
+ "kind": "name",
1654
+ "name": "c"
1655
+ },
1656
+ {
1657
+ "kind": "int",
1658
+ "value": "3"
1659
+ }
1660
+ ]
1661
+ },
1662
+ {
1663
+ "kind": "int",
1664
+ "value": "0"
1665
+ }
1666
+ ]
1667
+ }
1668
+ ]
1669
+ }
1670
+ ]
1671
+ },
1672
+ {
1673
+ "kind": "app",
1674
+ "opcode": "b2i",
1675
+ "args": [
1676
+ {
1677
+ "kind": "app",
1678
+ "opcode": "eq",
1679
+ "args": [
1680
+ {
1681
+ "kind": "app",
1682
+ "opcode": "groupTabindex",
1683
+ "args": [
1684
+ {
1685
+ "kind": "name",
1686
+ "name": "v"
1687
+ }
1688
+ ]
1689
+ },
1690
+ {
1691
+ "kind": "int",
1692
+ "value": "0"
1693
+ }
1694
+ ]
1695
+ }
1696
+ ]
1697
+ }
1698
+ ]
1699
+ }
1700
+ },
1701
+ "AtMostOneChecked": {
1702
+ "kind": "invariant",
1703
+ "params": [],
1704
+ "body": {
1705
+ "kind": "app",
1706
+ "opcode": "ilte",
1707
+ "args": [
1708
+ {
1709
+ "kind": "app",
1710
+ "opcode": "checkedCount",
1711
+ "args": [
1712
+ {
1713
+ "kind": "name",
1714
+ "name": "checked"
1715
+ }
1716
+ ]
1717
+ },
1718
+ {
1719
+ "kind": "int",
1720
+ "value": "1"
1721
+ }
1722
+ ]
1723
+ }
1724
+ },
1725
+ "ExactlyOneTabStop": {
1726
+ "kind": "invariant",
1727
+ "params": [],
1728
+ "body": {
1729
+ "kind": "app",
1730
+ "opcode": "eq",
1731
+ "args": [
1732
+ {
1733
+ "kind": "app",
1734
+ "opcode": "tabStopCount",
1735
+ "args": [
1736
+ {
1737
+ "kind": "name",
1738
+ "name": "flavor"
1739
+ },
1740
+ {
1741
+ "kind": "name",
1742
+ "name": "mask"
1743
+ },
1744
+ {
1745
+ "kind": "name",
1746
+ "name": "checked"
1747
+ }
1748
+ ]
1749
+ },
1750
+ {
1751
+ "kind": "int",
1752
+ "value": "1"
1753
+ }
1754
+ ]
1755
+ }
1756
+ },
1757
+ "TabStopIsCheckedOrFirst": {
1758
+ "kind": "invariant",
1759
+ "params": [],
1760
+ "body": {
1761
+ "kind": "app",
1762
+ "opcode": "ite",
1763
+ "args": [
1764
+ {
1765
+ "kind": "app",
1766
+ "opcode": "igte",
1767
+ "args": [
1768
+ {
1769
+ "kind": "name",
1770
+ "name": "checked"
1771
+ },
1772
+ {
1773
+ "kind": "int",
1774
+ "value": "0"
1775
+ }
1776
+ ]
1777
+ },
1778
+ {
1779
+ "kind": "app",
1780
+ "opcode": "eq",
1781
+ "args": [
1782
+ {
1783
+ "kind": "app",
1784
+ "opcode": "tabStop",
1785
+ "args": [
1786
+ {
1787
+ "kind": "name",
1788
+ "name": "mask"
1789
+ },
1790
+ {
1791
+ "kind": "name",
1792
+ "name": "checked"
1793
+ }
1794
+ ]
1795
+ },
1796
+ {
1797
+ "kind": "name",
1798
+ "name": "checked"
1799
+ }
1800
+ ]
1801
+ },
1802
+ {
1803
+ "kind": "app",
1804
+ "opcode": "eq",
1805
+ "args": [
1806
+ {
1807
+ "kind": "app",
1808
+ "opcode": "tabStop",
1809
+ "args": [
1810
+ {
1811
+ "kind": "name",
1812
+ "name": "mask"
1813
+ },
1814
+ {
1815
+ "kind": "name",
1816
+ "name": "checked"
1817
+ }
1818
+ ]
1819
+ },
1820
+ {
1821
+ "kind": "app",
1822
+ "opcode": "firstEnabled",
1823
+ "args": [
1824
+ {
1825
+ "kind": "name",
1826
+ "name": "mask"
1827
+ }
1828
+ ]
1829
+ }
1830
+ ]
1831
+ }
1832
+ ]
1833
+ }
1834
+ },
1835
+ "DisabledNeverActive": {
1836
+ "kind": "invariant",
1837
+ "params": [],
1838
+ "body": {
1839
+ "kind": "app",
1840
+ "opcode": "and",
1841
+ "args": [
1842
+ {
1843
+ "kind": "app",
1844
+ "opcode": "or",
1845
+ "args": [
1846
+ {
1847
+ "kind": "app",
1848
+ "opcode": "ilt",
1849
+ "args": [
1850
+ {
1851
+ "kind": "name",
1852
+ "name": "checked"
1853
+ },
1854
+ {
1855
+ "kind": "int",
1856
+ "value": "0"
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ "kind": "app",
1862
+ "opcode": "isEnabled",
1863
+ "args": [
1864
+ {
1865
+ "kind": "name",
1866
+ "name": "mask"
1867
+ },
1868
+ {
1869
+ "kind": "name",
1870
+ "name": "checked"
1871
+ }
1872
+ ]
1873
+ }
1874
+ ]
1875
+ },
1876
+ {
1877
+ "kind": "app",
1878
+ "opcode": "or",
1879
+ "args": [
1880
+ {
1881
+ "kind": "app",
1882
+ "opcode": "ilt",
1883
+ "args": [
1884
+ {
1885
+ "kind": "name",
1886
+ "name": "focus"
1887
+ },
1888
+ {
1889
+ "kind": "int",
1890
+ "value": "0"
1891
+ }
1892
+ ]
1893
+ },
1894
+ {
1895
+ "kind": "app",
1896
+ "opcode": "isEnabled",
1897
+ "args": [
1898
+ {
1899
+ "kind": "name",
1900
+ "name": "mask"
1901
+ },
1902
+ {
1903
+ "kind": "name",
1904
+ "name": "focus"
1905
+ }
1906
+ ]
1907
+ }
1908
+ ]
1909
+ },
1910
+ {
1911
+ "kind": "app",
1912
+ "opcode": "isEnabled",
1913
+ "args": [
1914
+ {
1915
+ "kind": "name",
1916
+ "name": "mask"
1917
+ },
1918
+ {
1919
+ "kind": "app",
1920
+ "opcode": "tabStop",
1921
+ "args": [
1922
+ {
1923
+ "kind": "name",
1924
+ "name": "mask"
1925
+ },
1926
+ {
1927
+ "kind": "name",
1928
+ "name": "checked"
1929
+ }
1930
+ ]
1931
+ }
1932
+ ]
1933
+ }
1934
+ ]
1935
+ }
1936
+ },
1937
+ "FocusFollowsChecked": {
1938
+ "kind": "invariant",
1939
+ "params": [],
1940
+ "body": {
1941
+ "kind": "app",
1942
+ "opcode": "or",
1943
+ "args": [
1944
+ {
1945
+ "kind": "name",
1946
+ "name": "controlled"
1947
+ },
1948
+ {
1949
+ "kind": "app",
1950
+ "opcode": "ilt",
1951
+ "args": [
1952
+ {
1953
+ "kind": "name",
1954
+ "name": "focus"
1955
+ },
1956
+ {
1957
+ "kind": "int",
1958
+ "value": "0"
1959
+ }
1960
+ ]
1961
+ },
1962
+ {
1963
+ "kind": "app",
1964
+ "opcode": "ite",
1965
+ "args": [
1966
+ {
1967
+ "kind": "app",
1968
+ "opcode": "igte",
1969
+ "args": [
1970
+ {
1971
+ "kind": "name",
1972
+ "name": "checked"
1973
+ },
1974
+ {
1975
+ "kind": "int",
1976
+ "value": "0"
1977
+ }
1978
+ ]
1979
+ },
1980
+ {
1981
+ "kind": "app",
1982
+ "opcode": "eq",
1983
+ "args": [
1984
+ {
1985
+ "kind": "name",
1986
+ "name": "focus"
1987
+ },
1988
+ {
1989
+ "kind": "name",
1990
+ "name": "checked"
1991
+ }
1992
+ ]
1993
+ },
1994
+ {
1995
+ "kind": "app",
1996
+ "opcode": "eq",
1997
+ "args": [
1998
+ {
1999
+ "kind": "name",
2000
+ "name": "focus"
2001
+ },
2002
+ {
2003
+ "kind": "app",
2004
+ "opcode": "firstEnabled",
2005
+ "args": [
2006
+ {
2007
+ "kind": "name",
2008
+ "name": "mask"
2009
+ }
2010
+ ]
2011
+ }
2012
+ ]
2013
+ }
2014
+ ]
2015
+ }
2016
+ ]
2017
+ }
2018
+ },
2019
+ "SomeRadioEnabled": {
2020
+ "kind": "invariant",
2021
+ "params": [],
2022
+ "body": {
2023
+ "kind": "app",
2024
+ "opcode": "or",
2025
+ "args": [
2026
+ {
2027
+ "kind": "app",
2028
+ "opcode": "isEnabled",
2029
+ "args": [
2030
+ {
2031
+ "kind": "name",
2032
+ "name": "mask"
2033
+ },
2034
+ {
2035
+ "kind": "int",
2036
+ "value": "0"
2037
+ }
2038
+ ]
2039
+ },
2040
+ {
2041
+ "kind": "app",
2042
+ "opcode": "isEnabled",
2043
+ "args": [
2044
+ {
2045
+ "kind": "name",
2046
+ "name": "mask"
2047
+ },
2048
+ {
2049
+ "kind": "int",
2050
+ "value": "1"
2051
+ }
2052
+ ]
2053
+ },
2054
+ {
2055
+ "kind": "app",
2056
+ "opcode": "isEnabled",
2057
+ "args": [
2058
+ {
2059
+ "kind": "name",
2060
+ "name": "mask"
2061
+ },
2062
+ {
2063
+ "kind": "int",
2064
+ "value": "2"
2065
+ }
2066
+ ]
2067
+ },
2068
+ {
2069
+ "kind": "app",
2070
+ "opcode": "isEnabled",
2071
+ "args": [
2072
+ {
2073
+ "kind": "name",
2074
+ "name": "mask"
2075
+ },
2076
+ {
2077
+ "kind": "int",
2078
+ "value": "3"
2079
+ }
2080
+ ]
2081
+ }
2082
+ ]
2083
+ }
2084
+ },
2085
+ "ActiveDescendantContract": {
2086
+ "kind": "invariant",
2087
+ "params": [],
2088
+ "body": {
2089
+ "kind": "app",
2090
+ "opcode": "ite",
2091
+ "args": [
2092
+ {
2093
+ "kind": "app",
2094
+ "opcode": "eq",
2095
+ "args": [
2096
+ {
2097
+ "kind": "name",
2098
+ "name": "flavor"
2099
+ },
2100
+ {
2101
+ "kind": "str",
2102
+ "value": "activedescendant"
2103
+ }
2104
+ ]
2105
+ },
2106
+ {
2107
+ "kind": "app",
2108
+ "opcode": "and",
2109
+ "args": [
2110
+ {
2111
+ "kind": "app",
2112
+ "opcode": "eq",
2113
+ "args": [
2114
+ {
2115
+ "kind": "app",
2116
+ "opcode": "activeDescendant",
2117
+ "args": [
2118
+ {
2119
+ "kind": "name",
2120
+ "name": "flavor"
2121
+ },
2122
+ {
2123
+ "kind": "name",
2124
+ "name": "focus"
2125
+ }
2126
+ ]
2127
+ },
2128
+ {
2129
+ "kind": "name",
2130
+ "name": "focus"
2131
+ }
2132
+ ]
2133
+ },
2134
+ {
2135
+ "kind": "app",
2136
+ "opcode": "or",
2137
+ "args": [
2138
+ {
2139
+ "kind": "app",
2140
+ "opcode": "ilt",
2141
+ "args": [
2142
+ {
2143
+ "kind": "name",
2144
+ "name": "focus"
2145
+ },
2146
+ {
2147
+ "kind": "int",
2148
+ "value": "0"
2149
+ }
2150
+ ]
2151
+ },
2152
+ {
2153
+ "kind": "app",
2154
+ "opcode": "eq",
2155
+ "args": [
2156
+ {
2157
+ "kind": "app",
2158
+ "opcode": "domFocus",
2159
+ "args": [
2160
+ {
2161
+ "kind": "name",
2162
+ "name": "flavor"
2163
+ },
2164
+ {
2165
+ "kind": "name",
2166
+ "name": "focus"
2167
+ }
2168
+ ]
2169
+ },
2170
+ {
2171
+ "kind": "int",
2172
+ "value": "4"
2173
+ }
2174
+ ]
2175
+ }
2176
+ ]
2177
+ }
2178
+ ]
2179
+ },
2180
+ {
2181
+ "kind": "app",
2182
+ "opcode": "and",
2183
+ "args": [
2184
+ {
2185
+ "kind": "app",
2186
+ "opcode": "eq",
2187
+ "args": [
2188
+ {
2189
+ "kind": "app",
2190
+ "opcode": "activeDescendant",
2191
+ "args": [
2192
+ {
2193
+ "kind": "name",
2194
+ "name": "flavor"
2195
+ },
2196
+ {
2197
+ "kind": "name",
2198
+ "name": "focus"
2199
+ }
2200
+ ]
2201
+ },
2202
+ {
2203
+ "kind": "app",
2204
+ "opcode": "iuminus",
2205
+ "args": [
2206
+ {
2207
+ "kind": "int",
2208
+ "value": "1"
2209
+ }
2210
+ ]
2211
+ }
2212
+ ]
2213
+ },
2214
+ {
2215
+ "kind": "app",
2216
+ "opcode": "eq",
2217
+ "args": [
2218
+ {
2219
+ "kind": "app",
2220
+ "opcode": "domFocus",
2221
+ "args": [
2222
+ {
2223
+ "kind": "name",
2224
+ "name": "flavor"
2225
+ },
2226
+ {
2227
+ "kind": "name",
2228
+ "name": "focus"
2229
+ }
2230
+ ]
2231
+ },
2232
+ {
2233
+ "kind": "name",
2234
+ "name": "focus"
2235
+ }
2236
+ ]
2237
+ }
2238
+ ]
2239
+ }
2240
+ ]
2241
+ }
2242
+ },
2243
+ "VariantValid": {
2244
+ "kind": "invariant",
2245
+ "params": [],
2246
+ "body": {
2247
+ "kind": "app",
2248
+ "opcode": "or",
2249
+ "args": [
2250
+ {
2251
+ "kind": "app",
2252
+ "opcode": "eq",
2253
+ "args": [
2254
+ {
2255
+ "kind": "name",
2256
+ "name": "flavor"
2257
+ },
2258
+ {
2259
+ "kind": "str",
2260
+ "value": "roving"
2261
+ }
2262
+ ]
2263
+ },
2264
+ {
2265
+ "kind": "app",
2266
+ "opcode": "eq",
2267
+ "args": [
2268
+ {
2269
+ "kind": "name",
2270
+ "name": "flavor"
2271
+ },
2272
+ {
2273
+ "kind": "str",
2274
+ "value": "activedescendant"
2275
+ }
2276
+ ]
2277
+ }
2278
+ ]
2279
+ }
2280
+ },
2281
+ "RequestsNonNegative": {
2282
+ "kind": "invariant",
2283
+ "params": [],
2284
+ "body": {
2285
+ "kind": "app",
2286
+ "opcode": "igte",
2287
+ "args": [
2288
+ {
2289
+ "kind": "name",
2290
+ "name": "requests"
2291
+ },
2292
+ {
2293
+ "kind": "int",
2294
+ "value": "0"
2295
+ }
2296
+ ]
2297
+ }
2298
+ },
2299
+ "ControlledFollowsProp": {
2300
+ "kind": "invariant",
2301
+ "params": [],
2302
+ "body": {
2303
+ "kind": "app",
2304
+ "opcode": "or",
2305
+ "args": [
2306
+ {
2307
+ "kind": "app",
2308
+ "opcode": "not",
2309
+ "args": [
2310
+ {
2311
+ "kind": "name",
2312
+ "name": "controlled"
2313
+ }
2314
+ ]
2315
+ },
2316
+ {
2317
+ "kind": "app",
2318
+ "opcode": "eq",
2319
+ "args": [
2320
+ {
2321
+ "kind": "name",
2322
+ "name": "checked"
2323
+ },
2324
+ {
2325
+ "kind": "name",
2326
+ "name": "valueProp"
2327
+ }
2328
+ ]
2329
+ }
2330
+ ]
2331
+ }
2332
+ },
2333
+ "RejectedRequestUntouched": {
2334
+ "kind": "invariant",
2335
+ "params": [],
2336
+ "body": {
2337
+ "kind": "app",
2338
+ "opcode": "or",
2339
+ "args": [
2340
+ {
2341
+ "kind": "app",
2342
+ "opcode": "not",
2343
+ "args": [
2344
+ {
2345
+ "kind": "app",
2346
+ "opcode": "eq",
2347
+ "args": [
2348
+ {
2349
+ "kind": "name",
2350
+ "name": "outcome"
2351
+ },
2352
+ {
2353
+ "kind": "str",
2354
+ "value": "rejected"
2355
+ }
2356
+ ]
2357
+ }
2358
+ ]
2359
+ },
2360
+ {
2361
+ "kind": "app",
2362
+ "opcode": "eq",
2363
+ "args": [
2364
+ {
2365
+ "kind": "name",
2366
+ "name": "checked"
2367
+ },
2368
+ {
2369
+ "kind": "name",
2370
+ "name": "base"
2371
+ }
2372
+ ]
2373
+ }
2374
+ ]
2375
+ }
2376
+ },
2377
+ "AcceptedRequestCommits": {
2378
+ "kind": "invariant",
2379
+ "params": [],
2380
+ "body": {
2381
+ "kind": "app",
2382
+ "opcode": "or",
2383
+ "args": [
2384
+ {
2385
+ "kind": "app",
2386
+ "opcode": "not",
2387
+ "args": [
2388
+ {
2389
+ "kind": "app",
2390
+ "opcode": "eq",
2391
+ "args": [
2392
+ {
2393
+ "kind": "name",
2394
+ "name": "outcome"
2395
+ },
2396
+ {
2397
+ "kind": "str",
2398
+ "value": "accepted"
2399
+ }
2400
+ ]
2401
+ }
2402
+ ]
2403
+ },
2404
+ {
2405
+ "kind": "app",
2406
+ "opcode": "eq",
2407
+ "args": [
2408
+ {
2409
+ "kind": "name",
2410
+ "name": "checked"
2411
+ },
2412
+ {
2413
+ "kind": "name",
2414
+ "name": "requested"
2415
+ }
2416
+ ]
2417
+ }
2418
+ ]
2419
+ }
2420
+ }
2421
+ },
2422
+ "actions": [
2423
+ {
2424
+ "name": "init",
2425
+ "assignments": [
2426
+ {
2427
+ "field": "flavor",
2428
+ "rhs": {
2429
+ "kind": "str",
2430
+ "value": "roving"
2431
+ }
2432
+ },
2433
+ {
2434
+ "field": "mask",
2435
+ "rhs": {
2436
+ "kind": "int",
2437
+ "value": "0"
2438
+ }
2439
+ },
2440
+ {
2441
+ "field": "checked",
2442
+ "rhs": {
2443
+ "kind": "app",
2444
+ "opcode": "iuminus",
2445
+ "args": [
2446
+ {
2447
+ "kind": "int",
2448
+ "value": "1"
2449
+ }
2450
+ ]
2451
+ }
2452
+ },
2453
+ {
2454
+ "field": "focus",
2455
+ "rhs": {
2456
+ "kind": "app",
2457
+ "opcode": "iuminus",
2458
+ "args": [
2459
+ {
2460
+ "kind": "int",
2461
+ "value": "1"
2462
+ }
2463
+ ]
2464
+ }
2465
+ },
2466
+ {
2467
+ "field": "controlled",
2468
+ "rhs": {
2469
+ "kind": "bool",
2470
+ "value": false
2471
+ }
2472
+ },
2473
+ {
2474
+ "field": "accepting",
2475
+ "rhs": {
2476
+ "kind": "bool",
2477
+ "value": false
2478
+ }
2479
+ },
2480
+ {
2481
+ "field": "valueProp",
2482
+ "rhs": {
2483
+ "kind": "app",
2484
+ "opcode": "iuminus",
2485
+ "args": [
2486
+ {
2487
+ "kind": "int",
2488
+ "value": "1"
2489
+ }
2490
+ ]
2491
+ }
2492
+ },
2493
+ {
2494
+ "field": "requested",
2495
+ "rhs": {
2496
+ "kind": "app",
2497
+ "opcode": "iuminus",
2498
+ "args": [
2499
+ {
2500
+ "kind": "int",
2501
+ "value": "1"
2502
+ }
2503
+ ]
2504
+ }
2505
+ },
2506
+ {
2507
+ "field": "requests",
2508
+ "rhs": {
2509
+ "kind": "int",
2510
+ "value": "0"
2511
+ }
2512
+ },
2513
+ {
2514
+ "field": "outcome",
2515
+ "rhs": {
2516
+ "kind": "str",
2517
+ "value": "none"
2518
+ }
2519
+ },
2520
+ {
2521
+ "field": "base",
2522
+ "rhs": {
2523
+ "kind": "app",
2524
+ "opcode": "iuminus",
2525
+ "args": [
2526
+ {
2527
+ "kind": "int",
2528
+ "value": "1"
2529
+ }
2530
+ ]
2531
+ }
2532
+ }
2533
+ ]
2534
+ },
2535
+ {
2536
+ "name": "set_flavor",
2537
+ "nondet": {
2538
+ "name": "v",
2539
+ "kind": "str",
2540
+ "pool": [
2541
+ "roving",
2542
+ "activedescendant"
2543
+ ]
2544
+ },
2545
+ "assignments": [
2546
+ {
2547
+ "field": "flavor",
2548
+ "rhs": {
2549
+ "kind": "name",
2550
+ "name": "v"
2551
+ }
2552
+ },
2553
+ {
2554
+ "field": "mask",
2555
+ "rhs": {
2556
+ "kind": "name",
2557
+ "name": "mask"
2558
+ }
2559
+ },
2560
+ {
2561
+ "field": "checked",
2562
+ "rhs": {
2563
+ "kind": "name",
2564
+ "name": "checked"
2565
+ }
2566
+ },
2567
+ {
2568
+ "field": "focus",
2569
+ "rhs": {
2570
+ "kind": "app",
2571
+ "opcode": "iuminus",
2572
+ "args": [
2573
+ {
2574
+ "kind": "int",
2575
+ "value": "1"
2576
+ }
2577
+ ]
2578
+ }
2579
+ },
2580
+ {
2581
+ "field": "controlled",
2582
+ "rhs": {
2583
+ "kind": "name",
2584
+ "name": "controlled"
2585
+ }
2586
+ },
2587
+ {
2588
+ "field": "accepting",
2589
+ "rhs": {
2590
+ "kind": "name",
2591
+ "name": "accepting"
2592
+ }
2593
+ },
2594
+ {
2595
+ "field": "valueProp",
2596
+ "rhs": {
2597
+ "kind": "name",
2598
+ "name": "valueProp"
2599
+ }
2600
+ },
2601
+ {
2602
+ "field": "requested",
2603
+ "rhs": {
2604
+ "kind": "name",
2605
+ "name": "requested"
2606
+ }
2607
+ },
2608
+ {
2609
+ "field": "requests",
2610
+ "rhs": {
2611
+ "kind": "name",
2612
+ "name": "requests"
2613
+ }
2614
+ },
2615
+ {
2616
+ "field": "outcome",
2617
+ "rhs": {
2618
+ "kind": "name",
2619
+ "name": "outcome"
2620
+ }
2621
+ },
2622
+ {
2623
+ "field": "base",
2624
+ "rhs": {
2625
+ "kind": "name",
2626
+ "name": "base"
2627
+ }
2628
+ }
2629
+ ]
2630
+ },
2631
+ {
2632
+ "name": "set_disabled",
2633
+ "nondet": {
2634
+ "name": "m",
2635
+ "kind": "int",
2636
+ "pool": [
2637
+ "0",
2638
+ "1",
2639
+ "2",
2640
+ "6",
2641
+ "9",
2642
+ "14"
2643
+ ]
2644
+ },
2645
+ "assignments": [
2646
+ {
2647
+ "field": "flavor",
2648
+ "rhs": {
2649
+ "kind": "name",
2650
+ "name": "flavor"
2651
+ }
2652
+ },
2653
+ {
2654
+ "field": "mask",
2655
+ "rhs": {
2656
+ "kind": "name",
2657
+ "name": "m"
2658
+ }
2659
+ },
2660
+ {
2661
+ "field": "checked",
2662
+ "rhs": {
2663
+ "kind": "app",
2664
+ "opcode": "ite",
2665
+ "args": [
2666
+ {
2667
+ "kind": "app",
2668
+ "opcode": "and",
2669
+ "args": [
2670
+ {
2671
+ "kind": "app",
2672
+ "opcode": "igte",
2673
+ "args": [
2674
+ {
2675
+ "kind": "name",
2676
+ "name": "checked"
2677
+ },
2678
+ {
2679
+ "kind": "int",
2680
+ "value": "0"
2681
+ }
2682
+ ]
2683
+ },
2684
+ {
2685
+ "kind": "app",
2686
+ "opcode": "isEnabled",
2687
+ "args": [
2688
+ {
2689
+ "kind": "name",
2690
+ "name": "m"
2691
+ },
2692
+ {
2693
+ "kind": "name",
2694
+ "name": "checked"
2695
+ }
2696
+ ]
2697
+ }
2698
+ ]
2699
+ },
2700
+ {
2701
+ "kind": "name",
2702
+ "name": "checked"
2703
+ },
2704
+ {
2705
+ "kind": "app",
2706
+ "opcode": "iuminus",
2707
+ "args": [
2708
+ {
2709
+ "kind": "int",
2710
+ "value": "1"
2711
+ }
2712
+ ]
2713
+ }
2714
+ ]
2715
+ }
2716
+ },
2717
+ {
2718
+ "field": "focus",
2719
+ "rhs": {
2720
+ "kind": "app",
2721
+ "opcode": "iuminus",
2722
+ "args": [
2723
+ {
2724
+ "kind": "int",
2725
+ "value": "1"
2726
+ }
2727
+ ]
2728
+ }
2729
+ },
2730
+ {
2731
+ "field": "controlled",
2732
+ "rhs": {
2733
+ "kind": "name",
2734
+ "name": "controlled"
2735
+ }
2736
+ },
2737
+ {
2738
+ "field": "accepting",
2739
+ "rhs": {
2740
+ "kind": "name",
2741
+ "name": "accepting"
2742
+ }
2743
+ },
2744
+ {
2745
+ "field": "valueProp",
2746
+ "rhs": {
2747
+ "kind": "app",
2748
+ "opcode": "ite",
2749
+ "args": [
2750
+ {
2751
+ "kind": "name",
2752
+ "name": "controlled"
2753
+ },
2754
+ {
2755
+ "kind": "app",
2756
+ "opcode": "ite",
2757
+ "args": [
2758
+ {
2759
+ "kind": "app",
2760
+ "opcode": "and",
2761
+ "args": [
2762
+ {
2763
+ "kind": "app",
2764
+ "opcode": "igte",
2765
+ "args": [
2766
+ {
2767
+ "kind": "name",
2768
+ "name": "checked"
2769
+ },
2770
+ {
2771
+ "kind": "int",
2772
+ "value": "0"
2773
+ }
2774
+ ]
2775
+ },
2776
+ {
2777
+ "kind": "app",
2778
+ "opcode": "isEnabled",
2779
+ "args": [
2780
+ {
2781
+ "kind": "name",
2782
+ "name": "m"
2783
+ },
2784
+ {
2785
+ "kind": "name",
2786
+ "name": "checked"
2787
+ }
2788
+ ]
2789
+ }
2790
+ ]
2791
+ },
2792
+ {
2793
+ "kind": "name",
2794
+ "name": "checked"
2795
+ },
2796
+ {
2797
+ "kind": "app",
2798
+ "opcode": "iuminus",
2799
+ "args": [
2800
+ {
2801
+ "kind": "int",
2802
+ "value": "1"
2803
+ }
2804
+ ]
2805
+ }
2806
+ ]
2807
+ },
2808
+ {
2809
+ "kind": "name",
2810
+ "name": "valueProp"
2811
+ }
2812
+ ]
2813
+ }
2814
+ },
2815
+ {
2816
+ "field": "requested",
2817
+ "rhs": {
2818
+ "kind": "name",
2819
+ "name": "requested"
2820
+ }
2821
+ },
2822
+ {
2823
+ "field": "requests",
2824
+ "rhs": {
2825
+ "kind": "name",
2826
+ "name": "requests"
2827
+ }
2828
+ },
2829
+ {
2830
+ "field": "outcome",
2831
+ "rhs": {
2832
+ "kind": "str",
2833
+ "value": "none"
2834
+ }
2835
+ },
2836
+ {
2837
+ "field": "base",
2838
+ "rhs": {
2839
+ "kind": "name",
2840
+ "name": "base"
2841
+ }
2842
+ }
2843
+ ]
2844
+ },
2845
+ {
2846
+ "name": "preselect",
2847
+ "nondet": {
2848
+ "name": "pick",
2849
+ "kind": "int",
2850
+ "pool": [
2851
+ "-1",
2852
+ "0",
2853
+ "1",
2854
+ "2",
2855
+ "3"
2856
+ ]
2857
+ },
2858
+ "assignments": [
2859
+ {
2860
+ "field": "flavor",
2861
+ "rhs": {
2862
+ "kind": "name",
2863
+ "name": "flavor"
2864
+ }
2865
+ },
2866
+ {
2867
+ "field": "mask",
2868
+ "rhs": {
2869
+ "kind": "name",
2870
+ "name": "mask"
2871
+ }
2872
+ },
2873
+ {
2874
+ "field": "checked",
2875
+ "rhs": {
2876
+ "kind": "app",
2877
+ "opcode": "ite",
2878
+ "args": [
2879
+ {
2880
+ "kind": "app",
2881
+ "opcode": "and",
2882
+ "args": [
2883
+ {
2884
+ "kind": "app",
2885
+ "opcode": "igte",
2886
+ "args": [
2887
+ {
2888
+ "kind": "name",
2889
+ "name": "pick"
2890
+ },
2891
+ {
2892
+ "kind": "int",
2893
+ "value": "0"
2894
+ }
2895
+ ]
2896
+ },
2897
+ {
2898
+ "kind": "app",
2899
+ "opcode": "isEnabled",
2900
+ "args": [
2901
+ {
2902
+ "kind": "name",
2903
+ "name": "mask"
2904
+ },
2905
+ {
2906
+ "kind": "name",
2907
+ "name": "pick"
2908
+ }
2909
+ ]
2910
+ }
2911
+ ]
2912
+ },
2913
+ {
2914
+ "kind": "name",
2915
+ "name": "pick"
2916
+ },
2917
+ {
2918
+ "kind": "app",
2919
+ "opcode": "iuminus",
2920
+ "args": [
2921
+ {
2922
+ "kind": "int",
2923
+ "value": "1"
2924
+ }
2925
+ ]
2926
+ }
2927
+ ]
2928
+ }
2929
+ },
2930
+ {
2931
+ "field": "focus",
2932
+ "rhs": {
2933
+ "kind": "app",
2934
+ "opcode": "iuminus",
2935
+ "args": [
2936
+ {
2937
+ "kind": "int",
2938
+ "value": "1"
2939
+ }
2940
+ ]
2941
+ }
2942
+ },
2943
+ {
2944
+ "field": "controlled",
2945
+ "rhs": {
2946
+ "kind": "name",
2947
+ "name": "controlled"
2948
+ }
2949
+ },
2950
+ {
2951
+ "field": "accepting",
2952
+ "rhs": {
2953
+ "kind": "name",
2954
+ "name": "accepting"
2955
+ }
2956
+ },
2957
+ {
2958
+ "field": "valueProp",
2959
+ "rhs": {
2960
+ "kind": "app",
2961
+ "opcode": "ite",
2962
+ "args": [
2963
+ {
2964
+ "kind": "name",
2965
+ "name": "controlled"
2966
+ },
2967
+ {
2968
+ "kind": "app",
2969
+ "opcode": "ite",
2970
+ "args": [
2971
+ {
2972
+ "kind": "app",
2973
+ "opcode": "and",
2974
+ "args": [
2975
+ {
2976
+ "kind": "app",
2977
+ "opcode": "igte",
2978
+ "args": [
2979
+ {
2980
+ "kind": "name",
2981
+ "name": "pick"
2982
+ },
2983
+ {
2984
+ "kind": "int",
2985
+ "value": "0"
2986
+ }
2987
+ ]
2988
+ },
2989
+ {
2990
+ "kind": "app",
2991
+ "opcode": "isEnabled",
2992
+ "args": [
2993
+ {
2994
+ "kind": "name",
2995
+ "name": "mask"
2996
+ },
2997
+ {
2998
+ "kind": "name",
2999
+ "name": "pick"
3000
+ }
3001
+ ]
3002
+ }
3003
+ ]
3004
+ },
3005
+ {
3006
+ "kind": "name",
3007
+ "name": "pick"
3008
+ },
3009
+ {
3010
+ "kind": "app",
3011
+ "opcode": "iuminus",
3012
+ "args": [
3013
+ {
3014
+ "kind": "int",
3015
+ "value": "1"
3016
+ }
3017
+ ]
3018
+ }
3019
+ ]
3020
+ },
3021
+ {
3022
+ "kind": "name",
3023
+ "name": "valueProp"
3024
+ }
3025
+ ]
3026
+ }
3027
+ },
3028
+ {
3029
+ "field": "requested",
3030
+ "rhs": {
3031
+ "kind": "name",
3032
+ "name": "requested"
3033
+ }
3034
+ },
3035
+ {
3036
+ "field": "requests",
3037
+ "rhs": {
3038
+ "kind": "name",
3039
+ "name": "requests"
3040
+ }
3041
+ },
3042
+ {
3043
+ "field": "outcome",
3044
+ "rhs": {
3045
+ "kind": "str",
3046
+ "value": "none"
3047
+ }
3048
+ },
3049
+ {
3050
+ "field": "base",
3051
+ "rhs": {
3052
+ "kind": "name",
3053
+ "name": "base"
3054
+ }
3055
+ }
3056
+ ]
3057
+ },
3058
+ {
3059
+ "name": "enter",
3060
+ "assignments": [
3061
+ {
3062
+ "field": "flavor",
3063
+ "rhs": {
3064
+ "kind": "name",
3065
+ "name": "flavor"
3066
+ }
3067
+ },
3068
+ {
3069
+ "field": "mask",
3070
+ "rhs": {
3071
+ "kind": "name",
3072
+ "name": "mask"
3073
+ }
3074
+ },
3075
+ {
3076
+ "field": "checked",
3077
+ "rhs": {
3078
+ "kind": "name",
3079
+ "name": "checked"
3080
+ }
3081
+ },
3082
+ {
3083
+ "field": "focus",
3084
+ "rhs": {
3085
+ "kind": "app",
3086
+ "opcode": "ite",
3087
+ "args": [
3088
+ {
3089
+ "kind": "app",
3090
+ "opcode": "ilt",
3091
+ "args": [
3092
+ {
3093
+ "kind": "name",
3094
+ "name": "focus"
3095
+ },
3096
+ {
3097
+ "kind": "int",
3098
+ "value": "0"
3099
+ }
3100
+ ]
3101
+ },
3102
+ {
3103
+ "kind": "app",
3104
+ "opcode": "tabStop",
3105
+ "args": [
3106
+ {
3107
+ "kind": "name",
3108
+ "name": "mask"
3109
+ },
3110
+ {
3111
+ "kind": "name",
3112
+ "name": "checked"
3113
+ }
3114
+ ]
3115
+ },
3116
+ {
3117
+ "kind": "name",
3118
+ "name": "focus"
3119
+ }
3120
+ ]
3121
+ }
3122
+ },
3123
+ {
3124
+ "field": "controlled",
3125
+ "rhs": {
3126
+ "kind": "name",
3127
+ "name": "controlled"
3128
+ }
3129
+ },
3130
+ {
3131
+ "field": "accepting",
3132
+ "rhs": {
3133
+ "kind": "name",
3134
+ "name": "accepting"
3135
+ }
3136
+ },
3137
+ {
3138
+ "field": "valueProp",
3139
+ "rhs": {
3140
+ "kind": "name",
3141
+ "name": "valueProp"
3142
+ }
3143
+ },
3144
+ {
3145
+ "field": "requested",
3146
+ "rhs": {
3147
+ "kind": "name",
3148
+ "name": "requested"
3149
+ }
3150
+ },
3151
+ {
3152
+ "field": "requests",
3153
+ "rhs": {
3154
+ "kind": "name",
3155
+ "name": "requests"
3156
+ }
3157
+ },
3158
+ {
3159
+ "field": "outcome",
3160
+ "rhs": {
3161
+ "kind": "name",
3162
+ "name": "outcome"
3163
+ }
3164
+ },
3165
+ {
3166
+ "field": "base",
3167
+ "rhs": {
3168
+ "kind": "name",
3169
+ "name": "base"
3170
+ }
3171
+ }
3172
+ ]
3173
+ },
3174
+ {
3175
+ "name": "leave",
3176
+ "assignments": [
3177
+ {
3178
+ "field": "flavor",
3179
+ "rhs": {
3180
+ "kind": "name",
3181
+ "name": "flavor"
3182
+ }
3183
+ },
3184
+ {
3185
+ "field": "mask",
3186
+ "rhs": {
3187
+ "kind": "name",
3188
+ "name": "mask"
3189
+ }
3190
+ },
3191
+ {
3192
+ "field": "checked",
3193
+ "rhs": {
3194
+ "kind": "name",
3195
+ "name": "checked"
3196
+ }
3197
+ },
3198
+ {
3199
+ "field": "focus",
3200
+ "rhs": {
3201
+ "kind": "app",
3202
+ "opcode": "iuminus",
3203
+ "args": [
3204
+ {
3205
+ "kind": "int",
3206
+ "value": "1"
3207
+ }
3208
+ ]
3209
+ }
3210
+ },
3211
+ {
3212
+ "field": "controlled",
3213
+ "rhs": {
3214
+ "kind": "name",
3215
+ "name": "controlled"
3216
+ }
3217
+ },
3218
+ {
3219
+ "field": "accepting",
3220
+ "rhs": {
3221
+ "kind": "name",
3222
+ "name": "accepting"
3223
+ }
3224
+ },
3225
+ {
3226
+ "field": "valueProp",
3227
+ "rhs": {
3228
+ "kind": "name",
3229
+ "name": "valueProp"
3230
+ }
3231
+ },
3232
+ {
3233
+ "field": "requested",
3234
+ "rhs": {
3235
+ "kind": "name",
3236
+ "name": "requested"
3237
+ }
3238
+ },
3239
+ {
3240
+ "field": "requests",
3241
+ "rhs": {
3242
+ "kind": "name",
3243
+ "name": "requests"
3244
+ }
3245
+ },
3246
+ {
3247
+ "field": "outcome",
3248
+ "rhs": {
3249
+ "kind": "name",
3250
+ "name": "outcome"
3251
+ }
3252
+ },
3253
+ {
3254
+ "field": "base",
3255
+ "rhs": {
3256
+ "kind": "name",
3257
+ "name": "base"
3258
+ }
3259
+ }
3260
+ ]
3261
+ },
3262
+ {
3263
+ "name": "arrow_next",
3264
+ "assignments": [
3265
+ {
3266
+ "field": "flavor",
3267
+ "rhs": {
3268
+ "kind": "name",
3269
+ "name": "flavor"
3270
+ }
3271
+ },
3272
+ {
3273
+ "field": "mask",
3274
+ "rhs": {
3275
+ "kind": "name",
3276
+ "name": "mask"
3277
+ }
3278
+ },
3279
+ {
3280
+ "field": "checked",
3281
+ "rhs": {
3282
+ "kind": "app",
3283
+ "opcode": "landed",
3284
+ "args": [
3285
+ {
3286
+ "kind": "name",
3287
+ "name": "holds"
3288
+ },
3289
+ {
3290
+ "kind": "name",
3291
+ "name": "checked"
3292
+ },
3293
+ {
3294
+ "kind": "app",
3295
+ "opcode": "nextWant",
3296
+ "args": [
3297
+ {
3298
+ "kind": "name",
3299
+ "name": "mask"
3300
+ },
3301
+ {
3302
+ "kind": "name",
3303
+ "name": "checked"
3304
+ },
3305
+ {
3306
+ "kind": "name",
3307
+ "name": "focus"
3308
+ }
3309
+ ]
3310
+ }
3311
+ ]
3312
+ }
3313
+ },
3314
+ {
3315
+ "field": "focus",
3316
+ "rhs": {
3317
+ "kind": "app",
3318
+ "opcode": "ite",
3319
+ "args": [
3320
+ {
3321
+ "kind": "app",
3322
+ "opcode": "igte",
3323
+ "args": [
3324
+ {
3325
+ "kind": "name",
3326
+ "name": "focus"
3327
+ },
3328
+ {
3329
+ "kind": "int",
3330
+ "value": "0"
3331
+ }
3332
+ ]
3333
+ },
3334
+ {
3335
+ "kind": "app",
3336
+ "opcode": "nextEnabled",
3337
+ "args": [
3338
+ {
3339
+ "kind": "name",
3340
+ "name": "mask"
3341
+ },
3342
+ {
3343
+ "kind": "name",
3344
+ "name": "focus"
3345
+ }
3346
+ ]
3347
+ },
3348
+ {
3349
+ "kind": "name",
3350
+ "name": "focus"
3351
+ }
3352
+ ]
3353
+ }
3354
+ },
3355
+ {
3356
+ "field": "controlled",
3357
+ "rhs": {
3358
+ "kind": "name",
3359
+ "name": "controlled"
3360
+ }
3361
+ },
3362
+ {
3363
+ "field": "accepting",
3364
+ "rhs": {
3365
+ "kind": "name",
3366
+ "name": "accepting"
3367
+ }
3368
+ },
3369
+ {
3370
+ "field": "valueProp",
3371
+ "rhs": {
3372
+ "kind": "app",
3373
+ "opcode": "propAfter",
3374
+ "args": [
3375
+ {
3376
+ "kind": "name",
3377
+ "name": "follows"
3378
+ },
3379
+ {
3380
+ "kind": "name",
3381
+ "name": "valueProp"
3382
+ },
3383
+ {
3384
+ "kind": "app",
3385
+ "opcode": "nextWant",
3386
+ "args": [
3387
+ {
3388
+ "kind": "name",
3389
+ "name": "mask"
3390
+ },
3391
+ {
3392
+ "kind": "name",
3393
+ "name": "checked"
3394
+ },
3395
+ {
3396
+ "kind": "name",
3397
+ "name": "focus"
3398
+ }
3399
+ ]
3400
+ }
3401
+ ]
3402
+ }
3403
+ },
3404
+ {
3405
+ "field": "requested",
3406
+ "rhs": {
3407
+ "kind": "app",
3408
+ "opcode": "ite",
3409
+ "args": [
3410
+ {
3411
+ "kind": "app",
3412
+ "opcode": "eq",
3413
+ "args": [
3414
+ {
3415
+ "kind": "app",
3416
+ "opcode": "moved",
3417
+ "args": [
3418
+ {
3419
+ "kind": "name",
3420
+ "name": "checked"
3421
+ },
3422
+ {
3423
+ "kind": "app",
3424
+ "opcode": "nextWant",
3425
+ "args": [
3426
+ {
3427
+ "kind": "name",
3428
+ "name": "mask"
3429
+ },
3430
+ {
3431
+ "kind": "name",
3432
+ "name": "checked"
3433
+ },
3434
+ {
3435
+ "kind": "name",
3436
+ "name": "focus"
3437
+ }
3438
+ ]
3439
+ }
3440
+ ]
3441
+ },
3442
+ {
3443
+ "kind": "int",
3444
+ "value": "1"
3445
+ }
3446
+ ]
3447
+ },
3448
+ {
3449
+ "kind": "app",
3450
+ "opcode": "nextWant",
3451
+ "args": [
3452
+ {
3453
+ "kind": "name",
3454
+ "name": "mask"
3455
+ },
3456
+ {
3457
+ "kind": "name",
3458
+ "name": "checked"
3459
+ },
3460
+ {
3461
+ "kind": "name",
3462
+ "name": "focus"
3463
+ }
3464
+ ]
3465
+ },
3466
+ {
3467
+ "kind": "name",
3468
+ "name": "requested"
3469
+ }
3470
+ ]
3471
+ }
3472
+ },
3473
+ {
3474
+ "field": "requests",
3475
+ "rhs": {
3476
+ "kind": "app",
3477
+ "opcode": "iadd",
3478
+ "args": [
3479
+ {
3480
+ "kind": "name",
3481
+ "name": "requests"
3482
+ },
3483
+ {
3484
+ "kind": "app",
3485
+ "opcode": "moved",
3486
+ "args": [
3487
+ {
3488
+ "kind": "name",
3489
+ "name": "checked"
3490
+ },
3491
+ {
3492
+ "kind": "app",
3493
+ "opcode": "nextWant",
3494
+ "args": [
3495
+ {
3496
+ "kind": "name",
3497
+ "name": "mask"
3498
+ },
3499
+ {
3500
+ "kind": "name",
3501
+ "name": "checked"
3502
+ },
3503
+ {
3504
+ "kind": "name",
3505
+ "name": "focus"
3506
+ }
3507
+ ]
3508
+ }
3509
+ ]
3510
+ }
3511
+ ]
3512
+ }
3513
+ },
3514
+ {
3515
+ "field": "outcome",
3516
+ "rhs": {
3517
+ "kind": "app",
3518
+ "opcode": "ite",
3519
+ "args": [
3520
+ {
3521
+ "kind": "app",
3522
+ "opcode": "eq",
3523
+ "args": [
3524
+ {
3525
+ "kind": "app",
3526
+ "opcode": "moved",
3527
+ "args": [
3528
+ {
3529
+ "kind": "name",
3530
+ "name": "checked"
3531
+ },
3532
+ {
3533
+ "kind": "app",
3534
+ "opcode": "nextWant",
3535
+ "args": [
3536
+ {
3537
+ "kind": "name",
3538
+ "name": "mask"
3539
+ },
3540
+ {
3541
+ "kind": "name",
3542
+ "name": "checked"
3543
+ },
3544
+ {
3545
+ "kind": "name",
3546
+ "name": "focus"
3547
+ }
3548
+ ]
3549
+ }
3550
+ ]
3551
+ },
3552
+ {
3553
+ "kind": "int",
3554
+ "value": "1"
3555
+ }
3556
+ ]
3557
+ },
3558
+ {
3559
+ "kind": "name",
3560
+ "name": "verdict"
3561
+ },
3562
+ {
3563
+ "kind": "name",
3564
+ "name": "outcome"
3565
+ }
3566
+ ]
3567
+ }
3568
+ },
3569
+ {
3570
+ "field": "base",
3571
+ "rhs": {
3572
+ "kind": "app",
3573
+ "opcode": "ite",
3574
+ "args": [
3575
+ {
3576
+ "kind": "app",
3577
+ "opcode": "eq",
3578
+ "args": [
3579
+ {
3580
+ "kind": "app",
3581
+ "opcode": "moved",
3582
+ "args": [
3583
+ {
3584
+ "kind": "name",
3585
+ "name": "checked"
3586
+ },
3587
+ {
3588
+ "kind": "app",
3589
+ "opcode": "nextWant",
3590
+ "args": [
3591
+ {
3592
+ "kind": "name",
3593
+ "name": "mask"
3594
+ },
3595
+ {
3596
+ "kind": "name",
3597
+ "name": "checked"
3598
+ },
3599
+ {
3600
+ "kind": "name",
3601
+ "name": "focus"
3602
+ }
3603
+ ]
3604
+ }
3605
+ ]
3606
+ },
3607
+ {
3608
+ "kind": "int",
3609
+ "value": "1"
3610
+ }
3611
+ ]
3612
+ },
3613
+ {
3614
+ "kind": "name",
3615
+ "name": "checked"
3616
+ },
3617
+ {
3618
+ "kind": "name",
3619
+ "name": "base"
3620
+ }
3621
+ ]
3622
+ }
3623
+ }
3624
+ ]
3625
+ },
3626
+ {
3627
+ "name": "arrow_prev",
3628
+ "assignments": [
3629
+ {
3630
+ "field": "flavor",
3631
+ "rhs": {
3632
+ "kind": "name",
3633
+ "name": "flavor"
3634
+ }
3635
+ },
3636
+ {
3637
+ "field": "mask",
3638
+ "rhs": {
3639
+ "kind": "name",
3640
+ "name": "mask"
3641
+ }
3642
+ },
3643
+ {
3644
+ "field": "checked",
3645
+ "rhs": {
3646
+ "kind": "app",
3647
+ "opcode": "landed",
3648
+ "args": [
3649
+ {
3650
+ "kind": "name",
3651
+ "name": "holds"
3652
+ },
3653
+ {
3654
+ "kind": "name",
3655
+ "name": "checked"
3656
+ },
3657
+ {
3658
+ "kind": "app",
3659
+ "opcode": "prevWant",
3660
+ "args": [
3661
+ {
3662
+ "kind": "name",
3663
+ "name": "mask"
3664
+ },
3665
+ {
3666
+ "kind": "name",
3667
+ "name": "checked"
3668
+ },
3669
+ {
3670
+ "kind": "name",
3671
+ "name": "focus"
3672
+ }
3673
+ ]
3674
+ }
3675
+ ]
3676
+ }
3677
+ },
3678
+ {
3679
+ "field": "focus",
3680
+ "rhs": {
3681
+ "kind": "app",
3682
+ "opcode": "ite",
3683
+ "args": [
3684
+ {
3685
+ "kind": "app",
3686
+ "opcode": "igte",
3687
+ "args": [
3688
+ {
3689
+ "kind": "name",
3690
+ "name": "focus"
3691
+ },
3692
+ {
3693
+ "kind": "int",
3694
+ "value": "0"
3695
+ }
3696
+ ]
3697
+ },
3698
+ {
3699
+ "kind": "app",
3700
+ "opcode": "prevEnabled",
3701
+ "args": [
3702
+ {
3703
+ "kind": "name",
3704
+ "name": "mask"
3705
+ },
3706
+ {
3707
+ "kind": "name",
3708
+ "name": "focus"
3709
+ }
3710
+ ]
3711
+ },
3712
+ {
3713
+ "kind": "name",
3714
+ "name": "focus"
3715
+ }
3716
+ ]
3717
+ }
3718
+ },
3719
+ {
3720
+ "field": "controlled",
3721
+ "rhs": {
3722
+ "kind": "name",
3723
+ "name": "controlled"
3724
+ }
3725
+ },
3726
+ {
3727
+ "field": "accepting",
3728
+ "rhs": {
3729
+ "kind": "name",
3730
+ "name": "accepting"
3731
+ }
3732
+ },
3733
+ {
3734
+ "field": "valueProp",
3735
+ "rhs": {
3736
+ "kind": "app",
3737
+ "opcode": "propAfter",
3738
+ "args": [
3739
+ {
3740
+ "kind": "name",
3741
+ "name": "follows"
3742
+ },
3743
+ {
3744
+ "kind": "name",
3745
+ "name": "valueProp"
3746
+ },
3747
+ {
3748
+ "kind": "app",
3749
+ "opcode": "prevWant",
3750
+ "args": [
3751
+ {
3752
+ "kind": "name",
3753
+ "name": "mask"
3754
+ },
3755
+ {
3756
+ "kind": "name",
3757
+ "name": "checked"
3758
+ },
3759
+ {
3760
+ "kind": "name",
3761
+ "name": "focus"
3762
+ }
3763
+ ]
3764
+ }
3765
+ ]
3766
+ }
3767
+ },
3768
+ {
3769
+ "field": "requested",
3770
+ "rhs": {
3771
+ "kind": "app",
3772
+ "opcode": "ite",
3773
+ "args": [
3774
+ {
3775
+ "kind": "app",
3776
+ "opcode": "eq",
3777
+ "args": [
3778
+ {
3779
+ "kind": "app",
3780
+ "opcode": "moved",
3781
+ "args": [
3782
+ {
3783
+ "kind": "name",
3784
+ "name": "checked"
3785
+ },
3786
+ {
3787
+ "kind": "app",
3788
+ "opcode": "prevWant",
3789
+ "args": [
3790
+ {
3791
+ "kind": "name",
3792
+ "name": "mask"
3793
+ },
3794
+ {
3795
+ "kind": "name",
3796
+ "name": "checked"
3797
+ },
3798
+ {
3799
+ "kind": "name",
3800
+ "name": "focus"
3801
+ }
3802
+ ]
3803
+ }
3804
+ ]
3805
+ },
3806
+ {
3807
+ "kind": "int",
3808
+ "value": "1"
3809
+ }
3810
+ ]
3811
+ },
3812
+ {
3813
+ "kind": "app",
3814
+ "opcode": "prevWant",
3815
+ "args": [
3816
+ {
3817
+ "kind": "name",
3818
+ "name": "mask"
3819
+ },
3820
+ {
3821
+ "kind": "name",
3822
+ "name": "checked"
3823
+ },
3824
+ {
3825
+ "kind": "name",
3826
+ "name": "focus"
3827
+ }
3828
+ ]
3829
+ },
3830
+ {
3831
+ "kind": "name",
3832
+ "name": "requested"
3833
+ }
3834
+ ]
3835
+ }
3836
+ },
3837
+ {
3838
+ "field": "requests",
3839
+ "rhs": {
3840
+ "kind": "app",
3841
+ "opcode": "iadd",
3842
+ "args": [
3843
+ {
3844
+ "kind": "name",
3845
+ "name": "requests"
3846
+ },
3847
+ {
3848
+ "kind": "app",
3849
+ "opcode": "moved",
3850
+ "args": [
3851
+ {
3852
+ "kind": "name",
3853
+ "name": "checked"
3854
+ },
3855
+ {
3856
+ "kind": "app",
3857
+ "opcode": "prevWant",
3858
+ "args": [
3859
+ {
3860
+ "kind": "name",
3861
+ "name": "mask"
3862
+ },
3863
+ {
3864
+ "kind": "name",
3865
+ "name": "checked"
3866
+ },
3867
+ {
3868
+ "kind": "name",
3869
+ "name": "focus"
3870
+ }
3871
+ ]
3872
+ }
3873
+ ]
3874
+ }
3875
+ ]
3876
+ }
3877
+ },
3878
+ {
3879
+ "field": "outcome",
3880
+ "rhs": {
3881
+ "kind": "app",
3882
+ "opcode": "ite",
3883
+ "args": [
3884
+ {
3885
+ "kind": "app",
3886
+ "opcode": "eq",
3887
+ "args": [
3888
+ {
3889
+ "kind": "app",
3890
+ "opcode": "moved",
3891
+ "args": [
3892
+ {
3893
+ "kind": "name",
3894
+ "name": "checked"
3895
+ },
3896
+ {
3897
+ "kind": "app",
3898
+ "opcode": "prevWant",
3899
+ "args": [
3900
+ {
3901
+ "kind": "name",
3902
+ "name": "mask"
3903
+ },
3904
+ {
3905
+ "kind": "name",
3906
+ "name": "checked"
3907
+ },
3908
+ {
3909
+ "kind": "name",
3910
+ "name": "focus"
3911
+ }
3912
+ ]
3913
+ }
3914
+ ]
3915
+ },
3916
+ {
3917
+ "kind": "int",
3918
+ "value": "1"
3919
+ }
3920
+ ]
3921
+ },
3922
+ {
3923
+ "kind": "name",
3924
+ "name": "verdict"
3925
+ },
3926
+ {
3927
+ "kind": "name",
3928
+ "name": "outcome"
3929
+ }
3930
+ ]
3931
+ }
3932
+ },
3933
+ {
3934
+ "field": "base",
3935
+ "rhs": {
3936
+ "kind": "app",
3937
+ "opcode": "ite",
3938
+ "args": [
3939
+ {
3940
+ "kind": "app",
3941
+ "opcode": "eq",
3942
+ "args": [
3943
+ {
3944
+ "kind": "app",
3945
+ "opcode": "moved",
3946
+ "args": [
3947
+ {
3948
+ "kind": "name",
3949
+ "name": "checked"
3950
+ },
3951
+ {
3952
+ "kind": "app",
3953
+ "opcode": "prevWant",
3954
+ "args": [
3955
+ {
3956
+ "kind": "name",
3957
+ "name": "mask"
3958
+ },
3959
+ {
3960
+ "kind": "name",
3961
+ "name": "checked"
3962
+ },
3963
+ {
3964
+ "kind": "name",
3965
+ "name": "focus"
3966
+ }
3967
+ ]
3968
+ }
3969
+ ]
3970
+ },
3971
+ {
3972
+ "kind": "int",
3973
+ "value": "1"
3974
+ }
3975
+ ]
3976
+ },
3977
+ {
3978
+ "kind": "name",
3979
+ "name": "checked"
3980
+ },
3981
+ {
3982
+ "kind": "name",
3983
+ "name": "base"
3984
+ }
3985
+ ]
3986
+ }
3987
+ }
3988
+ ]
3989
+ },
3990
+ {
3991
+ "name": "space",
3992
+ "assignments": [
3993
+ {
3994
+ "field": "flavor",
3995
+ "rhs": {
3996
+ "kind": "name",
3997
+ "name": "flavor"
3998
+ }
3999
+ },
4000
+ {
4001
+ "field": "mask",
4002
+ "rhs": {
4003
+ "kind": "name",
4004
+ "name": "mask"
4005
+ }
4006
+ },
4007
+ {
4008
+ "field": "checked",
4009
+ "rhs": {
4010
+ "kind": "app",
4011
+ "opcode": "landed",
4012
+ "args": [
4013
+ {
4014
+ "kind": "name",
4015
+ "name": "holds"
4016
+ },
4017
+ {
4018
+ "kind": "name",
4019
+ "name": "checked"
4020
+ },
4021
+ {
4022
+ "kind": "app",
4023
+ "opcode": "spaceWant",
4024
+ "args": [
4025
+ {
4026
+ "kind": "name",
4027
+ "name": "checked"
4028
+ },
4029
+ {
4030
+ "kind": "name",
4031
+ "name": "focus"
4032
+ }
4033
+ ]
4034
+ }
4035
+ ]
4036
+ }
4037
+ },
4038
+ {
4039
+ "field": "focus",
4040
+ "rhs": {
4041
+ "kind": "name",
4042
+ "name": "focus"
4043
+ }
4044
+ },
4045
+ {
4046
+ "field": "controlled",
4047
+ "rhs": {
4048
+ "kind": "name",
4049
+ "name": "controlled"
4050
+ }
4051
+ },
4052
+ {
4053
+ "field": "accepting",
4054
+ "rhs": {
4055
+ "kind": "name",
4056
+ "name": "accepting"
4057
+ }
4058
+ },
4059
+ {
4060
+ "field": "valueProp",
4061
+ "rhs": {
4062
+ "kind": "app",
4063
+ "opcode": "propAfter",
4064
+ "args": [
4065
+ {
4066
+ "kind": "name",
4067
+ "name": "follows"
4068
+ },
4069
+ {
4070
+ "kind": "name",
4071
+ "name": "valueProp"
4072
+ },
4073
+ {
4074
+ "kind": "app",
4075
+ "opcode": "spaceWant",
4076
+ "args": [
4077
+ {
4078
+ "kind": "name",
4079
+ "name": "checked"
4080
+ },
4081
+ {
4082
+ "kind": "name",
4083
+ "name": "focus"
4084
+ }
4085
+ ]
4086
+ }
4087
+ ]
4088
+ }
4089
+ },
4090
+ {
4091
+ "field": "requested",
4092
+ "rhs": {
4093
+ "kind": "app",
4094
+ "opcode": "ite",
4095
+ "args": [
4096
+ {
4097
+ "kind": "app",
4098
+ "opcode": "eq",
4099
+ "args": [
4100
+ {
4101
+ "kind": "app",
4102
+ "opcode": "moved",
4103
+ "args": [
4104
+ {
4105
+ "kind": "name",
4106
+ "name": "checked"
4107
+ },
4108
+ {
4109
+ "kind": "app",
4110
+ "opcode": "spaceWant",
4111
+ "args": [
4112
+ {
4113
+ "kind": "name",
4114
+ "name": "checked"
4115
+ },
4116
+ {
4117
+ "kind": "name",
4118
+ "name": "focus"
4119
+ }
4120
+ ]
4121
+ }
4122
+ ]
4123
+ },
4124
+ {
4125
+ "kind": "int",
4126
+ "value": "1"
4127
+ }
4128
+ ]
4129
+ },
4130
+ {
4131
+ "kind": "app",
4132
+ "opcode": "spaceWant",
4133
+ "args": [
4134
+ {
4135
+ "kind": "name",
4136
+ "name": "checked"
4137
+ },
4138
+ {
4139
+ "kind": "name",
4140
+ "name": "focus"
4141
+ }
4142
+ ]
4143
+ },
4144
+ {
4145
+ "kind": "name",
4146
+ "name": "requested"
4147
+ }
4148
+ ]
4149
+ }
4150
+ },
4151
+ {
4152
+ "field": "requests",
4153
+ "rhs": {
4154
+ "kind": "app",
4155
+ "opcode": "iadd",
4156
+ "args": [
4157
+ {
4158
+ "kind": "name",
4159
+ "name": "requests"
4160
+ },
4161
+ {
4162
+ "kind": "app",
4163
+ "opcode": "moved",
4164
+ "args": [
4165
+ {
4166
+ "kind": "name",
4167
+ "name": "checked"
4168
+ },
4169
+ {
4170
+ "kind": "app",
4171
+ "opcode": "spaceWant",
4172
+ "args": [
4173
+ {
4174
+ "kind": "name",
4175
+ "name": "checked"
4176
+ },
4177
+ {
4178
+ "kind": "name",
4179
+ "name": "focus"
4180
+ }
4181
+ ]
4182
+ }
4183
+ ]
4184
+ }
4185
+ ]
4186
+ }
4187
+ },
4188
+ {
4189
+ "field": "outcome",
4190
+ "rhs": {
4191
+ "kind": "app",
4192
+ "opcode": "ite",
4193
+ "args": [
4194
+ {
4195
+ "kind": "app",
4196
+ "opcode": "eq",
4197
+ "args": [
4198
+ {
4199
+ "kind": "app",
4200
+ "opcode": "moved",
4201
+ "args": [
4202
+ {
4203
+ "kind": "name",
4204
+ "name": "checked"
4205
+ },
4206
+ {
4207
+ "kind": "app",
4208
+ "opcode": "spaceWant",
4209
+ "args": [
4210
+ {
4211
+ "kind": "name",
4212
+ "name": "checked"
4213
+ },
4214
+ {
4215
+ "kind": "name",
4216
+ "name": "focus"
4217
+ }
4218
+ ]
4219
+ }
4220
+ ]
4221
+ },
4222
+ {
4223
+ "kind": "int",
4224
+ "value": "1"
4225
+ }
4226
+ ]
4227
+ },
4228
+ {
4229
+ "kind": "name",
4230
+ "name": "verdict"
4231
+ },
4232
+ {
4233
+ "kind": "name",
4234
+ "name": "outcome"
4235
+ }
4236
+ ]
4237
+ }
4238
+ },
4239
+ {
4240
+ "field": "base",
4241
+ "rhs": {
4242
+ "kind": "app",
4243
+ "opcode": "ite",
4244
+ "args": [
4245
+ {
4246
+ "kind": "app",
4247
+ "opcode": "eq",
4248
+ "args": [
4249
+ {
4250
+ "kind": "app",
4251
+ "opcode": "moved",
4252
+ "args": [
4253
+ {
4254
+ "kind": "name",
4255
+ "name": "checked"
4256
+ },
4257
+ {
4258
+ "kind": "app",
4259
+ "opcode": "spaceWant",
4260
+ "args": [
4261
+ {
4262
+ "kind": "name",
4263
+ "name": "checked"
4264
+ },
4265
+ {
4266
+ "kind": "name",
4267
+ "name": "focus"
4268
+ }
4269
+ ]
4270
+ }
4271
+ ]
4272
+ },
4273
+ {
4274
+ "kind": "int",
4275
+ "value": "1"
4276
+ }
4277
+ ]
4278
+ },
4279
+ {
4280
+ "kind": "name",
4281
+ "name": "checked"
4282
+ },
4283
+ {
4284
+ "kind": "name",
4285
+ "name": "base"
4286
+ }
4287
+ ]
4288
+ }
4289
+ }
4290
+ ]
4291
+ },
4292
+ {
4293
+ "name": "click",
4294
+ "nondet": {
4295
+ "name": "target",
4296
+ "kind": "int",
4297
+ "pool": [
4298
+ "0",
4299
+ "1",
4300
+ "2",
4301
+ "3"
4302
+ ]
4303
+ },
4304
+ "assignments": [
4305
+ {
4306
+ "field": "flavor",
4307
+ "rhs": {
4308
+ "kind": "name",
4309
+ "name": "flavor"
4310
+ }
4311
+ },
4312
+ {
4313
+ "field": "mask",
4314
+ "rhs": {
4315
+ "kind": "name",
4316
+ "name": "mask"
4317
+ }
4318
+ },
4319
+ {
4320
+ "field": "checked",
4321
+ "rhs": {
4322
+ "kind": "app",
4323
+ "opcode": "landed",
4324
+ "args": [
4325
+ {
4326
+ "kind": "name",
4327
+ "name": "holds"
4328
+ },
4329
+ {
4330
+ "kind": "name",
4331
+ "name": "checked"
4332
+ },
4333
+ {
4334
+ "kind": "app",
4335
+ "opcode": "clickWant",
4336
+ "args": [
4337
+ {
4338
+ "kind": "name",
4339
+ "name": "target"
4340
+ },
4341
+ {
4342
+ "kind": "name",
4343
+ "name": "mask"
4344
+ },
4345
+ {
4346
+ "kind": "name",
4347
+ "name": "checked"
4348
+ }
4349
+ ]
4350
+ }
4351
+ ]
4352
+ }
4353
+ },
4354
+ {
4355
+ "field": "focus",
4356
+ "rhs": {
4357
+ "kind": "app",
4358
+ "opcode": "ite",
4359
+ "args": [
4360
+ {
4361
+ "kind": "app",
4362
+ "opcode": "isEnabled",
4363
+ "args": [
4364
+ {
4365
+ "kind": "name",
4366
+ "name": "mask"
4367
+ },
4368
+ {
4369
+ "kind": "name",
4370
+ "name": "target"
4371
+ }
4372
+ ]
4373
+ },
4374
+ {
4375
+ "kind": "name",
4376
+ "name": "target"
4377
+ },
4378
+ {
4379
+ "kind": "name",
4380
+ "name": "focus"
4381
+ }
4382
+ ]
4383
+ }
4384
+ },
4385
+ {
4386
+ "field": "controlled",
4387
+ "rhs": {
4388
+ "kind": "name",
4389
+ "name": "controlled"
4390
+ }
4391
+ },
4392
+ {
4393
+ "field": "accepting",
4394
+ "rhs": {
4395
+ "kind": "name",
4396
+ "name": "accepting"
4397
+ }
4398
+ },
4399
+ {
4400
+ "field": "valueProp",
4401
+ "rhs": {
4402
+ "kind": "app",
4403
+ "opcode": "propAfter",
4404
+ "args": [
4405
+ {
4406
+ "kind": "name",
4407
+ "name": "follows"
4408
+ },
4409
+ {
4410
+ "kind": "name",
4411
+ "name": "valueProp"
4412
+ },
4413
+ {
4414
+ "kind": "app",
4415
+ "opcode": "clickWant",
4416
+ "args": [
4417
+ {
4418
+ "kind": "name",
4419
+ "name": "target"
4420
+ },
4421
+ {
4422
+ "kind": "name",
4423
+ "name": "mask"
4424
+ },
4425
+ {
4426
+ "kind": "name",
4427
+ "name": "checked"
4428
+ }
4429
+ ]
4430
+ }
4431
+ ]
4432
+ }
4433
+ },
4434
+ {
4435
+ "field": "requested",
4436
+ "rhs": {
4437
+ "kind": "app",
4438
+ "opcode": "ite",
4439
+ "args": [
4440
+ {
4441
+ "kind": "app",
4442
+ "opcode": "eq",
4443
+ "args": [
4444
+ {
4445
+ "kind": "app",
4446
+ "opcode": "moved",
4447
+ "args": [
4448
+ {
4449
+ "kind": "name",
4450
+ "name": "checked"
4451
+ },
4452
+ {
4453
+ "kind": "app",
4454
+ "opcode": "clickWant",
4455
+ "args": [
4456
+ {
4457
+ "kind": "name",
4458
+ "name": "target"
4459
+ },
4460
+ {
4461
+ "kind": "name",
4462
+ "name": "mask"
4463
+ },
4464
+ {
4465
+ "kind": "name",
4466
+ "name": "checked"
4467
+ }
4468
+ ]
4469
+ }
4470
+ ]
4471
+ },
4472
+ {
4473
+ "kind": "int",
4474
+ "value": "1"
4475
+ }
4476
+ ]
4477
+ },
4478
+ {
4479
+ "kind": "app",
4480
+ "opcode": "clickWant",
4481
+ "args": [
4482
+ {
4483
+ "kind": "name",
4484
+ "name": "target"
4485
+ },
4486
+ {
4487
+ "kind": "name",
4488
+ "name": "mask"
4489
+ },
4490
+ {
4491
+ "kind": "name",
4492
+ "name": "checked"
4493
+ }
4494
+ ]
4495
+ },
4496
+ {
4497
+ "kind": "name",
4498
+ "name": "requested"
4499
+ }
4500
+ ]
4501
+ }
4502
+ },
4503
+ {
4504
+ "field": "requests",
4505
+ "rhs": {
4506
+ "kind": "app",
4507
+ "opcode": "iadd",
4508
+ "args": [
4509
+ {
4510
+ "kind": "name",
4511
+ "name": "requests"
4512
+ },
4513
+ {
4514
+ "kind": "app",
4515
+ "opcode": "moved",
4516
+ "args": [
4517
+ {
4518
+ "kind": "name",
4519
+ "name": "checked"
4520
+ },
4521
+ {
4522
+ "kind": "app",
4523
+ "opcode": "clickWant",
4524
+ "args": [
4525
+ {
4526
+ "kind": "name",
4527
+ "name": "target"
4528
+ },
4529
+ {
4530
+ "kind": "name",
4531
+ "name": "mask"
4532
+ },
4533
+ {
4534
+ "kind": "name",
4535
+ "name": "checked"
4536
+ }
4537
+ ]
4538
+ }
4539
+ ]
4540
+ }
4541
+ ]
4542
+ }
4543
+ },
4544
+ {
4545
+ "field": "outcome",
4546
+ "rhs": {
4547
+ "kind": "app",
4548
+ "opcode": "ite",
4549
+ "args": [
4550
+ {
4551
+ "kind": "app",
4552
+ "opcode": "eq",
4553
+ "args": [
4554
+ {
4555
+ "kind": "app",
4556
+ "opcode": "moved",
4557
+ "args": [
4558
+ {
4559
+ "kind": "name",
4560
+ "name": "checked"
4561
+ },
4562
+ {
4563
+ "kind": "app",
4564
+ "opcode": "clickWant",
4565
+ "args": [
4566
+ {
4567
+ "kind": "name",
4568
+ "name": "target"
4569
+ },
4570
+ {
4571
+ "kind": "name",
4572
+ "name": "mask"
4573
+ },
4574
+ {
4575
+ "kind": "name",
4576
+ "name": "checked"
4577
+ }
4578
+ ]
4579
+ }
4580
+ ]
4581
+ },
4582
+ {
4583
+ "kind": "int",
4584
+ "value": "1"
4585
+ }
4586
+ ]
4587
+ },
4588
+ {
4589
+ "kind": "name",
4590
+ "name": "verdict"
4591
+ },
4592
+ {
4593
+ "kind": "name",
4594
+ "name": "outcome"
4595
+ }
4596
+ ]
4597
+ }
4598
+ },
4599
+ {
4600
+ "field": "base",
4601
+ "rhs": {
4602
+ "kind": "app",
4603
+ "opcode": "ite",
4604
+ "args": [
4605
+ {
4606
+ "kind": "app",
4607
+ "opcode": "eq",
4608
+ "args": [
4609
+ {
4610
+ "kind": "app",
4611
+ "opcode": "moved",
4612
+ "args": [
4613
+ {
4614
+ "kind": "name",
4615
+ "name": "checked"
4616
+ },
4617
+ {
4618
+ "kind": "app",
4619
+ "opcode": "clickWant",
4620
+ "args": [
4621
+ {
4622
+ "kind": "name",
4623
+ "name": "target"
4624
+ },
4625
+ {
4626
+ "kind": "name",
4627
+ "name": "mask"
4628
+ },
4629
+ {
4630
+ "kind": "name",
4631
+ "name": "checked"
4632
+ }
4633
+ ]
4634
+ }
4635
+ ]
4636
+ },
4637
+ {
4638
+ "kind": "int",
4639
+ "value": "1"
4640
+ }
4641
+ ]
4642
+ },
4643
+ {
4644
+ "kind": "name",
4645
+ "name": "checked"
4646
+ },
4647
+ {
4648
+ "kind": "name",
4649
+ "name": "base"
4650
+ }
4651
+ ]
4652
+ }
4653
+ }
4654
+ ]
4655
+ },
4656
+ {
4657
+ "name": "setValue",
4658
+ "nondet": {
4659
+ "name": "v",
4660
+ "kind": "int",
4661
+ "pool": [
4662
+ "-1",
4663
+ "0",
4664
+ "1",
4665
+ "2",
4666
+ "3"
4667
+ ]
4668
+ },
4669
+ "assignments": [
4670
+ {
4671
+ "field": "flavor",
4672
+ "rhs": {
4673
+ "kind": "name",
4674
+ "name": "flavor"
4675
+ }
4676
+ },
4677
+ {
4678
+ "field": "mask",
4679
+ "rhs": {
4680
+ "kind": "name",
4681
+ "name": "mask"
4682
+ }
4683
+ },
4684
+ {
4685
+ "field": "checked",
4686
+ "rhs": {
4687
+ "kind": "app",
4688
+ "opcode": "ite",
4689
+ "args": [
4690
+ {
4691
+ "kind": "app",
4692
+ "opcode": "and",
4693
+ "args": [
4694
+ {
4695
+ "kind": "name",
4696
+ "name": "controlled"
4697
+ },
4698
+ {
4699
+ "kind": "app",
4700
+ "opcode": "validPick",
4701
+ "args": [
4702
+ {
4703
+ "kind": "name",
4704
+ "name": "v"
4705
+ },
4706
+ {
4707
+ "kind": "name",
4708
+ "name": "mask"
4709
+ }
4710
+ ]
4711
+ }
4712
+ ]
4713
+ },
4714
+ {
4715
+ "kind": "name",
4716
+ "name": "v"
4717
+ },
4718
+ {
4719
+ "kind": "name",
4720
+ "name": "checked"
4721
+ }
4722
+ ]
4723
+ }
4724
+ },
4725
+ {
4726
+ "field": "focus",
4727
+ "rhs": {
4728
+ "kind": "name",
4729
+ "name": "focus"
4730
+ }
4731
+ },
4732
+ {
4733
+ "field": "controlled",
4734
+ "rhs": {
4735
+ "kind": "name",
4736
+ "name": "controlled"
4737
+ }
4738
+ },
4739
+ {
4740
+ "field": "accepting",
4741
+ "rhs": {
4742
+ "kind": "name",
4743
+ "name": "accepting"
4744
+ }
4745
+ },
4746
+ {
4747
+ "field": "valueProp",
4748
+ "rhs": {
4749
+ "kind": "app",
4750
+ "opcode": "ite",
4751
+ "args": [
4752
+ {
4753
+ "kind": "app",
4754
+ "opcode": "and",
4755
+ "args": [
4756
+ {
4757
+ "kind": "name",
4758
+ "name": "controlled"
4759
+ },
4760
+ {
4761
+ "kind": "app",
4762
+ "opcode": "validPick",
4763
+ "args": [
4764
+ {
4765
+ "kind": "name",
4766
+ "name": "v"
4767
+ },
4768
+ {
4769
+ "kind": "name",
4770
+ "name": "mask"
4771
+ }
4772
+ ]
4773
+ }
4774
+ ]
4775
+ },
4776
+ {
4777
+ "kind": "name",
4778
+ "name": "v"
4779
+ },
4780
+ {
4781
+ "kind": "name",
4782
+ "name": "valueProp"
4783
+ }
4784
+ ]
4785
+ }
4786
+ },
4787
+ {
4788
+ "field": "requested",
4789
+ "rhs": {
4790
+ "kind": "name",
4791
+ "name": "requested"
4792
+ }
4793
+ },
4794
+ {
4795
+ "field": "requests",
4796
+ "rhs": {
4797
+ "kind": "name",
4798
+ "name": "requests"
4799
+ }
4800
+ },
4801
+ {
4802
+ "field": "outcome",
4803
+ "rhs": {
4804
+ "kind": "app",
4805
+ "opcode": "ite",
4806
+ "args": [
4807
+ {
4808
+ "kind": "name",
4809
+ "name": "controlled"
4810
+ },
4811
+ {
4812
+ "kind": "str",
4813
+ "value": "none"
4814
+ },
4815
+ {
4816
+ "kind": "name",
4817
+ "name": "outcome"
4818
+ }
4819
+ ]
4820
+ }
4821
+ },
4822
+ {
4823
+ "field": "base",
4824
+ "rhs": {
4825
+ "kind": "name",
4826
+ "name": "base"
4827
+ }
4828
+ }
4829
+ ]
4830
+ },
4831
+ {
4832
+ "name": "control",
4833
+ "assignments": [
4834
+ {
4835
+ "field": "flavor",
4836
+ "rhs": {
4837
+ "kind": "name",
4838
+ "name": "flavor"
4839
+ }
4840
+ },
4841
+ {
4842
+ "field": "mask",
4843
+ "rhs": {
4844
+ "kind": "name",
4845
+ "name": "mask"
4846
+ }
4847
+ },
4848
+ {
4849
+ "field": "checked",
4850
+ "rhs": {
4851
+ "kind": "name",
4852
+ "name": "checked"
4853
+ }
4854
+ },
4855
+ {
4856
+ "field": "focus",
4857
+ "rhs": {
4858
+ "kind": "name",
4859
+ "name": "focus"
4860
+ }
4861
+ },
4862
+ {
4863
+ "field": "controlled",
4864
+ "rhs": {
4865
+ "kind": "bool",
4866
+ "value": true
4867
+ }
4868
+ },
4869
+ {
4870
+ "field": "accepting",
4871
+ "rhs": {
4872
+ "kind": "name",
4873
+ "name": "accepting"
4874
+ }
4875
+ },
4876
+ {
4877
+ "field": "valueProp",
4878
+ "rhs": {
4879
+ "kind": "name",
4880
+ "name": "checked"
4881
+ }
4882
+ },
4883
+ {
4884
+ "field": "requested",
4885
+ "rhs": {
4886
+ "kind": "name",
4887
+ "name": "requested"
4888
+ }
4889
+ },
4890
+ {
4891
+ "field": "requests",
4892
+ "rhs": {
4893
+ "kind": "name",
4894
+ "name": "requests"
4895
+ }
4896
+ },
4897
+ {
4898
+ "field": "outcome",
4899
+ "rhs": {
4900
+ "kind": "name",
4901
+ "name": "outcome"
4902
+ }
4903
+ },
4904
+ {
4905
+ "field": "base",
4906
+ "rhs": {
4907
+ "kind": "name",
4908
+ "name": "base"
4909
+ }
4910
+ }
4911
+ ]
4912
+ },
4913
+ {
4914
+ "name": "acceptRequests",
4915
+ "assignments": [
4916
+ {
4917
+ "field": "flavor",
4918
+ "rhs": {
4919
+ "kind": "name",
4920
+ "name": "flavor"
4921
+ }
4922
+ },
4923
+ {
4924
+ "field": "mask",
4925
+ "rhs": {
4926
+ "kind": "name",
4927
+ "name": "mask"
4928
+ }
4929
+ },
4930
+ {
4931
+ "field": "checked",
4932
+ "rhs": {
4933
+ "kind": "name",
4934
+ "name": "checked"
4935
+ }
4936
+ },
4937
+ {
4938
+ "field": "focus",
4939
+ "rhs": {
4940
+ "kind": "name",
4941
+ "name": "focus"
4942
+ }
4943
+ },
4944
+ {
4945
+ "field": "controlled",
4946
+ "rhs": {
4947
+ "kind": "name",
4948
+ "name": "controlled"
4949
+ }
4950
+ },
4951
+ {
4952
+ "field": "accepting",
4953
+ "rhs": {
4954
+ "kind": "bool",
4955
+ "value": true
4956
+ }
4957
+ },
4958
+ {
4959
+ "field": "valueProp",
4960
+ "rhs": {
4961
+ "kind": "name",
4962
+ "name": "valueProp"
4963
+ }
4964
+ },
4965
+ {
4966
+ "field": "requested",
4967
+ "rhs": {
4968
+ "kind": "name",
4969
+ "name": "requested"
4970
+ }
4971
+ },
4972
+ {
4973
+ "field": "requests",
4974
+ "rhs": {
4975
+ "kind": "name",
4976
+ "name": "requests"
4977
+ }
4978
+ },
4979
+ {
4980
+ "field": "outcome",
4981
+ "rhs": {
4982
+ "kind": "name",
4983
+ "name": "outcome"
4984
+ }
4985
+ },
4986
+ {
4987
+ "field": "base",
4988
+ "rhs": {
4989
+ "kind": "name",
4990
+ "name": "base"
4991
+ }
4992
+ }
4993
+ ]
4994
+ }
4995
+ ],
4996
+ "step": [
4997
+ "init",
4998
+ "set_flavor",
4999
+ "set_disabled",
5000
+ "preselect",
5001
+ "enter",
5002
+ "leave",
5003
+ "arrow_next",
5004
+ "arrow_prev",
5005
+ "space",
5006
+ "click",
5007
+ "setValue",
5008
+ "control",
5009
+ "acceptRequests"
5010
+ ]
5011
+ }