def from_bytes(self, string):
msg = srsly.msgpack_loads(gzip.decompress(string))<EOL>self.attrs = msg["<STR_LIT>"]<EOL>self.strings = set(msg["<STR_LIT>"])<EOL>lengths = numpy.fromstring(msg["<STR_LIT>"], dtype="<STR_LIT>")<EOL>flat_spaces = numpy.fromstring(msg["<STR_LIT>"], dtype=bool)<EOL>flat_tokens = numpy.fromstring(msg["<STR_LIT>"], dtype="<STR_LIT>")<EOL>shape = (flat_tokens.size // len(self.attrs), len(self.attrs))<EOL>flat_tokens = flat_tokens.reshape(shape)<EOL>flat_spaces = flat_spaces.reshape((flat_spaces.size, <NUM_LIT:1>))<EOL>self.tokens = NumpyOps().unflatten(flat_tokens, lengths)<EOL>self.spaces = NumpyOps().unflatten(flat_spaces, lengths)<EOL>for tokens in self.tokens:<EOL><INDENT>assert len(tokens.shape) == <NUM_LIT:2>, tokens.shape<EOL><DEDENT>return self<EOL>
Deserialize the binder's annotations from a byte string.