Deep-dive into .NET Core primitives, part 3: runtimeconfig.json in depth