code: func (m *matcher) dec(z *nstate, s string) {
  	b := append(m.buf[:0], s...)
  	m.buf = b
  	z.needFlag = syntax.EmptyOp(b[0])
  	b = b[1:]
  	i, n := binary.Uvarint(b)
  	if n <= 0 {
  		bug()
  	}
  	b = b[n:]
  	z.flag = flags(i)
  	z.q.Reset()
  	last := ^uint32(0)
  	for len(b) > 0 {
  		i, n = binary.Uvarint(b)
  		if n <= 0 {
  			bug()
  		}
  		b = b[n:]
  		last += uint32(i)
  		z.q.Add(last, 0, 0)
  	}
  }
docs: // dec decodes the encoding s into z.