!7 p { ai_spec_init(); } html { final L answers = concatLists(ll(""), ai_matrix_standardAnswers()); S _topic = params.get("topic"); if (empty(_topic)) _topic = ai_randomString(); fS topic = _topic; Set options = ai_matrix_categoriesForTopic(topic); options.addAll(ai_matrix_standardCategories()); bool authed = creatorAuthed(); ret htitle_htmlencode("Matrix: " + topic) + hcenter( p(b(hfontsize(20, topic)), style := "margin-top: 3em") + form(hhidden(+topic) + hsubmit("Save") + htable_noEncode( map(options, func(S cat) -> Map { S userAnswer = null; ret litorderedmap( "Statement", b(htmlencode2(topic)) + " is " + htmlencode2(cat), "Computer Answer", htmlEncode(ai_matrixGet(topic, cat)), "Your Answer", hselect_list(answers, userAnswer, name := "cat-" + urlencode(cat)) //hcheckbox(urlencode(s), tossCoin()) ); } )))) + p(authed ? "Authed" : "Not authed"); }