시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB141868.451%

문제

아주 오래 전에, 아더왕과 원탁의 기사들은 새 해를 맞이하여 한 곳에 모이곤 했었다. 이와 비슷하게, 체스판에 한 개의 왕과 여러 개의 나이트가 놓여 있고, 이들을 하나의 칸에 모으는 경우를 생각해 보자. 킹와 나이트의 움직임은 다음과 같다.

단순히 킹과 나이트를 한 칸에 모으는 문제라면 쉽겠지만, 이 문제에서는 나이트가 킹을 자신의 말에 태우는 경우를 고려해야 한다. 즉, 킹과 한 개 이상의 나이트가 같은 칸에 놓여있을 때, 킹은 따로 움직일 수도 있고, 아니면 하나의 나이트가 타고 있는 말에 올라탈 수 있다. 킹이 말에 올라타는 것은 하나의 이동으로 세지 않으며, 올라 탄 이후에는 나이트와 똑같이 움직이게 된다. 한 번 말에 오른 킹은 다시 내릴 수는 없다.

나이트가 킹이 있는 곳까지 이동한 뒤에 킹을 태울 수도 있으며, 킹이 나이트가 있는 곳으로 이동하여 말에 오를 수도 있고, 킹과 나이트가 중간의 한 곳에서 만나서 말을 탈수도 있다.

킹과 나이트들의 초기 위치가 주어졌을 때, 이들을 한 칸에 모으기 위한 최소 이동 회수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 체스판의 크기를 나타내는 두 정수 N(1 ≤ N ≤ 40), M(1 ≤ M ≤ 26)이 주어진다. N은 행의 개수, M은 열의 개수이다. 다음 줄에는 킹의 위치를 나타내는 문자 X와 수 Y가 주어진다. X는 알파벳 대문자로 표현되며, 열 번호를 의미한다. Y는 행 번호를 의미한다. 열 번호는 알파벳 A부터 차례대로 매겨진다. 다음 줄부터는 파일의 끝까지 나이트들의 위치가 주어진다. 나이트들의 위치 역시 킹의 위치와 같은 형식으로 주어진다. 파일의 끝은 두 개의 -1로 표현된다. 나이트는 0개일 수도 있고, 체스판을 가득 채울 수도 있다. 물론 같은 위치에는 한 개의 나이트만 있을 수 있다.

출력

첫째 줄에 킹과 나이트들을 한 칸에 모으기 위한 최소 이동 회수를 출력한다. 모이는 칸은 어느 곳이든 가능하다.

예제 입력 1

8 8
D 4
A 3 A 8 H 1 H 8
-1 -1

예제 출력 1

10

힌트

B5에 모이면 된다. 첫 번째 나이트는 A3 B5로 움직이며, 두 번째 나이트는 A8 C7 B5로 움직이며, 세 번째 나이트는 H1 G3 F5 D4(킹을 말에 태우고) B5로 움직이며, 네 번째 나이트는 H8-F7-D6-B5로 움직인다.

W3sicHJvYmxlbV9pZCI6IjIyNDEiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWNlNzRcdWJhNWNcdWI4NmYiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzU0NFx1YzhmYyBcdWM2MjRcdWI3OTggXHVjODA0XHVjNWQwLCBcdWM1NDRcdWIzNTRcdWM2NTVcdWFjZmMgXHVjNmQwXHVkMGMxXHVjNzU4IFx1YWUzMFx1YzBhY1x1YjRlNFx1Yzc0MCBcdWMwYzggXHVkNTc0XHViOTdjIFx1YjlkZVx1Yzc3NFx1ZDU1OFx1YzVlYyBcdWQ1NWMgXHVhY2YzXHVjNWQwIFx1YmFhOFx1Yzc3NFx1YWNlNCBcdWQ1ODhcdWM1YzhcdWIyZTQuIFx1Yzc3NFx1YzY0MCBcdWJlNDRcdWMyYjdcdWQ1NThcdWFjOGMsIFx1Y2NiNFx1YzJhNFx1ZDMxMFx1YzVkMCBcdWQ1NWMgXHVhYzFjXHVjNzU4IFx1YzY1NVx1YWNmYyBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzU4IFx1YjA5OFx1Yzc3NFx1ZDJiOFx1YWMwMCBcdWIxOTNcdWM1ZWMgXHVjNzg4XHVhY2UwLCBcdWM3NzRcdWI0ZTRcdWM3NDQgXHVkNTU4XHViMDk4XHVjNzU4IFx1Y2U3OFx1YzVkMCBcdWJhYThcdWM3M2NcdWIyOTQgXHVhY2JkXHVjNmIwXHViOTdjIFx1YzBkZFx1YWMwMVx1ZDU3NCBcdWJjZjRcdWM3OTAuIFx1ZDBiOVx1YzY0MCBcdWIwOThcdWM3NzRcdWQyYjhcdWM3NTggXHVjNmMwXHVjOWMxXHVjNzg0XHVjNzQwIFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWIyZTQuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvOWEzYTVmMmQtOTkxNi00MzQ5LWIzZTYtNGIwYWE3NmIyZmVhXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiA4M3B4OyBoZWlnaHQ6IDcycHg7XCIgXC8+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC8zYzdiYTQyOC05MTM3LTQ0ODQtYTcwMy1kNzg3OGE3MDQ4MjFcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDEyM3B4OyBoZWlnaHQ6IDEyNHB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5cdWIyZThcdWMyMWNcdWQ3ODggXHVkMGI5XHVhY2ZjIFx1YjA5OFx1Yzc3NFx1ZDJiOFx1Yjk3YyBcdWQ1NWMgXHVjZTc4XHVjNWQwIFx1YmFhOFx1YzczY1x1YjI5NCBcdWJiMzhcdWM4MWNcdWI3N2NcdWJhNzQgXHVjMjdkXHVhY2EwXHVjOWMwXHViOWNjLCBcdWM3NzQgXHViYjM4XHVjODFjXHVjNWQwXHVjMTFjXHViMjk0IFx1YjA5OFx1Yzc3NFx1ZDJiOFx1YWMwMCBcdWQwYjlcdWM3NDQgXHVjNzkwXHVjMmUwXHVjNzU4IFx1YjlkMFx1YzVkMCBcdWQwZGNcdWM2YjBcdWIyOTQgXHVhY2JkXHVjNmIwXHViOTdjIFx1YWNlMFx1YjgyNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1Yzk4OSwgXHVkMGI5XHVhY2ZjIFx1ZDU1YyBcdWFjMWMgXHVjNzc0XHVjMGMxXHVjNzU4IFx1YjA5OFx1Yzc3NFx1ZDJiOFx1YWMwMCBcdWFjMTlcdWM3NDAgXHVjZTc4XHVjNWQwIFx1YjE5M1x1YzVlY1x1Yzc4OFx1Yzc0NCBcdWI1NGMsIFx1ZDBiOVx1Yzc0MCBcdWI1MzBcdWI4NWMgXHVjNmMwXHVjOWMxXHVjNzdjIFx1YzIxOFx1YjNjNCBcdWM3ODhcdWFjZTAsIFx1YzU0NFx1YjJjOFx1YmE3NCBcdWQ1NThcdWIwOThcdWM3NTggXHViMDk4XHVjNzc0XHVkMmI4XHVhYzAwIFx1ZDBjMFx1YWNlMCBcdWM3ODhcdWIyOTQgXHViOWQwXHVjNWQwIFx1YzYyY1x1Yjc3Y1x1ZDBjOCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWQwYjlcdWM3NzQgXHViOWQwXHVjNWQwIFx1YzYyY1x1Yjc3Y1x1ZDBjMFx1YjI5NCBcdWFjODNcdWM3NDAgXHVkNTU4XHViMDk4XHVjNzU4IFx1Yzc3NFx1YjNkOVx1YzczY1x1Yjg1YyBcdWMxMzhcdWM5YzAgXHVjNTRhXHVjNzNjXHViYTcwLCBcdWM2MmNcdWI3N2MgXHVkMGM0IFx1Yzc3NFx1ZDZjNFx1YzVkMFx1YjI5NCBcdWIwOThcdWM3NzRcdWQyYjhcdWM2NDAgXHViNjExXHVhYzE5XHVjNzc0IFx1YzZjMFx1YzljMVx1Yzc3NFx1YWM4YyBcdWI0MWNcdWIyZTQuIFx1ZDU1YyBcdWJjODggXHViOWQwXHVjNWQwIFx1YzYyNFx1Yjk3OCBcdWQwYjlcdWM3NDAgXHViMmU0XHVjMmRjIFx1YjBiNFx1YjliNCBcdWMyMThcdWIyOTQgXHVjNWM2XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIwOThcdWM3NzRcdWQyYjhcdWFjMDAgXHVkMGI5XHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWFjZjNcdWFlNGNcdWM5YzAgXHVjNzc0XHViM2Q5XHVkNTVjIFx1YjRhNFx1YzVkMCBcdWQwYjlcdWM3NDQgXHVkMGRjXHVjNmI4IFx1YzIxOFx1YjNjNCBcdWM3ODhcdWM3M2NcdWJhNzAsIFx1ZDBiOVx1Yzc3NCBcdWIwOThcdWM3NzRcdWQyYjhcdWFjMDAgXHVjNzg4XHViMjk0IFx1YWNmM1x1YzczY1x1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NThcdWM1ZWMgXHViOWQwXHVjNWQwIFx1YzYyNFx1Yjk3YyBcdWMyMThcdWIzYzQgXHVjNzg4XHVhY2UwLCBcdWQwYjlcdWFjZmMgXHViMDk4XHVjNzc0XHVkMmI4XHVhYzAwIFx1YzkxMVx1YWMwNFx1Yzc1OCBcdWQ1NWMgXHVhY2YzXHVjNWQwXHVjMTFjIFx1YjljY1x1YjA5OFx1YzExYyBcdWI5ZDBcdWM3NDQgXHVkMGM4XHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkMGI5XHVhY2ZjIFx1YjA5OFx1Yzc3NFx1ZDJiOFx1YjRlNFx1Yzc1OCBcdWNkMDhcdWFlMzAgXHVjNzA0XHVjZTU4XHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1Yzc3NFx1YjRlNFx1Yzc0NCBcdWQ1NWMgXHVjZTc4XHVjNWQwIFx1YmFhOFx1YzczY1x1YWUzMCBcdWM3MDRcdWQ1NWMgXHVjZDVjXHVjMThjIFx1Yzc3NFx1YjNkOSBcdWQ2OGNcdWMyMThcdWI5N2MgXHVhZDZjXHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1Y2NiNFx1YzJhNFx1ZDMxMFx1Yzc1OCBcdWQwNmNcdWFlMzBcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YjQ1MCBcdWM4MTVcdWMyMTggTigxICZsZTsgTiAmbGU7IDQwKSwgTSgxICZsZTsgTSAmbGU7IDI2KVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIE5cdWM3NDAgXHVkNTg5XHVjNzU4IFx1YWMxY1x1YzIxOCwgTVx1Yzc0MCBcdWM1ZjRcdWM3NTggXHVhYzFjXHVjMjE4XHVjNzc0XHViMmU0LiBcdWIyZTRcdWM3NGMgXHVjOTA0XHVjNWQwXHViMjk0IFx1ZDBiOVx1Yzc1OCBcdWM3MDRcdWNlNThcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YmIzOFx1Yzc5MCBYXHVjNjQwIFx1YzIxOCBZXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gWFx1YjI5NCBcdWM1NGNcdWQzMGNcdWJjYjMgXHViMzAwXHViYjM4XHVjNzkwXHViODVjIFx1ZDQ1Y1x1ZDYwNFx1YjQxOFx1YmE3MCwgXHVjNWY0IFx1YmM4OFx1ZDYzOFx1Yjk3YyBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuIFlcdWIyOTQgXHVkNTg5IFx1YmM4OFx1ZDYzOFx1Yjk3YyBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuIFx1YzVmNCBcdWJjODhcdWQ2MzhcdWIyOTQgXHVjNTRjXHVkMzBjXHViY2IzIEFcdWJkODBcdWQxMzAgXHVjYzI4XHViODQwXHViMzAwXHViODVjIFx1YjllNFx1YWNhOFx1YzljNFx1YjJlNC4gXHViMmU0XHVjNzRjIFx1YzkwNFx1YmQ4MFx1ZDEzMFx1YjI5NCBcdWQzMGNcdWM3N2NcdWM3NTggXHViMDVkXHVhZTRjXHVjOWMwIFx1YjA5OFx1Yzc3NFx1ZDJiOFx1YjRlNFx1Yzc1OCBcdWM3MDRcdWNlNThcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIwOThcdWM3NzRcdWQyYjhcdWI0ZTRcdWM3NTggXHVjNzA0XHVjZTU4IFx1YzVlZFx1YzJkYyBcdWQwYjlcdWM3NTggXHVjNzA0XHVjZTU4XHVjNjQwIFx1YWMxOVx1Yzc0MCBcdWQ2MTVcdWMyZGRcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWQzMGNcdWM3N2NcdWM3NTggXHViMDVkXHVjNzQwIFx1YjQ1MCBcdWFjMWNcdWM3NTggLTFcdWI4NWMgXHVkNDVjXHVkNjA0XHViNDFjXHViMmU0LiBcdWIwOThcdWM3NzRcdWQyYjhcdWIyOTQgMFx1YWMxY1x1Yzc3YyBcdWMyMThcdWIzYzQgXHVjNzg4XHVhY2UwLCBcdWNjYjRcdWMyYTRcdWQzMTBcdWM3NDQgXHVhYzAwXHViNGRkIFx1Y2M0NFx1YzZiOCBcdWMyMThcdWIzYzQgXHVjNzg4XHViMmU0LiBcdWJiM2NcdWI4NjAgXHVhYzE5XHVjNzQwIFx1YzcwNFx1Y2U1OFx1YzVkMFx1YjI5NCBcdWQ1NWMgXHVhYzFjXHVjNzU4IFx1YjA5OFx1Yzc3NFx1ZDJiOFx1YjljYyBcdWM3ODhcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1ZDBiOVx1YWNmYyBcdWIwOThcdWM3NzRcdWQyYjhcdWI0ZTRcdWM3NDQgXHVkNTVjIFx1Y2U3OFx1YzVkMCBcdWJhYThcdWM3M2NcdWFlMzAgXHVjNzA0XHVkNTVjIFx1Y2Q1Y1x1YzE4YyBcdWM3NzRcdWIzZDkgXHVkNjhjXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViYWE4XHVjNzc0XHViMjk0IFx1Y2U3OFx1Yzc0MCBcdWM1YjRcdWIyOTAgXHVhY2YzXHVjNzc0XHViNGUwIFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiPHA+QjVcdWM1ZDAgXHViYWE4XHVjNzc0XHViYTc0IFx1YjQxY1x1YjJlNC4gXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWIwOThcdWM3NzRcdWQyYjhcdWIyOTQgQTMgQjVcdWI4NWMgXHVjNmMwXHVjOWMxXHVjNzc0XHViYTcwLCBcdWI0NTAgXHViYzg4XHVjOWY4IFx1YjA5OFx1Yzc3NFx1ZDJiOFx1YjI5NCBBOCBDNyBCNVx1Yjg1YyBcdWM2YzBcdWM5YzFcdWM3NzRcdWJhNzAsIFx1YzEzOCBcdWJjODhcdWM5ZjggXHViMDk4XHVjNzc0XHVkMmI4XHViMjk0IEgxIEczIEY1IEQ0KFx1ZDBiOVx1Yzc0NCBcdWI5ZDBcdWM1ZDAgXHVkMGRjXHVjNmIwXHVhY2UwKSBCNVx1Yjg1YyBcdWM2YzBcdWM5YzFcdWM3NzRcdWJhNzAsIFx1YjEyNCBcdWJjODhcdWM5ZjggXHViMDk4XHVjNzc0XHVkMmI4XHViMjk0IEg4LUY3LUQ2LUI1XHViODVjIFx1YzZjMFx1YzljMVx1Yzc3OFx1YjJlNC48XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjIyNDEiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJDYW1lbG90IiwiZGVzY3JpcHRpb24iOiI8cD5DZW50dXJpZXMgYWdvLCBLaW5nIEFydGh1ciBhbmQgdGhlIEtuaWdodHMgb2YgdGhlIFJvdW5kIFRhYmxlIHVzZWQgdG8gbWVldCBldmVyeSB5ZWFyIG9uIE5ldyBZZWFyJiMzOTtzIERheSB0byBjZWxlYnJhdGUgdGhlaXIgZmVsbG93c2hpcC4gSW4gcmVtZW1icmFuY2Ugb2YgdGhlc2UgZXZlbnRzLCB3ZSBjb25zaWRlciBhIGJvYXJkIGdhbWUgZm9yIG9uZSBwbGF5ZXIsIG9uIHdoaWNoIG9uZSBraW5nIGFuZCBzZXZlcmFsIGtuaWdodCBwaWVjZXMgYXJlIHBsYWNlZCBhdCByYW5kb20gb24gZGlzdGluY3Qgc3F1YXJlcy48XC9wPlxyXG5cclxuPHA+VGhlIEJvYXJkIGlzIGFuIDh4OCBhcnJheSBvZiBzcXVhcmVzLjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzRiNzQ1MzI5LTU4M2QtNGMwNC04ZGI4LTgwM2IzNWE4MWE0ZVwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogMTk3cHg7IGhlaWdodDogMjAwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPkZpZ3VyZSAxLiBBIGJvYXJkPFwvcD5cclxuXHJcbjxwPlRoZSBLaW5nIGNhbiBtb3ZlIHRvIGFueSBhZGphY2VudCBzcXVhcmUgZnJvbSBTb3VyY2UoPGltZyBhbHQ9XCJcIiBzcmM9XCJcL3VwbG9hZFwvaW1hZ2VzXC9jYW1lbG90LWIuZ2lmXCIgc3R5bGU9XCJoZWlnaHQ6MTBweDsgd2lkdGg6MTBweFwiIFwvPikmbmJzcDt0byBEZXN0aW5hdGlvbig8aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2NhbWVsb3Qtdy5naWZcIiBzdHlsZT1cImhlaWdodDoxMHB4OyB3aWR0aDoxMHB4XCIgXC8+KSAsIGFzIHNob3duIGluIEZpZ3VyZSAyLCBhcyBsb25nIGFzIGl0IGRvZXMgbm90IGZhbGwgb2ZmIHRoZSBib2FyZC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC85YTNhNWYyZC05OTE2LTQzNDktYjNlNi00YjBhYTc2YjJmZWFcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDgzcHg7IGhlaWdodDogNzJweDtcIiBcLz48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+RmlndXJlIDIuIEFsbCBwb3NzaWJsZSBtb3ZlbWVudHMgb2YgdGhlIGtpbmc8XC9wPlxyXG5cclxuPHA+QSBLbmlnaHQgY2FuIGp1bXAgZnJvbSBTb3VyY2UoPGltZyBhbHQ9XCJcIiBzcmM9XCJcL3VwbG9hZFwvaW1hZ2VzXC9jYW1lbG90LWIuZ2lmXCIgc3R5bGU9XCJoZWlnaHQ6MTBweDsgd2lkdGg6MTBweFwiIFwvPikmbmJzcDt0byBEZXN0aW5hdGlvbig8aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2NhbWVsb3Qtdy5naWZcIiBzdHlsZT1cImhlaWdodDoxMHB4OyBvcGFjaXR5OjAuOTsgd2lkdGg6MTBweFwiIFwvPikgLCBhcyBzaG93biBpbiBGaWd1cmUgMywgYXMgbG9uZyBhcyBpdCBkb2VzIG5vdCBmYWxsIG9mZiB0aGUgYm9hcmQuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvM2M3YmE0MjgtOTEzNy00NDg0LWE3MDMtZDc4NzhhNzA0ODIxXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAxMjNweDsgaGVpZ2h0OiAxMjRweDtcIiBcLz48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+RmlndXJlIDMuIEFsbCBwb3NzaWJsZSBtb3ZlbWVudHMgb2YgYSBrbmlnaHQ8XC9wPlxyXG5cclxuPHA+RHVyaW5nIHRoZSBwbGF5LCB0aGUgcGxheWVyIGNhbiBwbGFjZSBtb3JlIHRoYW4gb25lIHBpZWNlIGluIHRoZSBzYW1lIHNxdWFyZS4gVGhlIGJvYXJkIHNxdWFyZXMgYXJlIGFzc3VtZWQgYmlnIGVub3VnaCBzbyB0aGF0IGEgcGllY2UgaXMgbmV2ZXIgYW4gb2JzdGFjbGUgZm9yIG90aGVyIHBpZWNlIHRvIG1vdmUgZnJlZWx5LjxcL3A+XHJcblxyXG48cD5UaGUgcGxheWVyJiMzOTtzIGdvYWwgaXMgdG8gbW92ZSB0aGUgcGllY2VzIHNvIGFzIHRvIGdhdGhlciB0aGVtIGFsbCBpbiB0aGUgc2FtZSBzcXVhcmUsIGluIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBudW1iZXIgb2YgbW92ZXMuIFRvIGFjaGlldmUgdGhpcywgaGUgbXVzdCBtb3ZlIHRoZSBwaWVjZXMgYXMgcHJlc2NyaWJlZCBhYm92ZS4gQWRkaXRpb25hbGx5LCB3aGVuZXZlciB0aGUga2luZyBhbmQgb25lIG9yIG1vcmUga25pZ2h0cyBhcmUgcGxhY2VkIGluIHRoZSBzYW1lIHNxdWFyZSwgdGhlIHBsYXllciBtYXkgY2hvb3NlIHRvIG1vdmUgdGhlIGtpbmcgYW5kIG9uZSBvZiB0aGUga25pZ2h0cyB0b2dldGhlciBoZW5jZWZvcnRoLCBhcyBhIHNpbmdsZSBrbmlnaHQsIHVwIHRvIHRoZSBmaW5hbCBnYXRoZXJpbmcgcG9pbnQuIE1vdmluZyB0aGUga25pZ2h0IHRvZ2V0aGVyIHdpdGggdGhlIGtpbmcgY291bnRzIGFzIGEgc2luZ2xlIG1vdmUuPFwvcD5cclxuXHJcbjxwPldyaXRlIGEgcHJvZ3JhbSB0byBjb21wdXRlIHRoZSBtaW5pbXVtIG51bWJlciBvZiBtb3ZlcyB0aGUgcGxheWVyIG11c3QgcGVyZm9ybSB0byBwcm9kdWNlIHRoZSBnYXRoZXJpbmcuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgaW5wdXQgY29udGFpbnMgdGhlIGluaXRpYWwgYm9hcmQgY29uZmlndXJhdGlvbiwgZW5jb2RlZCBhcyBhIGNoYXJhY3RlciBzdHJpbmcuIFRoZSBzdHJpbmcgY29udGFpbnMgYSBzZXF1ZW5jZSBvZiB1cCB0byA2NCBkaXN0aW5jdCBib2FyZCBwb3NpdGlvbnMsIGJlaW5nIHRoZSBmaXJzdCBvbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBraW5nIGFuZCB0aGUgcmVtYWluaW5nIG9uZXMgdGhvc2Ugb2YgdGhlIGtuaWdodHMuIEVhY2ggcG9zaXRpb24gaXMgYSBsZXR0ZXItZGlnaXQgcGFpci4gVGhlIGxldHRlciBpbmRpY2F0ZXMgdGhlIGhvcml6b250YWwgYm9hcmQgY29vcmRpbmF0ZSwgdGhlIGRpZ2l0IGluZGljYXRlcyB0aGUgdmVydGljYWwgYm9hcmQgY29vcmRpbmF0ZS48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5UaGUgb3V0cHV0IG11c3QgY29udGFpbiBhIHNpbmdsZSBsaW5lIHdpdGggYW4gaW50ZWdlciBpbmRpY2F0aW5nIHRoZSBtaW5pbXVtIG51bWJlciBvZiBtb3ZlcyB0aGUgcGxheWVyIG11c3QgcGVyZm9ybSB0byBwcm9kdWNlIHRoZSBnYXRoZXJpbmcuPFwvcD5cclxuIiwiaGludCI6IjxwPlRoZSBraW5nIGlzIHBvc2l0aW9uZWQgYXQgRDQuIFRoZXJlIGFyZSBmb3VyIGtuaWdodHMsIHBvc2l0aW9uZWQgYXQgQTMsIEE4LCBIMSwgYW5kIEg4LjxcL3A+XHJcbiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4wICZsZTsgbnVtYmVyIG9mIGtuaWdodHMgJmxlOyA2MzxcL2xpPlxyXG48XC91bD5cclxuIn1d