시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 43 6 4 44.444%

문제

한 회사에서 지뢰 탐사용 로봇을 출시하였다. 이 회사의 로봇 제품은 명령에 따라 움직이거나, 혹은 돌거나, 혹은 지뢰를 찾아보게 된다. 이러한 명령은 총 네 가지 종류로 정리되어 있는데, 각각은 다음과 같다.

(1) Forward : 로봇이 한 칸 앞으로 이동한다.
  (2) Turn Left : 로봇이 왼쪽으로 90도만큼 회전한다.
  (3) Turn Right : 로봇이 오른쪽으로 90도만큼 회전한다.
  (4) Scan : 로봇의 한 칸 앞에서 지뢰를 찾아본다.

회전은 90도 단위로 하게 되는데, 이는 로봇의 성능의 한계 때문에 지형을 격자 형태로 인식하여 처리하기 때문이다. 또한, 회전을 항상 90도 단위로 해야 하기 때문에 뒤로 돌기 위해서는 두 번의 회전 명령을 내려야 한다.

지뢰 탐사에 로봇을 사용하는 아이디어가 획기적이었기 때문에, 여러 국가의 국방부에서 이 로봇에 대한 관심을 보이게 되었다. 하지만 중국에서 이 로봇과 똑같은 제품을 더 싼 가격에 내놓게 되었고, 이에 대응하기 위해 회사에서는 새로운 로봇 개발에 박차를 가하였다. 새로운 로봇은 다음의 두 종류의 명령에 따라 움직이게 된다.

(1) Move [방향] [N] : 로봇이 [방향] 쪽으로 [N]칸 이동한다. [방향]은 Forward, Back, Left, Right 중의 하나이며 N은 양의 정수이다. 만약 [방향]이 Forward가 아니라면, 그 쪽으로 먼저 회전을 한 뒤에 움직이게 된다(움직인 뒤에는 회전한 방향을 유지한다).
  (2) Scan [방향] : 로봇이 [방향] 쪽의 한 칸 앞에서 지뢰를 찾아본다. [방향]은 Forward, Back, Left, Right 중의 하나이다. 만약 [방향]이 Forward가 아니라면, 그 쪽으로 먼저 회전을 한 뒤에 지뢰를 찾아보게 된다(지뢰를 찾아본 뒤에는 회전한 방향을 유지한다).

회사 측에서는 명령의 종류를 줄여서 더욱 효율적으로 지뢰 탐사를 수행할 수 있다는 사실을 홍보하려 한다. 이를 위해서 구형 로봇을 동작시키기 위해 필요한 명령 회수와, 똑같은 작업을 수행하기 위한 신형 로봇의 명령 회수를 비교해 보려 한다.

구형 로봇에서 수행한 명령들이 주어졌을 때, 이와 같은 동작을 하도록 하기 위해 신형 로봇에 입력해야 하는 최소 개수의 명령을 찾아내는 프로그램을 작성하시오. 구형 로봇과 신형 로봇은 같은 위치에서, 같은 방향을 향해 있는 상태에서 동작을 시작하며, 지뢰들을 같은 순서대로, 같은 위치를 찾아보아야 한다. 중간에 지나는 위치는 다르더라도 Scan을 수행하는 위치만 일치하면 되는 것으로 한다. 또, 만약 같은 위치에 대해서 여러 번 Scan을 수행하는 입력이 주어진다면, 출력 역시 같은 위치에 대해서 여러 번 Scan을 수행해야 한다. 로봇 자체는 지뢰에 대한 방어 장치가 있기 때문에, Scan을 수행해야 하는 위치를 지나 갈 수도 있다.

입력

첫째 줄에 구형 로봇에서 수행한 명령의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 각각의 명령이 위에 있는 형식대로, 한 줄에 하나씩 주어진다.

출력

첫째 줄에 신형 로봇에서 필요한 최소 개수의 명령을 출력한다.

예제 입력 1

8
Forward
Forward
Turn Left
Forward
Scan
Turn Right
Scan
Forward

예제 출력 1

4

힌트

W3sicHJvYmxlbV9pZCI6IjIxMzEiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWI4NWNcdWJkMDcgXHViYTg1XHViODM5IiwiZGVzY3JpcHRpb24iOiI8cD5cdWQ1NWMgXHVkNjhjXHVjMGFjXHVjNWQwXHVjMTFjIFx1YzljMFx1YjhiMCBcdWQwZDBcdWMwYWNcdWM2YTkgXHViODVjXHViZDA3XHVjNzQ0IFx1Y2Q5Y1x1YzJkY1x1ZDU1OFx1YzYwMFx1YjJlNC4gXHVjNzc0IFx1ZDY4Y1x1YzBhY1x1Yzc1OCBcdWI4NWNcdWJkMDcgXHVjODFjXHVkNDg4XHVjNzQwIFx1YmE4NVx1YjgzOVx1YzVkMCBcdWI1MzBcdWI3N2MgXHVjNmMwXHVjOWMxXHVjNzc0XHVhYzcwXHViMDk4LCBcdWQ2MzlcdWM3NDAgXHViM2NjXHVhYzcwXHViMDk4LCBcdWQ2MzlcdWM3NDAgXHVjOWMwXHViOGIwXHViOTdjIFx1Y2MzZVx1YzU0NFx1YmNmNFx1YWM4YyBcdWI0MWNcdWIyZTQuIFx1Yzc3NFx1YjdlY1x1ZDU1YyBcdWJhODVcdWI4MzlcdWM3NDAgXHVjZDFkIFx1YjEyNCBcdWFjMDBcdWM5YzAgXHVjODg1XHViOTU4XHViODVjIFx1YzgxNVx1YjlhY1x1YjQxOFx1YzViNCBcdWM3ODhcdWIyOTRcdWIzNzAsIFx1YWMwMVx1YWMwMVx1Yzc0MCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcbjxwPigxKSBGb3J3YXJkIDogXHViODVjXHViZDA3XHVjNzc0IFx1ZDU1YyBcdWNlNzggXHVjNTVlXHVjNzNjXHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1Y1x1YjJlNC48YnIgXC8+XHJcbiZuYnNwOyAoMikgVHVybiBMZWZ0IDogXHViODVjXHViZDA3XHVjNzc0IFx1YzY3Y1x1Y2FiZFx1YzczY1x1Yjg1YyA5MFx1YjNjNFx1YjljY1x1ZDA3YyBcdWQ2OGNcdWM4MDRcdWQ1NWNcdWIyZTQuPGJyIFwvPlxyXG4mbmJzcDsgKDMpIFR1cm4gUmlnaHQgOiBcdWI4NWNcdWJkMDdcdWM3NzQgXHVjNjI0XHViOTc4XHVjYWJkXHVjNzNjXHViODVjIDkwXHViM2M0XHViOWNjXHVkMDdjIFx1ZDY4Y1x1YzgwNFx1ZDU1Y1x1YjJlNC48YnIgXC8+XHJcbiZuYnNwOyAoNCkgU2NhbiA6IFx1Yjg1Y1x1YmQwN1x1Yzc1OCBcdWQ1NWMgXHVjZTc4IFx1YzU1ZVx1YzVkMFx1YzExYyBcdWM5YzBcdWI4YjBcdWI5N2MgXHVjYzNlXHVjNTQ0XHViY2Y4XHViMmU0LjxcL3A+XHJcbjxwPlx1ZDY4Y1x1YzgwNFx1Yzc0MCA5MFx1YjNjNCBcdWIyZThcdWM3MDRcdWI4NWMgXHVkNTU4XHVhYzhjIFx1YjQxOFx1YjI5NFx1YjM3MCwgXHVjNzc0XHViMjk0IFx1Yjg1Y1x1YmQwN1x1Yzc1OCBcdWMxMzFcdWIyYTVcdWM3NTggXHVkNTVjXHVhY2M0IFx1YjU0Y1x1YmIzOFx1YzVkMCBcdWM5YzBcdWQ2MTVcdWM3NDQgXHVhY2E5XHVjNzkwIFx1ZDYxNVx1ZDBkY1x1Yjg1YyBcdWM3NzhcdWMyZGRcdWQ1NThcdWM1ZWMgXHVjYzk4XHViOWFjXHVkNTU4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1Yzc3NFx1YjJlNC4gXHViNjEwXHVkNTVjLCBcdWQ2OGNcdWM4MDRcdWM3NDQgXHVkNTZkXHVjMGMxIDkwXHViM2M0IFx1YjJlOFx1YzcwNFx1Yjg1YyBcdWQ1NzRcdWM1N2MgXHVkNTU4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCBcdWI0YTRcdWI4NWMgXHViM2NjXHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExY1x1YjI5NCBcdWI0NTAgXHViYzg4XHVjNzU4IFx1ZDY4Y1x1YzgwNCBcdWJhODVcdWI4MzlcdWM3NDQgXHViMGI0XHViODI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG48cD5cdWM5YzBcdWI4YjAgXHVkMGQwXHVjMGFjXHVjNWQwIFx1Yjg1Y1x1YmQwN1x1Yzc0NCBcdWMwYWNcdWM2YTlcdWQ1NThcdWIyOTQgXHVjNTQ0XHVjNzc0XHViNTE0XHVjNWI0XHVhYzAwIFx1ZDY4ZFx1YWUzMFx1YzgwMVx1Yzc3NFx1YzVjOFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIFx1YzVlY1x1YjdlYyBcdWFkNmRcdWFjMDBcdWM3NTggXHVhZDZkXHViYzI5XHViZDgwXHVjNWQwXHVjMTFjIFx1Yzc3NCBcdWI4NWNcdWJkMDdcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YWQwMFx1YzJlY1x1Yzc0NCBcdWJjZjRcdWM3NzRcdWFjOGMgXHViNDE4XHVjNWM4XHViMmU0LiBcdWQ1NThcdWM5YzBcdWI5Y2MgXHVjOTExXHVhZDZkXHVjNWQwXHVjMTFjIFx1Yzc3NCBcdWI4NWNcdWJkMDdcdWFjZmMgXHViNjExXHVhYzE5XHVjNzQwIFx1YzgxY1x1ZDQ4OFx1Yzc0NCBcdWIzNTQgXHVjMmZjIFx1YWMwMFx1YWNhOVx1YzVkMCBcdWIwYjRcdWIxOTNcdWFjOGMgXHViNDE4XHVjNWM4XHVhY2UwLCBcdWM3NzRcdWM1ZDAgXHViMzAwXHVjNzUxXHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWQ2OGNcdWMwYWNcdWM1ZDBcdWMxMWNcdWIyOTQgXHVjMGM4XHViODVjXHVjNmI0IFx1Yjg1Y1x1YmQwNyBcdWFjMWNcdWJjMWNcdWM1ZDAgXHViYzE1XHVjYzI4XHViOTdjIFx1YWMwMFx1ZDU1OFx1YzYwMFx1YjJlNC4gXHVjMGM4XHViODVjXHVjNmI0IFx1Yjg1Y1x1YmQwN1x1Yzc0MCBcdWIyZTRcdWM3NGNcdWM3NTggXHViNDUwIFx1Yzg4NVx1Yjk1OFx1Yzc1OCBcdWJhODVcdWI4MzlcdWM1ZDAgXHViNTMwXHViNzdjIFx1YzZjMFx1YzljMVx1Yzc3NFx1YWM4YyBcdWI0MWNcdWIyZTQuPFwvcD5cclxuPHA+KDEpIE1vdmUgW1x1YmMyOVx1ZDVhNV0gW05dIDogXHViODVjXHViZDA3XHVjNzc0IFtcdWJjMjlcdWQ1YTVdIFx1Y2FiZFx1YzczY1x1Yjg1YyBbTl1cdWNlNzggXHVjNzc0XHViM2Q5XHVkNTVjXHViMmU0LiBbXHViYzI5XHVkNWE1XVx1Yzc0MCBGb3J3YXJkLCBCYWNrLCBMZWZ0LCBSaWdodCBcdWM5MTFcdWM3NTggXHVkNTU4XHViMDk4XHVjNzc0XHViYTcwIE5cdWM3NDAgXHVjNTkxXHVjNzU4IFx1YzgxNVx1YzIxOFx1Yzc3NFx1YjJlNC4gXHViOWNjXHVjNTdkIFtcdWJjMjlcdWQ1YTVdXHVjNzc0IEZvcndhcmRcdWFjMDAgXHVjNTQ0XHViMmM4XHViNzdjXHViYTc0LCBcdWFkZjggXHVjYWJkXHVjNzNjXHViODVjIFx1YmEzY1x1YzgwMCBcdWQ2OGNcdWM4MDRcdWM3NDQgXHVkNTVjIFx1YjRhNFx1YzVkMCBcdWM2YzBcdWM5YzFcdWM3NzRcdWFjOGMgXHViNDFjXHViMmU0KFx1YzZjMFx1YzljMVx1Yzc3OCBcdWI0YTRcdWM1ZDBcdWIyOTQgXHVkNjhjXHVjODA0XHVkNTVjIFx1YmMyOVx1ZDVhNVx1Yzc0NCBcdWM3MjBcdWM5YzBcdWQ1NWNcdWIyZTQpLjxiciBcLz5cclxuJm5ic3A7ICgyKSBTY2FuIFtcdWJjMjlcdWQ1YTVdIDogXHViODVjXHViZDA3XHVjNzc0IFtcdWJjMjlcdWQ1YTVdIFx1Y2FiZFx1Yzc1OCBcdWQ1NWMgXHVjZTc4IFx1YzU1ZVx1YzVkMFx1YzExYyBcdWM5YzBcdWI4YjBcdWI5N2MgXHVjYzNlXHVjNTQ0XHViY2Y4XHViMmU0LiBbXHViYzI5XHVkNWE1XVx1Yzc0MCBGb3J3YXJkLCBCYWNrLCBMZWZ0LCBSaWdodCBcdWM5MTFcdWM3NTggXHVkNTU4XHViMDk4XHVjNzc0XHViMmU0LiBcdWI5Y2NcdWM1N2QgW1x1YmMyOVx1ZDVhNV1cdWM3NzQgRm9yd2FyZFx1YWMwMCBcdWM1NDRcdWIyYzhcdWI3N2NcdWJhNzQsIFx1YWRmOCBcdWNhYmRcdWM3M2NcdWI4NWMgXHViYTNjXHVjODAwIFx1ZDY4Y1x1YzgwNFx1Yzc0NCBcdWQ1NWMgXHViNGE0XHVjNWQwIFx1YzljMFx1YjhiMFx1Yjk3YyBcdWNjM2VcdWM1NDRcdWJjZjRcdWFjOGMgXHViNDFjXHViMmU0KFx1YzljMFx1YjhiMFx1Yjk3YyBcdWNjM2VcdWM1NDRcdWJjZjggXHViNGE0XHVjNWQwXHViMjk0IFx1ZDY4Y1x1YzgwNFx1ZDU1YyBcdWJjMjlcdWQ1YTVcdWM3NDQgXHVjNzIwXHVjOWMwXHVkNTVjXHViMmU0KS48XC9wPlxyXG48cD5cdWQ2OGNcdWMwYWMgXHVjZTIxXHVjNWQwXHVjMTFjXHViMjk0IFx1YmE4NVx1YjgzOVx1Yzc1OCBcdWM4ODVcdWI5NThcdWI5N2MgXHVjOTA0XHVjNWVjXHVjMTFjIFx1YjM1NFx1YzZiMSBcdWQ2YThcdWM3MjhcdWM4MDFcdWM3M2NcdWI4NWMgXHVjOWMwXHViOGIwIFx1ZDBkMFx1YzBhY1x1Yjk3YyBcdWMyMThcdWQ1ODlcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNFx1YjI5NCBcdWMwYWNcdWMyZTRcdWM3NDQgXHVkNjRkXHViY2Y0XHVkNTU4XHViODI0IFx1ZDU1Y1x1YjJlNC4gXHVjNzc0XHViOTdjIFx1YzcwNFx1ZDU3NFx1YzExYyBcdWFkNmNcdWQ2MTUgXHViODVjXHViZDA3XHVjNzQ0IFx1YjNkOVx1Yzc5MVx1YzJkY1x1ZDBhNFx1YWUzMCBcdWM3MDRcdWQ1NzQgXHVkNTQ0XHVjNjk0XHVkNTVjIFx1YmE4NVx1YjgzOSBcdWQ2OGNcdWMyMThcdWM2NDAsIFx1YjYxMVx1YWMxOVx1Yzc0MCBcdWM3OTFcdWM1YzVcdWM3NDQgXHVjMjE4XHVkNTg5XHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU1YyBcdWMyZTBcdWQ2MTUgXHViODVjXHViZDA3XHVjNzU4IFx1YmE4NVx1YjgzOSBcdWQ2OGNcdWMyMThcdWI5N2MgXHViZTQ0XHVhZDUwXHVkNTc0IFx1YmNmNFx1YjgyNCBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuPHA+XHVhZDZjXHVkNjE1IFx1Yjg1Y1x1YmQwN1x1YzVkMFx1YzExYyBcdWMyMThcdWQ1ODlcdWQ1NWMgXHViYTg1XHViODM5XHViNGU0XHVjNzc0IFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1Yzc3NFx1YzY0MCBcdWFjMTlcdWM3NDAgXHViM2Q5XHVjNzkxXHVjNzQ0IFx1ZDU1OFx1YjNjNFx1Yjg1ZCBcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0IFx1YzJlMFx1ZDYxNSBcdWI4NWNcdWJkMDdcdWM1ZDAgXHVjNzg1XHViODI1XHVkNTc0XHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWNkNWNcdWMxOGMgXHVhYzFjXHVjMjE4XHVjNzU4IFx1YmE4NVx1YjgzOVx1Yzc0NCBcdWNjM2VcdWM1NDRcdWIwYjRcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC4gXHVhZDZjXHVkNjE1IFx1Yjg1Y1x1YmQwN1x1YWNmYyBcdWMyZTBcdWQ2MTUgXHViODVjXHViZDA3XHVjNzQwIFx1YWMxOVx1Yzc0MCBcdWM3MDRcdWNlNThcdWM1ZDBcdWMxMWMsIFx1YWMxOVx1Yzc0MCBcdWJjMjlcdWQ1YTVcdWM3NDQgXHVkNWE1XHVkNTc0IFx1Yzc4OFx1YjI5NCBcdWMwYzFcdWQwZGNcdWM1ZDBcdWMxMWMgXHViM2Q5XHVjNzkxXHVjNzQ0IFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YmE3MCwgXHVjOWMwXHViOGIwXHViNGU0XHVjNzQ0IFx1YWMxOVx1Yzc0MCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMsIFx1YWMxOVx1Yzc0MCBcdWM3MDRcdWNlNThcdWI5N2MgXHVjYzNlXHVjNTQ0XHViY2Y0XHVjNTQ0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHVjOTExXHVhYzA0XHVjNWQwIFx1YzljMFx1YjA5OFx1YjI5NCBcdWM3MDRcdWNlNThcdWIyOTQgXHViMmU0XHViOTc0XHViMzU0XHViNzdjXHViM2M0IFNjYW5cdWM3NDQgXHVjMjE4XHVkNTg5XHVkNTU4XHViMjk0IFx1YzcwNFx1Y2U1OFx1YjljYyBcdWM3N2NcdWNlNThcdWQ1NThcdWJhNzQgXHViNDE4XHViMjk0IFx1YWM4M1x1YzczY1x1Yjg1YyBcdWQ1NWNcdWIyZTQuIFx1YjYxMCwgXHViOWNjXHVjNTdkIFx1YWMxOVx1Yzc0MCBcdWM3MDRcdWNlNThcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjIFx1YzVlY1x1YjdlYyBcdWJjODggU2Nhblx1Yzc0NCBcdWMyMThcdWQ1ODlcdWQ1NThcdWIyOTQgXHVjNzg1XHViODI1XHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNFx1YmE3NCwgXHVjZDljXHViODI1IFx1YzVlZFx1YzJkYyBcdWFjMTlcdWM3NDAgXHVjNzA0XHVjZTU4XHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYyBcdWM1ZWNcdWI3ZWMgXHViYzg4IFNjYW5cdWM3NDQgXHVjMjE4XHVkNTg5XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHViODVjXHViZDA3IFx1Yzc5MFx1Y2NiNFx1YjI5NCBcdWM5YzBcdWI4YjBcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YmMyOVx1YzViNCBcdWM3YTVcdWNlNThcdWFjMDAgXHVjNzg4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgU2Nhblx1Yzc0NCBcdWMyMThcdWQ1ODlcdWQ1NzRcdWM1N2MgXHVkNTU4XHViMjk0IFx1YzcwNFx1Y2U1OFx1Yjk3YyBcdWM5YzBcdWIwOTggXHVhYzA4IFx1YzIxOFx1YjNjNCBcdWM3ODhcdWIyZTQuPFwvcD4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVhZDZjXHVkNjE1IFx1Yjg1Y1x1YmQwN1x1YzVkMFx1YzExYyBcdWMyMThcdWQ1ODlcdWQ1NWMgXHViYTg1XHViODM5XHVjNzU4IFx1YWMxY1x1YzIxOCBOKDEmbGU7TiZsZTsxMDAsMDAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjJlNFx1Yzc0YyBOXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWFjMDFcdWFjMDFcdWM3NTggXHViYTg1XHViODM5XHVjNzc0IFx1YzcwNFx1YzVkMCBcdWM3ODhcdWIyOTQgXHVkNjE1XHVjMmRkXHViMzAwXHViODVjLCBcdWQ1NWMgXHVjOTA0XHVjNWQwIFx1ZDU1OFx1YjA5OFx1YzUyOSBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD4iLCJvdXRwdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzJlMFx1ZDYxNSBcdWI4NWNcdWJkMDdcdWM1ZDBcdWMxMWMgXHVkNTQ0XHVjNjk0XHVkNTVjIFx1Y2Q1Y1x1YzE4YyBcdWFjMWNcdWMyMThcdWM3NTggXHViYTg1XHViODM5XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjIxMzEiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJJbnN0cnVjdGlvbnMiLCJkZXNjcmlwdGlvbiI6IjxwPk1hcmsgSSBpcyB0aGUgZmlyc3QgZ2VuZXJhdGlvbiByb2JvdCBkZXNpZ25lZCBieSB0aGUgY29ycG9yYXRpb24gZm9yIG1pbmUgZXhwbG9yYXRpb24uIFRoZSBhcmVhIHRvIGV4cGxvcmUgaXMgYWx3YXlzIHBhcnRpdGlvbmVkIGludG8gZ3JpZHMuIEVhY2ggZ3JpZCBtYXkgb3IgbWF5IG5vdCBoYXZlIG1pbmUgdW5kZXJncm91bmQuIFRoZSByb2JvdCYjMzk7cyB0YXNrIGlzIHRvIGV4cGxvcmUgdGhlIG1pbmVzIGluIHRoZSBhcmVhLjxcL3A+XHJcblxyXG48cD5UaGUgcm9ib3QgY2FuIHBlcmZvcm0gYWN0aW9ucyBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBmb3VyIGluc3RydWN0aW9uczo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5Gb3J3YXJkOiBUaGUgcm9ib3Qgd2lsbCBtb3ZlIGZvcndhcmQgYnkgb25lIGdyaWQ7Jm5ic3A7PFwvbGk+XHJcblx0PGxpPlR1cm4gTGVmdDogVGhlIHJvYm90IHdpbGwgdHVybiB0byBpdHMgbGVmdDsmbmJzcDs8XC9saT5cclxuXHQ8bGk+VHVybiBSaWdodDogVGhlIHJvYm90IHdpbGwgdHVybiB0byBpdHMgcmlnaHQ7Jm5ic3A7PFwvbGk+XHJcblx0PGxpPlNjYW46IFRoZSByb2JvdCB3aWxsIHNjYW4gdGhlIGdyaWQgaW4gZnJvbnQgb2YgaXRzZWxmLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPk1hcmsgSSBpcyBzbyBwb3B1bGFyIHRoYXQgaXQgYnJpbmdzIGNvbnNpZGVyYWJsZSBwcm9maXQgdG8gdGhlIGNvcnBvcmF0aW9uLiBIb3dldmVyIHNvbWUgb3RoZXIgY29tcGFuaWVzIGJlZ2luIHRvIGRldmlzZSBzaW1pbGFyIHByb2R1Y3RzLiBJbiBvcmRlciB0byBkZWZlYXQgdGhvc2Ugb3Bwb25lbnRzLCBNYXJrIElJIGNvbWVzIHRvIHRoZSB3b3JsZC4gU2luY2UgbWFueSBjdXN0b21lcnMgY29tcGxhaW4gYWJvdXQgdGhlIGNvbXBsZXhpdHkgb2YgdGhlIGZvcm1lciBwcm9kdWN0LCBNYXJrIElJIG5vIGxvbmcgdXNlcyB0aGUgb2xkIGluc3RydWN0aW9ucy4gSW5zdGVhZCBpdCBzdXBwb3J0cyBvbmx5IDIgaW5zdHJ1Y3Rpb25zIC0gTW92ZSBhbmQgU2Nhbi48XC9wPlxyXG5cclxuPHA+TW92ZSBpbnN0cnVjdGlvbiBpcyBpbiB0aGUgZm9sbG93aW5nIGZvcm06PFwvcD5cclxuXHJcbjxwPk1vdmUgRElSIE48XC9wPlxyXG5cclxuPHA+RElSIGNhbiBiZSBlaXRoZXIgJnF1b3Q7Rm9yd2FyZCZxdW90OywgJnF1b3Q7QmFjayZxdW90OywgJnF1b3Q7TGVmdCZxdW90OyBvciAmcXVvdDtSaWdodCZxdW90Oy4gTiBpcyBhIHBvc2l0aXZlIG51bWJlci4gSXQgd2lsbCBtYWtlIHRoZSByb2JvdCBtb3ZlIGZvcndhcmQgYnkgTiBncmlkcy4gSWYgRElSIGlzIG5vdCAmcXVvdDtGb3J3YXJkJnF1b3Q7LCB0aGUgcm9ib3Qgd2lsbCB0dXJuIHRvIHRoZSBzcGVjaWZpZWQgZGlyZWN0aW9uIGJlZm9yZSBtYWtpbmcgdGhlIG1vdmVtZW50cy48XC9wPlxyXG5cclxuPHA+U2NhbiBjb21tYW5kIGlzIGluIHRoZSBmb2xsb3dpbmcgZm9ybTo8XC9wPlxyXG5cclxuPHA+U2NhbiBESVI8XC9wPlxyXG5cclxuPHA+RElSIGNhbiBiZSBlaXRoZXIgJnF1b3Q7Rm9yd2FyZCZxdW90OywgJnF1b3Q7QmFjayZxdW90OywgJnF1b3Q7TGVmdCZxdW90OyBvciAmcXVvdDtSaWdodCZxdW90Oy4gSXQgd2lsbCBtYWtlIHRoZSByb2JvdCBzY2FuIHRoZSBncmlkIGluIGZyb250IG9mIGl0c2VsZi4gSWYgRElSIGlzIG5vdCAmcXVvdDtGb3J3YXJkJnF1b3Q7LCB0aGUgcm9ib3Qgd2lsbCB0dXJuIHRvIHRoZSBzcGVjaWZpZWQgZGlyZWN0aW9uIGJlZm9yZSBwZXJmb3JtaW5nIHRoZSBzY2Fucy48XC9wPlxyXG5cclxuPHA+SW4gb3JkZXIgdG8gcGVyc3VhZGUgdGhvc2Ugb3JpZ2luYWwgY3VzdG9tZXJzIHdpdGggTWFyayBJIHRvIHVwZ3JhZGUgdGhlaXIgcHJvZHVjdHMsIHRoZSBjb3Jwb3JhdGlvbiBwbGFucyB0byBpbnN0YWxsIGEgbmV3IGNoaXAgaW50byBNYXJrIElJLCB3aGljaCBjYW4gdHJhbnNsYXRlIHRoZSBvbGQgaW5zdHJ1Y3Rpb24gc2NyaXB0cyBpbnRvIHRoZSBlcXVpdmFsZW50IG5ldyB2ZXJzaW9uLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+U3RhbmRhcmQgaW5wdXQgd2lsbCBjb250YWluIG11bHRpcGxlIHRlc3QgY2FzZXMuIFRoZSBmaXJzdCBsaW5lIG9mIHRoZSBpbnB1dCBpcyBhIHNpbmdsZSBpbnRlZ2VyIFQgKDEgJmxlOyBUICZsZTsgMTApIHdoaWNoIGlzIHRoZSBudW1iZXIgb2YgdGVzdCBjYXNlcy4gVCB0ZXN0IGNhc2VzIGZvbGxvdywgZWFjaCBwcmVjZWRlZCBieSBhIHNpbmdsZSBibGFuayBsaW5lLjxcL3A+XHJcblxyXG48cD5FYWNoIHRlc3QgY2FzZSBpcyBhbiBvbGQgaW5zdHJ1Y3Rpb24gc2NyaXB0LiBJdCBzdGFydHMgd2l0aCBhbiBpbnRlZ2VyIE4gKDEgJmxlOyBOICZsZTsgMSwgMDAwKSB3aGljaCBpcyB0aGUgbnVtYmVyIG9mIGluc3RydWN0aW9ucyBpbiB0aGUgc2NyaXB0LiBUaGUgZm9sbG93aW5nIE4gbGluZXMgZ2l2ZSB0aGUgY29tcGxldGUgc2NyaXB0LCB3aXRoIG9uZSBpbnN0cnVjdGlvbiBvbiBlYWNoIGxpbmUuIFRoZSBhcmVhIGlzIGNvbnNpZGVyZWQgYm91bmRsZXNzLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlJlc3VsdHMgc2hvdWxkIGJlIGRpcmVjdGVkIHRvIHN0YW5kYXJkIG91dHB1dC4gU3RhcnQgZWFjaCBjYXNlIHdpdGggJnF1b3Q7Q2FzZSAjIDomcXVvdDsgb24gYSBzaW5nbGUgbGluZSwgd2hlcmUgIyBpcyB0aGUgY2FzZSBudW1iZXIgc3RhcnRpbmcgZnJvbSAxLiBUd28gY29uc2VjdXRpdmUgY2FzZXMgc2hvdWxkIGJlIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBibGFuayBsaW5lLiBObyBibGFuayBsaW5lIHNob3VsZCBiZSBwcm9kdWNlZCBhZnRlciB0aGUgbGFzdCB0ZXN0IGNhc2UuPFwvcD5cclxuXHJcbjxwPkZvciBlYWNoIHRlc3QgY2FzZSwgcHJpbnQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGluc3RydWN0aW9ucyBpbiB0aGUgZXF1aXZhbGVudCBuZXcgaW5zdHJ1Y3Rpb24gc2NyaXB0LiBUaGUgcm9ib3QgbXVzdCBzdGFydCBmcm9tIHRoZSBzYW1lIGxvY2F0aW9uIGFuZCBmYWNlIHRoZSBzYW1lIGRpcmVjdGlvbiwgYW5kIHdpbGwgc2NhbiB0aGUgc2FtZSBncmlkcyBpbiB0aGUgc2FtZSBvcmRlci48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=