• Nearly finished my solution to this. Turns out to be far more involved and have loads of gotchas than a casual approach would reveal.