_writeUInt(sig->id);
if (!lookup(bitmasks, sig->id)) {
_writeUInt(sig->num_flags);
for (unsigned i = 0; i < sig->num_flags; ++i) {
if (i != 0 && sig->flags[i].value == 0) {
_writeUInt(sig->id);
if (!lookup(bitmasks, sig->id)) {
_writeUInt(sig->num_flags);
for (unsigned i = 0; i < sig->num_flags; ++i) {
if (i != 0 && sig->flags[i].value == 0) {