#let isUsed = state("mitreIsUsed", false) #let mitreData = json("../extern/mitre-attack.json") #let reference(name: str, id: str) = { let elem = mitreData.find(d => d.name == name or d.id == id) if elem == none { panic("Referenced MITRE ATT&CK attack pattern, but it couldn't be found: id=" + str(id) + ", name=" + str(name)) } text([ _#elem.name _ (#elem.id)#footnote(elem.url) ]) context(isUsed.update(true)) }