I took a big step toward solving the problem.
I'm going to make another post outside this thread with the details, so please read it.