{"abstract":"The event trace violates the matched release rule and produces incorrect keyboard state or command output.","category":"Keyboard interactions","checks":11,"contract":"Case [window,events] with nondecreasing timestamps and events [kind,key,time]. Down repeats do not count. A matched up produces tap and may complete a double if the prior release of the same key is within the inclusive window. Completing a double consumes that prior release. Cancel clears that key, blur clears all state. Return doubles [key,time], held keys and remembered release times. Inputs are finite ordered event traces; return the stated deterministic state. Batch entries are independent. N varies the number of independent input transactions.","evaluation_group":"s3-keyboard-double-tap","failed_approach":"The partial repair changes this transition to elif kind=='up' and bool(held):, which still violates the model contract on the explicit regression traces.","family":"s3-keyboard-interactions-double-tap-matched-release","id":"FA-31146","implementations":{"attempt":{"sha256":"d8cdc086177fb46e69202e0cdee26d72511ace9c70005f009783b7aaac358278","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        window,events=c\n        held=set(); last={}; doubles=[]; taps=0\n        for kind,key,now in events:\n            if kind=='down': held.add(key)\n            elif kind=='up' and bool(held):\n                held.discard(key)\n                taps+=1\n                previous=last.get(key)\n                if previous is not None and now-previous<=window:\n                    doubles.append([key,now])\n                    last.pop(key,None)\n                else:\n                    last[key]=now\n            elif kind=='cancel':\n                held.discard(key); last.pop(key,None)\n            elif kind=='blur':\n                held.clear(); last.clear()\n        return [doubles,sorted(held),sorted([[k,v] for k,v in last.items()]),taps]\n    return [run(c) for c in cases]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('double-tap scenario 0', solve([[4, []]] * N), [[[], [], [], 0]] * N)\ncheck('double-tap scenario 1', solve([[4, [['down', 'A', 0], ['up', 'B', 1]]]] * N), [[[], ['A'], [], 0]] * N)\ncheck('double-tap scenario 2', solve([[4, [['up', 'A', 1]]]] * N), [[[], [], [], 0]] * N)\ncheck('double-tap scenario 3', solve([[4, [['down', 'A', 0], ['up', 'A', 0], ['down', 'A', 2], ['up', 'A', 4]]]] * N), [[[['A', 4]], [], [], 2]] * N)\ncheck('double-tap scenario 4', solve([[4, [['down', 'A', 10], ['up', 'A', 11], ['down', 'B', 12], ['up', 'B', 13]]]] * N), [[[], [], [['A', 11], ['B', 13]], 2]] * N)\ncheck('double-tap scenario 5', solve([[4, [['down', 'A', 1], ['down', 'A', 1], ['up', 'A', 2]]]] * N), [[[], [], [['A', 2]], 1]] * N)\ncheck('double-tap scenario 6', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'A', 10], ['up', 'A', 11], ['down', 'A', 12], ['up', 'A', 13]]]] * N), [[[['A', 13]], [], [], 3]] * N)\ncheck('double-tap scenario 7', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'A', 2], ['up', 'A', 3], ['down', 'A', 4], ['up', 'A', 5]]]] * N), [[[['A', 3]], [], [['A', 5]], 3]] * N)\ncheck('double-tap scenario 8', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'B', 2], ['up', 'B', 3], ['down', 'A', 3], ['up', 'A', 4]]]] * N), [[[['A', 4]], [], [['B', 3]], 3]] * N)\ncheck('double-tap scenario 9', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'B', 2], ['blur', '', 3]]]] * N), [[[], [], [], 1]] * N)\ncheck('double-tap scenario 10', solve([[4, [['down', 'A', 0], ['down', 'B', 1], ['up', 'A', 2]]]] * N), [[[], ['B'], [['A', 2]], 1]] * N)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"c274f49fe660c86de18e1ed98966a982e4e591c32d0fe49ef8be91d63f8210a8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        window,events=c\n        held=set(); last={}; doubles=[]; taps=0\n        for kind,key,now in events:\n            if kind=='down': held.add(key)\n            elif kind=='up':\n                held.discard(key)\n                taps+=1\n                previous=last.get(key)\n                if previous is not None and now-previous<=window:\n                    doubles.append([key,now])\n                    last.pop(key,None)\n                else:\n                    last[key]=now\n            elif kind=='cancel':\n                held.discard(key); last.pop(key,None)\n            elif kind=='blur':\n                held.clear(); last.clear()\n        return [doubles,sorted(held),sorted([[k,v] for k,v in last.items()]),taps]\n    return [run(c) for c in cases]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('double-tap scenario 0', solve([[4, []]] * N), [[[], [], [], 0]] * N)\ncheck('double-tap scenario 1', solve([[4, [['down', 'A', 0], ['up', 'B', 1]]]] * N), [[[], ['A'], [], 0]] * N)\ncheck('double-tap scenario 2', solve([[4, [['up', 'A', 1]]]] * N), [[[], [], [], 0]] * N)\ncheck('double-tap scenario 3', solve([[4, [['down', 'A', 0], ['up', 'A', 0], ['down', 'A', 2], ['up', 'A', 4]]]] * N), [[[['A', 4]], [], [], 2]] * N)\ncheck('double-tap scenario 4', solve([[4, [['down', 'A', 10], ['up', 'A', 11], ['down', 'B', 12], ['up', 'B', 13]]]] * N), [[[], [], [['A', 11], ['B', 13]], 2]] * N)\ncheck('double-tap scenario 5', solve([[4, [['down', 'A', 1], ['down', 'A', 1], ['up', 'A', 2]]]] * N), [[[], [], [['A', 2]], 1]] * N)\ncheck('double-tap scenario 6', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'A', 10], ['up', 'A', 11], ['down', 'A', 12], ['up', 'A', 13]]]] * N), [[[['A', 13]], [], [], 3]] * N)\ncheck('double-tap scenario 7', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'A', 2], ['up', 'A', 3], ['down', 'A', 4], ['up', 'A', 5]]]] * N), [[[['A', 3]], [], [['A', 5]], 3]] * N)\ncheck('double-tap scenario 8', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'B', 2], ['up', 'B', 3], ['down', 'A', 3], ['up', 'A', 4]]]] * N), [[[['A', 4]], [], [['B', 3]], 3]] * N)\ncheck('double-tap scenario 9', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'B', 2], ['blur', '', 3]]]] * N), [[[], [], [], 1]] * N)\ncheck('double-tap scenario 10', solve([[4, [['down', 'A', 0], ['down', 'B', 1], ['up', 'A', 2]]]] * N), [[[], ['B'], [['A', 2]], 1]] * N)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"996bacd31ad41881e54cbca4d0eab47d384d1b6adac1e7258fa4b3224482c7f1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        window,events=c\n        held=set(); last={}; doubles=[]; taps=0\n        for kind,key,now in events:\n            if kind=='down': held.add(key)\n            elif kind=='up' and key in held:\n                held.discard(key)\n                taps+=1\n                previous=last.get(key)\n                if previous is not None and now-previous<=window:\n                    doubles.append([key,now])\n                    last.pop(key,None)\n                else:\n                    last[key]=now\n            elif kind=='cancel':\n                held.discard(key); last.pop(key,None)\n            elif kind=='blur':\n                held.clear(); last.clear()\n        return [doubles,sorted(held),sorted([[k,v] for k,v in last.items()]),taps]\n    return [run(c) for c in cases]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('double-tap scenario 0', solve([[4, []]] * N), [[[], [], [], 0]] * N)\ncheck('double-tap scenario 1', solve([[4, [['down', 'A', 0], ['up', 'B', 1]]]] * N), [[[], ['A'], [], 0]] * N)\ncheck('double-tap scenario 2', solve([[4, [['up', 'A', 1]]]] * N), [[[], [], [], 0]] * N)\ncheck('double-tap scenario 3', solve([[4, [['down', 'A', 0], ['up', 'A', 0], ['down', 'A', 2], ['up', 'A', 4]]]] * N), [[[['A', 4]], [], [], 2]] * N)\ncheck('double-tap scenario 4', solve([[4, [['down', 'A', 10], ['up', 'A', 11], ['down', 'B', 12], ['up', 'B', 13]]]] * N), [[[], [], [['A', 11], ['B', 13]], 2]] * N)\ncheck('double-tap scenario 5', solve([[4, [['down', 'A', 1], ['down', 'A', 1], ['up', 'A', 2]]]] * N), [[[], [], [['A', 2]], 1]] * N)\ncheck('double-tap scenario 6', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'A', 10], ['up', 'A', 11], ['down', 'A', 12], ['up', 'A', 13]]]] * N), [[[['A', 13]], [], [], 3]] * N)\ncheck('double-tap scenario 7', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'A', 2], ['up', 'A', 3], ['down', 'A', 4], ['up', 'A', 5]]]] * N), [[[['A', 3]], [], [['A', 5]], 3]] * N)\ncheck('double-tap scenario 8', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'B', 2], ['up', 'B', 3], ['down', 'A', 3], ['up', 'A', 4]]]] * N), [[[['A', 4]], [], [['B', 3]], 3]] * N)\ncheck('double-tap scenario 9', solve([[4, [['down', 'A', 0], ['up', 'A', 1], ['down', 'B', 2], ['blur', '', 3]]]] * N), [[[], [], [], 1]] * N)\ncheck('double-tap scenario 10', solve([[4, [['down', 'A', 0], ['down', 'B', 1], ['up', 'A', 2]]]] * N), [[[], ['B'], [['A', 2]], 1]] * N)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Offline stipulated event model, not a browser implementation or web standard conformance claim. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-keyboard-interactions-double-tap-matched-release","generated_at":"2026-09-29T14:41:59.321104+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Controlled keyboard event processing model for debugging application event logic.","repair":"Use the contract transition `elif kind=='up' and key in held:` at the matched release fault site; preserve the other state transitions.","root_cause":"An unmatched release counts as a tap even without its own down.","sha256":"731d714601f50e8d7cbf03a29b3292e1669a30dca910fb662c1f90c1c98b1fee","title":"Per-key double tap recognizer: An unmatched release counts as a tap even without its own down · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.376,"exit_code":1,"observations":[{"actual":[[[],[],[],0]],"check":"double-tap scenario 0","expected":[[[],[],[],0]],"passed":true},{"actual":[[[],["A"],[["B",1]],1]],"check":"double-tap scenario 1","expected":[[[],["A"],[],0]],"passed":false},{"actual":[[[],[],[],0]],"check":"double-tap scenario 2","expected":[[[],[],[],0]],"passed":true},{"actual":[[[["A",4]],[],[],2]],"check":"double-tap scenario 3","expected":[[[["A",4]],[],[],2]],"passed":true},{"actual":[[[],[],[["A",11],["B",13]],2]],"check":"double-tap scenario 4","expected":[[[],[],[["A",11],["B",13]],2]],"passed":true},{"actual":[[[],[],[["A",2]],1]],"check":"double-tap scenario 5","expected":[[[],[],[["A",2]],1]],"passed":true},{"actual":[[[["A",13]],[],[],3]],"check":"double-tap scenario 6","expected":[[[["A",13]],[],[],3]],"passed":true},{"actual":[[[["A",3]],[],[["A",5]],3]],"check":"double-tap scenario 7","expected":[[[["A",3]],[],[["A",5]],3]],"passed":true},{"actual":[[[["A",4]],[],[["B",3]],3]],"check":"double-tap scenario 8","expected":[[[["A",4]],[],[["B",3]],3]],"passed":true},{"actual":[[[],[],[],1]],"check":"double-tap scenario 9","expected":[[[],[],[],1]],"passed":true},{"actual":[[[],["B"],[["A",2]],1]],"check":"double-tap scenario 10","expected":[[[],["B"],[["A",2]],1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"double-tap scenario 0\", \"actual\": [[[], [], [], 0]], \"expected\": [[[], [], [], 0]], \"passed\": true}, {\"check\": \"double-tap scenario 1\", \"actual\": [[[], [\"A\"], [[\"B\", 1]], 1]], \"expected\": [[[], [\"A\"], [], 0]], \"passed\": false}, {\"check\": \"double-tap scenario 2\", \"actual\": [[[], [], [], 0]], \"expected\": [[[], [], [], 0]], \"passed\": true}, {\"check\": \"double-tap scenario 3\", \"actual\": [[[[\"A\", 4]], [], [], 2]], \"expected\": [[[[\"A\", 4]], [], [], 2]], \"passed\": true}, {\"check\": \"double-tap scenario 4\", \"actual\": [[[], [], [[\"A\", 11], [\"B\", 13]], 2]], \"expected\": [[[], [], [[\"A\", 11], [\"B\", 13]], 2]], \"passed\": true}, {\"check\": \"double-tap scenario 5\", \"actual\": [[[], [], [[\"A\", 2]], 1]], \"expected\": [[[], [], [[\"A\", 2]], 1]], \"passed\": true}, {\"check\": \"double-tap scenario 6\", \"actual\": [[[[\"A\", 13]], [], [], 3]], \"expected\": [[[[\"A\", 13]], [], [], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 7\", \"actual\": [[[[\"A\", 3]], [], [[\"A\", 5]], 3]], \"expected\": [[[[\"A\", 3]], [], [[\"A\", 5]], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 8\", \"actual\": [[[[\"A\", 4]], [], [[\"B\", 3]], 3]], \"expected\": [[[[\"A\", 4]], [], [[\"B\", 3]], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 9\", \"actual\": [[[], [], [], 1]], \"expected\": [[[], [], [], 1]], \"passed\": true}, {\"check\": \"double-tap scenario 10\", \"actual\": [[[], [\"B\"], [[\"A\", 2]], 1]], \"expected\": [[[], [\"B\"], [[\"A\", 2]], 1]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.0,"exit_code":1,"observations":[{"actual":[[[],[],[],0]],"check":"double-tap scenario 0","expected":[[[],[],[],0]],"passed":true},{"actual":[[[],["A"],[["B",1]],1]],"check":"double-tap scenario 1","expected":[[[],["A"],[],0]],"passed":false},{"actual":[[[],[],[["A",1]],1]],"check":"double-tap scenario 2","expected":[[[],[],[],0]],"passed":false},{"actual":[[[["A",4]],[],[],2]],"check":"double-tap scenario 3","expected":[[[["A",4]],[],[],2]],"passed":true},{"actual":[[[],[],[["A",11],["B",13]],2]],"check":"double-tap scenario 4","expected":[[[],[],[["A",11],["B",13]],2]],"passed":true},{"actual":[[[],[],[["A",2]],1]],"check":"double-tap scenario 5","expected":[[[],[],[["A",2]],1]],"passed":true},{"actual":[[[["A",13]],[],[],3]],"check":"double-tap scenario 6","expected":[[[["A",13]],[],[],3]],"passed":true},{"actual":[[[["A",3]],[],[["A",5]],3]],"check":"double-tap scenario 7","expected":[[[["A",3]],[],[["A",5]],3]],"passed":true},{"actual":[[[["A",4]],[],[["B",3]],3]],"check":"double-tap scenario 8","expected":[[[["A",4]],[],[["B",3]],3]],"passed":true},{"actual":[[[],[],[],1]],"check":"double-tap scenario 9","expected":[[[],[],[],1]],"passed":true},{"actual":[[[],["B"],[["A",2]],1]],"check":"double-tap scenario 10","expected":[[[],["B"],[["A",2]],1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"double-tap scenario 0\", \"actual\": [[[], [], [], 0]], \"expected\": [[[], [], [], 0]], \"passed\": true}, {\"check\": \"double-tap scenario 1\", \"actual\": [[[], [\"A\"], [[\"B\", 1]], 1]], \"expected\": [[[], [\"A\"], [], 0]], \"passed\": false}, {\"check\": \"double-tap scenario 2\", \"actual\": [[[], [], [[\"A\", 1]], 1]], \"expected\": [[[], [], [], 0]], \"passed\": false}, {\"check\": \"double-tap scenario 3\", \"actual\": [[[[\"A\", 4]], [], [], 2]], \"expected\": [[[[\"A\", 4]], [], [], 2]], \"passed\": true}, {\"check\": \"double-tap scenario 4\", \"actual\": [[[], [], [[\"A\", 11], [\"B\", 13]], 2]], \"expected\": [[[], [], [[\"A\", 11], [\"B\", 13]], 2]], \"passed\": true}, {\"check\": \"double-tap scenario 5\", \"actual\": [[[], [], [[\"A\", 2]], 1]], \"expected\": [[[], [], [[\"A\", 2]], 1]], \"passed\": true}, {\"check\": \"double-tap scenario 6\", \"actual\": [[[[\"A\", 13]], [], [], 3]], \"expected\": [[[[\"A\", 13]], [], [], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 7\", \"actual\": [[[[\"A\", 3]], [], [[\"A\", 5]], 3]], \"expected\": [[[[\"A\", 3]], [], [[\"A\", 5]], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 8\", \"actual\": [[[[\"A\", 4]], [], [[\"B\", 3]], 3]], \"expected\": [[[[\"A\", 4]], [], [[\"B\", 3]], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 9\", \"actual\": [[[], [], [], 1]], \"expected\": [[[], [], [], 1]], \"passed\": true}, {\"check\": \"double-tap scenario 10\", \"actual\": [[[], [\"B\"], [[\"A\", 2]], 1]], \"expected\": [[[], [\"B\"], [[\"A\", 2]], 1]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.845,"exit_code":0,"observations":[{"actual":[[[],[],[],0]],"check":"double-tap scenario 0","expected":[[[],[],[],0]],"passed":true},{"actual":[[[],["A"],[],0]],"check":"double-tap scenario 1","expected":[[[],["A"],[],0]],"passed":true},{"actual":[[[],[],[],0]],"check":"double-tap scenario 2","expected":[[[],[],[],0]],"passed":true},{"actual":[[[["A",4]],[],[],2]],"check":"double-tap scenario 3","expected":[[[["A",4]],[],[],2]],"passed":true},{"actual":[[[],[],[["A",11],["B",13]],2]],"check":"double-tap scenario 4","expected":[[[],[],[["A",11],["B",13]],2]],"passed":true},{"actual":[[[],[],[["A",2]],1]],"check":"double-tap scenario 5","expected":[[[],[],[["A",2]],1]],"passed":true},{"actual":[[[["A",13]],[],[],3]],"check":"double-tap scenario 6","expected":[[[["A",13]],[],[],3]],"passed":true},{"actual":[[[["A",3]],[],[["A",5]],3]],"check":"double-tap scenario 7","expected":[[[["A",3]],[],[["A",5]],3]],"passed":true},{"actual":[[[["A",4]],[],[["B",3]],3]],"check":"double-tap scenario 8","expected":[[[["A",4]],[],[["B",3]],3]],"passed":true},{"actual":[[[],[],[],1]],"check":"double-tap scenario 9","expected":[[[],[],[],1]],"passed":true},{"actual":[[[],["B"],[["A",2]],1]],"check":"double-tap scenario 10","expected":[[[],["B"],[["A",2]],1]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"double-tap scenario 0\", \"actual\": [[[], [], [], 0]], \"expected\": [[[], [], [], 0]], \"passed\": true}, {\"check\": \"double-tap scenario 1\", \"actual\": [[[], [\"A\"], [], 0]], \"expected\": [[[], [\"A\"], [], 0]], \"passed\": true}, {\"check\": \"double-tap scenario 2\", \"actual\": [[[], [], [], 0]], \"expected\": [[[], [], [], 0]], \"passed\": true}, {\"check\": \"double-tap scenario 3\", \"actual\": [[[[\"A\", 4]], [], [], 2]], \"expected\": [[[[\"A\", 4]], [], [], 2]], \"passed\": true}, {\"check\": \"double-tap scenario 4\", \"actual\": [[[], [], [[\"A\", 11], [\"B\", 13]], 2]], \"expected\": [[[], [], [[\"A\", 11], [\"B\", 13]], 2]], \"passed\": true}, {\"check\": \"double-tap scenario 5\", \"actual\": [[[], [], [[\"A\", 2]], 1]], \"expected\": [[[], [], [[\"A\", 2]], 1]], \"passed\": true}, {\"check\": \"double-tap scenario 6\", \"actual\": [[[[\"A\", 13]], [], [], 3]], \"expected\": [[[[\"A\", 13]], [], [], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 7\", \"actual\": [[[[\"A\", 3]], [], [[\"A\", 5]], 3]], \"expected\": [[[[\"A\", 3]], [], [[\"A\", 5]], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 8\", \"actual\": [[[[\"A\", 4]], [], [[\"B\", 3]], 3]], \"expected\": [[[[\"A\", 4]], [], [[\"B\", 3]], 3]], \"passed\": true}, {\"check\": \"double-tap scenario 9\", \"actual\": [[[], [], [], 1]], \"expected\": [[[], [], [], 1]], \"passed\": true}, {\"check\": \"double-tap scenario 10\", \"actual\": [[[], [\"B\"], [[\"A\", 2]], 1]], \"expected\": [[[], [\"B\"], [[\"A\", 2]], 1]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}