Kirkcudbright, Dumfries and Galloway, Scotland