시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB136422831.111%

문제

체스에서 전투를 피하고 기물을 지키려할 때 좋은 전략은 만남을 피하는 것이다. IBM은 Deep Blue에게 체스에서 이런 전략을 학습시키려한다. 따라서 IBM은 서로를 공격하는 기물이 없도록 만들 때, 최소의 없애야할 기물의 수를 찾는 프로그램이 필요하다.

모든 기물은 일반적인 체스 기물의 공격법을 따른다.

  • 킹(King) - 모든 방향으로 인접한 칸 공격 가능.(상하좌우, 대각선)
  • 퀸(Queen) - 모든 방향으로 길이 제한 없이 공격 가능.(상하좌우, 대각선)
  • 비숍(Bishop) - 대각선 방향으로 길이 제한 없이 공격 가능.
  • 룩(Rook) - 상하좌우 방향으로 길이 제한 없이 공격 가능.
  • 폰(Pawns) - 이 문제에서 폰은 없습니다.
  • 나이트(Knight) - L모양으로 공격 가 = [상, 하, 좌, 우]로 두 칸 [좌 또는 우, 좌 또는 우, 상 또는 하, 상 또는 하]로 한칸 있는 곳 공격 가능. 아래 참조
---------------
| | |*| |*| | |
---------------
| |*| | | |*| |
---------------
| | | |N| | | |
---------------
| |*| | | |*| |
---------------
| | |*| |*| | |
---------------
N = 나이트
* = 나이트가 공격할 수 있는 지점

입력

이 문제의 입력은 최고 100개의 데이터 셋으로 이루어진다. 각 데이터 셋은 다음 설명과 같이 구성되어 있으며 데이터 셋을 구분하는 빈 줄은 없다. 보드느 최고 10x10이며 기물은 최고 15개이다.

각 데이터 셋은 다섯 부분으로 나뉜다:

  1. 시작줄 - "START"
  2. 보드 가로 - 한 줄의 자연수 w, 1 <= w <= 10
  3. 보드 세로 - 한 줄의 자연수 h, 1 <= h <= 10
  4. 보드의 생김새 - h 줄의 w개의 띄워쓰기로 구분된 글자가 들어온다. n 번째 줄은 보드의 n번째 행을 의미한다. 각각의 글자는 다음을 의미한다
    • K - 킹(King)
    • Q - 퀸(Queen)
    • R - 룩(Rook)
    • B - 비숍(Bishop)
    • K - 나이트(Knight)
    • E - 빈공간(Empty Square)
  5. 마지막줄 - "END"

출력

각 데이터셋에 대하여 하나의 출력셋이 존재한다. 각각의 출력셋은 빈 줄로 구분되지 않는다.

각 출력셋은 한 줄로 구성되는데 아래의 문장에서 마지막의 X는 남은 기물들이 서로를 공격하지 않기 위해 제거해야할 최소 기물의 수이다.

 "Minimum Number of Pieces to be removed: X"

예제 입력 1

START
3
3
K E K
E Q E
K E K
END
START
8
8
E E E E E E E E
E B E K E E N E
E E E E N E E E
E E E E E E E R
B E Q E E E E E
E E E E E Q E E
E E E E E B E E
E B E R E E E E
END

예제 출력 1

Minimum Number of Pieces to be removed: 1
Minimum Number of Pieces to be removed: 5
W3sicHJvYmxlbV9pZCI6Ijk5ODMiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWIzNTQgXHVkNDc4XHViOTc0XHVhYzhjIiwiZGVzY3JpcHRpb24iOiI8cD5cdWNjYjRcdWMyYTRcdWM1ZDBcdWMxMWMgXHVjODA0XHVkMjJjXHViOTdjIFx1ZDUzY1x1ZDU1OFx1YWNlMCBcdWFlMzBcdWJiM2NcdWM3NDQgXHVjOWMwXHVkMGE0XHViODI0XHVkNTYwIFx1YjU0YyBcdWM4OGJcdWM3NDAgXHVjODA0XHViN2I1XHVjNzQwIFx1YjljY1x1YjBhOFx1Yzc0NCBcdWQ1M2NcdWQ1NThcdWIyOTQgXHVhYzgzXHVjNzc0XHViMmU0LiBJQk1cdWM3NDAgRGVlcCBCbHVlXHVjNWQwXHVhYzhjIFx1Y2NiNFx1YzJhNFx1YzVkMFx1YzExYyBcdWM3NzRcdWI3ZjAgXHVjODA0XHViN2I1XHVjNzQ0IFx1ZDU1OVx1YzJiNVx1YzJkY1x1ZDBhNFx1YjgyNFx1ZDU1Y1x1YjJlNC4gXHViNTMwXHViNzdjXHVjMTFjIElCTVx1Yzc0MCBcdWMxMWNcdWI4NWNcdWI5N2MgXHVhY2Y1XHVhY2E5XHVkNTU4XHViMjk0IFx1YWUzMFx1YmIzY1x1Yzc3NCBcdWM1YzZcdWIzYzRcdWI4NWQgXHViOWNjXHViNGU0IFx1YjU0YywgXHVjZDVjXHVjMThjXHVjNzU4IFx1YzVjNlx1YzU2MFx1YzU3Y1x1ZDU2MCBcdWFlMzBcdWJiM2NcdWM3NTggXHVjMjE4XHViOTdjIFx1Y2MzZVx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NzQgXHVkNTQ0XHVjNjk0XHVkNTU4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWJhYThcdWI0ZTAgXHVhZTMwXHViYjNjXHVjNzQwIFx1Yzc3Y1x1YmMxOFx1YzgwMVx1Yzc3OCBcdWNjYjRcdWMyYTQgXHVhZTMwXHViYjNjXHVjNzU4IFx1YWNmNVx1YWNhOVx1YmM5NVx1Yzc0NCBcdWI1MzBcdWI5NzhcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHVkMGI5KEtpbmcpIC0gXHViYWE4XHViNGUwIFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWM3NzhcdWM4MTFcdWQ1NWMgXHVjZTc4IFx1YWNmNVx1YWNhOSBcdWFjMDBcdWIyYTUuKFx1YzBjMVx1ZDU1OFx1Yzg4Y1x1YzZiMCwgXHViMzAwXHVhYzAxXHVjMTIwKTxcL2xpPlxyXG5cdDxsaT5cdWQwMzgoUXVlZW4pIC0gXHViYWE4XHViNGUwIFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWFlMzhcdWM3NzQgXHVjODFjXHVkNTVjIFx1YzVjNlx1Yzc3NCBcdWFjZjVcdWFjYTkgXHVhYzAwXHViMmE1LihcdWMwYzFcdWQ1NThcdWM4OGNcdWM2YjAsIFx1YjMwMFx1YWMwMVx1YzEyMCk8XC9saT5cclxuXHQ8bGk+XHViZTQ0XHVjMjBkKEJpc2hvcCkgLSBcdWIzMDBcdWFjMDFcdWMxMjAgXHViYzI5XHVkNWE1XHVjNzNjXHViODVjIFx1YWUzOFx1Yzc3NCBcdWM4MWNcdWQ1NWMgXHVjNWM2XHVjNzc0IFx1YWNmNVx1YWNhOSBcdWFjMDBcdWIyYTUuPFwvbGk+XHJcblx0PGxpPlx1YjhlOShSb29rKSAtIFx1YzBjMVx1ZDU1OFx1Yzg4Y1x1YzZiMCBcdWJjMjlcdWQ1YTVcdWM3M2NcdWI4NWMgXHVhZTM4XHVjNzc0IFx1YzgxY1x1ZDU1YyBcdWM1YzZcdWM3NzQgXHVhY2Y1XHVhY2E5IFx1YWMwMFx1YjJhNS48XC9saT5cclxuXHQ8bGk+XHVkM2YwKFBhd25zKSAtIFx1Yzc3NCBcdWJiMzhcdWM4MWNcdWM1ZDBcdWMxMWMgXHVkM2YwXHVjNzQwIFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViMDk4XHVjNzc0XHVkMmI4KEtuaWdodCkgLSBMXHViYWE4XHVjNTkxXHVjNzNjXHViODVjIFx1YWNmNVx1YWNhOSBcdWFjMDAgPSZuYnNwO1tcdWMwYzEsIFx1ZDU1OCwgXHVjODhjLCBcdWM2YjBdXHViODVjIFx1YjQ1MCBcdWNlNzggW1x1Yzg4YyBcdWI2MTBcdWIyOTQgXHVjNmIwLCBcdWM4OGMgXHViNjEwXHViMjk0IFx1YzZiMCwgXHVjMGMxIFx1YjYxMFx1YjI5NCBcdWQ1NTgsIFx1YzBjMSBcdWI2MTBcdWIyOTQgXHVkNTU4XVx1Yjg1YyBcdWQ1NWNcdWNlNzggXHVjNzg4XHViMjk0IFx1YWNmMyBcdWFjZjVcdWFjYTkgXHVhYzAwXHViMmE1LiBcdWM1NDRcdWI3OTggXHVjYzM4XHVjODcwPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHByZT5cclxuLS0tLS0tLS0tLS0tLS0tXHJcbnwgfCB8KnwgfCp8IHwgfFxyXG4tLS0tLS0tLS0tLS0tLS1cclxufCB8KnwgfCB8IHwqfCB8XHJcbi0tLS0tLS0tLS0tLS0tLVxyXG58IHwgfCB8TnwgfCB8IHxcclxuLS0tLS0tLS0tLS0tLS0tXHJcbnwgfCp8IHwgfCB8KnwgfFxyXG4tLS0tLS0tLS0tLS0tLS1cclxufCB8IHwqfCB8KnwgfCB8XHJcbi0tLS0tLS0tLS0tLS0tLVxyXG5OID0gXHViMDk4XHVjNzc0XHVkMmI4XHJcbiogPSBcdWIwOThcdWM3NzRcdWQyYjhcdWFjMDAgXHVhY2Y1XHVhY2E5XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjOWMwXHVjODEwXHJcbjxcL3ByZT5cclxuIiwiaW5wdXQiOiI8cD5cdWM3NzQgXHViYjM4XHVjODFjXHVjNzU4IFx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWNkNWNcdWFjZTAgMTAwXHVhYzFjXHVjNzU4IFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWMxNGJcdWM3M2NcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0XHViMmU0LiBcdWFjMDEgXHViMzcwXHVjNzc0XHVkMTMwIFx1YzE0Ylx1Yzc0MCBcdWIyZTRcdWM3NGMgXHVjMTI0XHViYTg1XHVhY2ZjIFx1YWMxOVx1Yzc3NCBcdWFkNmNcdWMxMzFcdWI0MThcdWM1YjQgXHVjNzg4XHVjNzNjXHViYTcwIFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWMxNGJcdWM3NDQgXHVhZDZjXHViZDg0XHVkNTU4XHViMjk0IFx1YmU0OCBcdWM5MDRcdWM3NDAgXHVjNWM2XHViMmU0LiBcdWJjZjRcdWI0ZGNcdWIyOTAgXHVjZDVjXHVhY2UwIDEweDEwXHVjNzc0XHViYTcwIFx1YWUzMFx1YmIzY1x1Yzc0MCBcdWNkNWNcdWFjZTAgMTVcdWFjMWNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMSBcdWIzNzBcdWM3NzRcdWQxMzAgXHVjMTRiXHVjNzQwIFx1YjJlNFx1YzEyZiBcdWJkODBcdWJkODRcdWM3M2NcdWI4NWMgXHViMDk4XHViMjVjXHViMmU0OjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPlx1YzJkY1x1Yzc5MVx1YzkwNCAtJm5ic3A7JnF1b3Q7U1RBUlQmcXVvdDs8XC9saT5cclxuXHQ8bGk+XHViY2Y0XHViNGRjIFx1YWMwMFx1Yjg1YyAtIFx1ZDU1YyBcdWM5MDRcdWM3NTggXHVjNzkwXHVjNWYwXHVjMjE4IHcsIDEgJmx0Oz0gdyAmbHQ7PSAxMDxcL2xpPlxyXG5cdDxsaT5cdWJjZjRcdWI0ZGMgXHVjMTM4XHViODVjIC0gXHVkNTVjIFx1YzkwNFx1Yzc1OCBcdWM3OTBcdWM1ZjBcdWMyMTggaCwgMSAmbHQ7PSBoICZsdDs9IDEwPFwvbGk+XHJcblx0PGxpPlx1YmNmNFx1YjRkY1x1Yzc1OCBcdWMwZGRcdWFlNDBcdWMwYzggLSBoIFx1YzkwNFx1Yzc1OCB3XHVhYzFjXHVjNzU4IFx1Yjc0NFx1YzZjY1x1YzRmMFx1YWUzMFx1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MWMgXHVhZTAwXHVjNzkwXHVhYzAwIFx1YjRlNFx1YzViNFx1YzYyOFx1YjJlNC4gbiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNzQwIFx1YmNmNFx1YjRkY1x1Yzc1OCBuXHViYzg4XHVjOWY4IFx1ZDU4OVx1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWFlMDBcdWM3OTBcdWIyOTQgXHViMmU0XHVjNzRjXHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNFxyXG5cdDx1bD5cclxuXHRcdDxsaT5LIC0gXHVkMGI5KEtpbmcpPFwvbGk+XHJcblx0XHQ8bGk+USAtIFx1ZDAzOChRdWVlbik8XC9saT5cclxuXHRcdDxsaT5SIC0gXHViOGU5KFJvb2spPFwvbGk+XHJcblx0XHQ8bGk+QiAtIFx1YmU0NFx1YzIwZChCaXNob3ApPFwvbGk+XHJcblx0XHQ8bGk+SyAtIFx1YjA5OFx1Yzc3NFx1ZDJiOChLbmlnaHQpPFwvbGk+XHJcblx0XHQ8bGk+RSAtIFx1YmU0OFx1YWNmNVx1YWMwNChFbXB0eSBTcXVhcmUpPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcblx0PGxpPlx1YjljOFx1YzljMFx1YjljOVx1YzkwNCAtICZxdW90O0VORCZxdW90OzxcL2xpPlxyXG48XC9vbD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIFx1YjM3MFx1Yzc3NFx1ZDEzMFx1YzE0Ylx1YzVkMCBcdWIzMDBcdWQ1NThcdWM1ZWMgXHVkNTU4XHViMDk4XHVjNzU4IFx1Y2Q5Y1x1YjgyNVx1YzE0Ylx1Yzc3NCBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTQuIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWNkOWNcdWI4MjVcdWMxNGJcdWM3NDAgXHViZTQ4IFx1YzkwNFx1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVjZDljXHViODI1XHVjMTRiXHVjNzQwIFx1ZDU1YyBcdWM5MDRcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDE4XHViMjk0XHViMzcwIFx1YzU0NFx1Yjc5OFx1Yzc1OCBcdWJiMzhcdWM3YTVcdWM1ZDBcdWMxMWMgXHViOWM4XHVjOWMwXHViOWM5XHVjNzU4IFhcdWIyOTQgXHViMGE4XHVjNzQwIFx1YWUzMFx1YmIzY1x1YjRlNFx1Yzc3NCBcdWMxMWNcdWI4NWNcdWI5N2MgXHVhY2Y1XHVhY2E5XHVkNTU4XHVjOWMwIFx1YzU0YVx1YWUzMCBcdWM3MDRcdWQ1NzQgXHVjODFjXHVhYzcwXHVkNTc0XHVjNTdjXHVkNTYwIFx1Y2Q1Y1x1YzE4YyBcdWFlMzBcdWJiM2NcdWM3NTggXHVjMjE4XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD4mbmJzcDsmcXVvdDtNaW5pbXVtIE51bWJlciBvZiBQaWVjZXMgdG8gYmUgcmVtb3ZlZDogWCZxdW90OzxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6Ijk5ODMiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJEZWVwZXIgQmx1ZSIsImRlc2NyaXB0aW9uIjoiPHA+V2hlbiB0cnlpbmcgdG8gYXZvaWQgY29uZmxpY3QgYW5kIG1haW50YWluIHBlYWNlLCBhIGdvb2Qgc3RyYXRlZ3kgaXMgdG8gcmVtb3ZlIHRoZSBlbGVtZW50cyB0aGF0IGNhdXNlIHRoZSBtb3N0IHRyb3VibGUuIElCTSBpcyB1c2luZyBpdHMgRGVlcCBCbHVlIG1hY2hpbmUgdG8gdHJ5IHRvIHN0dWR5IHRoaXMgc3RyYXRlZ3kgYnkgbW9kZWxpbmcgaXQgd2l0aCBhIGdhbWUgb2YgY2hlc3MuIElCTSBuZWVkcyBhIHByb2dyYW0gdG8gZmluZCB0aGUgbWluaW11bSBudW1iZXIgb2YgY2hlc3MgcGllY2VzIHRoYXQgbXVzdCBiZSByZW1vdmVkIGZyb20gYSBjaGVzc2JvYXJkIGluIG9yZGVyIGZvciBub25lIG9mIHRoZSBwaWVjZXMgdG8gYmUgYXR0YWNraW5nIGVhY2ggb3RoZXIuPFwvcD5cclxuXHJcbjxwPkFsbCBwaWVjZXMgd2lsbCBoYXZlIHRoZSBzdGFuZGFyZCBhdHRhY2sgbW92ZW1lbnRzIGZvciB0aGF0IGNoZXNzIHBpZWNlLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPktpbmcgLSBDYW4gYXR0YWNrIHRoZSBhZGphY2VudCBzcGFjZSBpbiBhbnkgZGlyZWN0aW9uLiBVcCwgZG93biwgbGVmdCwgcmlnaHQgYW5kIGRpYWdvbmFsbHkuPFwvbGk+XHJcblx0PGxpPlF1ZWVuIC0gQ2FuIGF0dGFjayBhbnkgbnVtYmVyIG9mIHNwYWNlcyBpbiBhbnkgZGlyZWN0aW9uLiBVcCwgZG93biwgbGVmdCwgcmlnaHQgYW5kIGRpYWdvbmFsbHkuPFwvbGk+XHJcblx0PGxpPkJpc2hvcCAtIENhbiBhdHRhY2sgYW55IG51bWJlciBvZiBzcGFjZXMgZGlhZ29uYWxseS48XC9saT5cclxuXHQ8bGk+Um9vayAtIENhbiBhdHRhY2sgYW55IG51bWJlciBvZiBzcGFjZXMgdXAsIGRvd24sIGxlZnQsIG9yIHJpZ2h0IGJ1dCBub3QgZGlhZ29uYWxseS48XC9saT5cclxuXHQ8bGk+UGF3bnMgLSBUaGVyZSB3b24mIzM5O3QgYmUgYW55IHBhd25zLjxcL2xpPlxyXG5cdDxsaT5LbmlnaHQgLSBDYW4gYXR0YWNrIHdpdGggdGhlaXIgdXN1YWwgJiMzOTtMJiMzOTsgc2hhcGVkIG1vdmVtZW50LiBVcCB0d2ljZSBhbmQgcmlnaHQgb25jZSwgdXAgb25jZSBhbmQgbGVmdCB0d2ljZSwgZXRjLi4uIEhlcmUgaXMgYSBkaWFncmFtLCB3aGljaCBkZW1vbnN0cmF0ZXMgdGhlIG1vdmVtZW50IG9mIGEga25pZ2h0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwcmU+XHJcbiAtLS0tLS0tLS0tLS0tLVxyXG58IHwgfCp8IHwqfCB8IHxcclxuLS0tLS0tLS0tLS0tLS0tXHJcbnwgfCp8IHwgfCB8KnwgfFxyXG4tLS0tLS0tLS0tLS0tLS1cclxufCB8IHwgfE58IHwgfCB8XHJcbi0tLS0tLS0tLS0tLS0tLVxyXG58IHwqfCB8IHwgfCp8IHxcclxuLS0tLS0tLS0tLS0tLS0tXHJcbnwgfCB8KnwgfCp8IHwgfFxyXG4tLS0tLS0tLS0tLS0tLS1cclxuTiA9IEtuaWdodFxyXG4qID0gU3F1YXJlIHRoYXQgdGhlIGtuaWdodCBjYW4gYXR0YWNrXHJcbjxcL3ByZT5cclxuIiwiaW5wdXQiOiI8cD5JbnB1dCB0byB0aGlzIHByb2JsZW0gd2lsbCBjb25zaXN0IG9mIGEgKG5vbi1lbXB0eSkgc2VyaWVzIG9mIHVwIHRvIDEwMCBkYXRhIHNldHMuIEVhY2ggZGF0YSBzZXQgd2lsbCBiZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgZGVzY3JpcHRpb24sIGFuZCB0aGVyZSB3aWxsIGJlIG5vIGJsYW5rIGxpbmVzIHNlcGFyYXRpbmcgZGF0YSBzZXRzLiBUaGUgbWF4aW11bSBkaW1lbnNpb25zIG9mIHRoZSBib2FyZCBhcmUgMTAgc3F1YXJlcyB3aWRlIGJ5IDEwIHNxdWFyZXMgaGlnaC4gVGhlIG1heGltdW0gbnVtYmVyIG9mIGNoZXNzIHBpZWNlcyB0aGF0IHdpbGwgc3RhcnQgb3V0IG9uIHRoZSBib2FyZCBpcyAxNS48XC9wPlxyXG5cclxuPHA+QSBzaW5nbGUgZGF0YSBzZXQgaGFzIDUgY29tcG9uZW50czo8XC9wPlxyXG5cclxuPG9sPlxyXG5cdDxsaT5TdGFydCBsaW5lIC0gQSBzaW5nbGUgbGluZSwgJnF1b3Q7U1RBUlQmcXVvdDs8XC9saT5cclxuXHQ8bGk+Qm9hcmQgV2lkdGggKCMgb2YgY29sdW1ucykgLSBBIHNpbmdsZSBsaW5lIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBpbnRlZ2VyLCB3LCBpbmRpY2F0aW5nIHRoZSBudW1iZXIgb2Ygc3F1YXJlcyBhY3Jvc3MgdGhlIHdpZHRoIG9mIHRoZSBib2FyZCB3aGVyZSAxICZsdDs9IHcgJmx0Oz0gMTAuPFwvbGk+XHJcblx0PGxpPkJvYXJkIEhlaWdodCAoIyBvZiByb3dzKSAtIEEgc2luZ2xlIGxpbmUgY29udGFpbmluZyBhIHBvc2l0aXZlIGludGVnZXIsIGgsIGluZGljYXRpbmcgdGhlIG51bWJlciBvZiBzcXVhcmVzIHRoYXQgZGljdGF0ZSB0aGUgaGVpZ2h0IG9mIHRoZSBib2FyZCwgd2hlcmUgMSAmbHQ7PSBoICZsdDs9IDEwLjxcL2xpPlxyXG5cdDxsaT5Cb2FyZCBMYXlvdXQgLSBoIGxpbmVzLCBlYWNoIGNvcnJlc3BvbmRpbmcgdG8gYSByb3cgb2YgdGhlIGJvYXJkLiBUaGUgZmlyc3QgbGluZSBjb3JyZXNwb25kcyB0byB0aGUgZmlyc3Qgcm93LCB0aGUgc2Vjb25kIGxpbmUgdG8gdGhlIHNlY29uZCByb3csIGFuZCBzbyBvbi4gRWFjaCByb3cgY29uc2lzdHMgb2YgYSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBzaW5nbGUgbGV0dGVycywgZWFjaCByZXByZXNlbnRpbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb3JyZXNwb25kaW5nIHNxdWFyZSBvbiB0aGUgYm9hcmQgYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgbGlzdDpcclxuXHQ8dWw+XHJcblx0XHQ8bGk+S2luZzxcL2xpPlxyXG5cdFx0PGxpPlF1ZWVuPFwvbGk+XHJcblx0XHQ8bGk+Um9vazxcL2xpPlxyXG5cdFx0PGxpPkJpc2hvcDxcL2xpPlxyXG5cdFx0PGxpPktuaWdodDxcL2xpPlxyXG5cdFx0PGxpPkVtcHR5IFNxdWFyZTxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG5cdDxsaT5FbmQgbGluZSAtIEEgc2luZ2xlIGxpbmUsICZxdW90O0VORCZxdW90OzxcL2xpPlxyXG48XC9vbD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggZGF0YSBzZXQsIHRoZXJlIHdpbGwgYmUgZXhhY3RseSBvbmUgb3V0cHV0IHNldCwgYW5kIHRoZXJlIHdpbGwgYmUgbm8gYmxhbmsgbGluZXMgc2VwYXJhdGluZyBvdXRwdXQgc2V0cy48XC9wPlxyXG5cclxuPHA+QSBzaW5nbGUgb3V0cHV0IHNldCBjb25zaXN0cyBvZiBhIHNpbmdsZSBsaW5lLCAmcXVvdDtNaW5pbXVtIE51bWJlciBvZiBQaWVjZXMgdG8gYmUgcmVtb3ZlZDogWCZxdW90Oywgd2hlcmUgWCBpcyB0aGUgbWluaW11bSBudW1iZXIgb2YgcGllY2VzIHRoYXQgbXVzdCBiZSByZW1vdmVkIGZyb20gdGhlIGJvYXJkIHN1Y2ggdGhhdCBub25lIG9mIHRoZSByZW1haW5pbmcgcGllY2VzIGFyZSBhdHRhY2tpbmcgYW55IG90aGVyIHJlbWFpbmluZyBwaWVjZS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d