Stem HiddenServiceOptions does not reflect reality
Suppose I have in my torrc:
HiddenServiceDir x
HiddenServicePort a
HiddenServicePort b
HiddenServiceDir y
HiddenServicePort c
This means run service x on port a,b and a different (hopefully unlinkable) service y on port c.
However stem's HiddenServiceOptions
gives output like
{'HiddenServicePort': [a, b, c], 'HiddenServiceDir': [x, y]}
This loses information from the original config and there is no way for stem's client to reconstruct the original meaning of the torrc.