문제
괄호 문자열은 여는 괄호 (와 닫는 괄호 )로만 이루어진 문자열을 의미한다. 올바른 괄호 문자열은 다음과 같이 정의된다.
- 빈 문자열은 올바른 괄호 문자열이다.
S가 올바른 괄호 문자열이라면, (S)도 올바른 괄호 문자열이다.
S와 T가 올바른 괄호 문자열이라면, 두 문자열을 이어 붙인 괄호 문자열 ST도 올바른 괄호 문자열이다.
위 과정을 통해 만들어질 수 없는 모든 괄호 문자열은 올바른 괄호 문자열이 아니다.
최근 준희는 길이가 2ドルn$인 올바른 괄호 문자열의 개수가 카탈란 수 ${C}_{n}$개라는 사실을 알게 되었다. 올바른 괄호 문자열을 좋아하는 준희는 올바른 괄호 문자열이 전체 괄호 문자열 중 너무 낮은 빈도로 등장한다고 생각하여 슬퍼하고 있었다.
지민이는 준희를 위로해 주기 위하여, 올바른 괄호 문자열이 충분히 많이 존재한다는 것을 보여주기로 하였다. 지민이는 다음과 같은 게임에서 준희에게 승리하여 올바른 괄호 문자열이 충분히 많다는 것을 보여주고 싶다.
길이 $N$인 올바르지 않은 괄호 문자열 $S$에서, 두 명이 번갈아 가며 지울 문자가 없어질 때까지 맨 앞의 문자 또는 맨 뒤의 문자를 지운다. 게임 중 $S$가 빈 문자열이 아닌 올바른 괄호 문자열이 되는 순간이 존재한다면 지민이가 승리한다. 게임이 끝날 때까지 빈 문자열이 아닌 올바른 괄호 문자열이 등장하지 않으면 준희가 승리한다.
게임은 지민이가 먼저 시작한다. 길이 $N$과 문자열 $S$가 주어졌을 때, 지민과 준희가 모두 최적의 선택만을 내린다면 누가 게임에서 이길지 알아보자.
출력
지민이와 준희 모두 최선을 다해 게임을 했을 때, 승리하는 사람을 출력한다.
지민이가 게임에서 승리한다면 jimin을, 준희가 승리한다면 junhui를 출력한다.
제한
- 1ドル\leq N\leq 5\times{10}^{5}$
- $\left| S \right| =N$
- $S$의 모든 문자는
( 또는 )이다.
- $S$는 올바른 괄호 문자열이 아니다.
서브태스크
| 번호 | 배점 | 제한 | | 1 | 8 | $N \le 20$
|
| 2 | 30 | $N \le 1000$
|
| 3 | 62 | 추가 제한 조건이 없다.
|
W3sicHJvYmxlbV9pZCI6IjMxMDczIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjZTc0XHVkMGM4XHViNzgwIFx1YWM4Y1x1Yzc4NCIsImRlc2NyaXB0aW9uIjoiPHA+XHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0MCBcdWM1ZWNcdWIyOTQgXHVhZDA0XHVkNjM4IDxjb2RlPig8XC9jb2RlPlx1YzY0MCBcdWIyZWJcdWIyOTQgXHVhZDA0XHVkNjM4IDxjb2RlPik8XC9jb2RlPlx1Yjg1Y1x1YjljYyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHVjNjJjXHViYzE0XHViOTc4IFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDAgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc3NCBcdWM4MTVcdWM3NThcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHViZTQ4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0MCBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+PGNvZGU+UzxcL2NvZGU+XHVhYzAwIFx1YzYyY1x1YmMxNFx1Yjk3OCBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0XHViNzdjXHViYTc0LCA8Y29kZT4oUyk8XC9jb2RlPlx1YjNjNCBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+PGNvZGU+UzxcL2NvZGU+XHVjNjQwIDxjb2RlPlQ8XC9jb2RlPlx1YWMwMCBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1Yjc3Y1x1YmE3NCwgXHViNDUwIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWM3NzRcdWM1YjQgXHViZDk5XHVjNzc4IFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjQgPGNvZGU+U1Q8XC9jb2RlPlx1YjNjNCBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWM3MDQgXHVhY2ZjXHVjODE1XHVjNzQ0IFx1ZDFiNVx1ZDU3NCBcdWI5Y2NcdWI0ZTRcdWM1YjRcdWM5YzggXHVjMjE4IFx1YzVjNlx1YjI5NCBcdWJhYThcdWI0ZTAgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0MCBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWM1NDRcdWIyYzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2Q1Y1x1YWRmYyBcdWM5MDBcdWQ3NmNcdWIyOTQgXHVhZTM4XHVjNzc0XHVhYzAwICQybiRcdWM3NzggXHVjNjJjXHViYzE0XHViOTc4IFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NTggXHVhYzFjXHVjMjE4XHVhYzAwIFx1Y2U3NFx1ZDBjOFx1Yjc4MCBcdWMyMTggJHtDfV97bn0kXHVhYzFjXHViNzdjXHViMjk0IFx1YzBhY1x1YzJlNFx1Yzc0NCBcdWM1NGNcdWFjOGMgXHViNDE4XHVjNWM4XHViMmU0LiBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWM4OGJcdWM1NDRcdWQ1NThcdWIyOTQgXHVjOTAwXHVkNzZjXHViMjk0IFx1YzYyY1x1YmMxNFx1Yjk3OCBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1YzgwNFx1Y2NiNCBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0IFx1YzkxMSBcdWIxMDhcdWJiMzQgXHViMGFlXHVjNzQwIFx1YmU0OFx1YjNjNFx1Yjg1YyBcdWI0ZjFcdWM3YTVcdWQ1NWNcdWIyZTRcdWFjZTAgXHVjMGRkXHVhYzAxXHVkNTU4XHVjNWVjIFx1YzJhY1x1ZDM3Y1x1ZDU1OFx1YWNlMCBcdWM3ODhcdWM1YzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzljMFx1YmJmY1x1Yzc3NFx1YjI5NCBcdWM5MDBcdWQ3NmNcdWI5N2MgXHVjNzA0XHViODVjXHVkNTc0IFx1YzhmY1x1YWUzMCBcdWM3MDRcdWQ1NThcdWM1ZWMsIFx1YzYyY1x1YmMxNFx1Yjk3OCBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1Y2RhOVx1YmQ4NFx1ZDc4OCBcdWI5Y2VcdWM3NzQgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0XHViMjk0IFx1YWM4M1x1Yzc0NCBcdWJjZjRcdWM1ZWNcdWM4ZmNcdWFlMzBcdWI4NWMgXHVkNTU4XHVjNjAwXHViMmU0LiBcdWM5YzBcdWJiZmNcdWM3NzRcdWIyOTQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWFjOGNcdWM3ODRcdWM1ZDBcdWMxMWMgXHVjOTAwXHVkNzZjXHVjNWQwXHVhYzhjIFx1YzJiOVx1YjlhY1x1ZDU1OFx1YzVlYyBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWNkYTlcdWJkODRcdWQ3ODggXHViOWNlXHViMmU0XHViMjk0IFx1YWM4M1x1Yzc0NCBcdWJjZjRcdWM1ZWNcdWM4ZmNcdWFjZTAgXHVjMmY2XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFlMzhcdWM3NzQgJE4kXHVjNzc4IDxzdHJvbmc+XHVjNjJjXHViYzE0XHViOTc0XHVjOWMwIFx1YzU0YVx1Yzc0MDxcL3N0cm9uZz4gXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNCAkUyRcdWM1ZDBcdWMxMWMsIFx1YjQ1MCBcdWJhODVcdWM3NzQgXHViYzg4XHVhYzA4XHVjNTQ0IFx1YWMwMFx1YmE3MCBcdWM5YzBcdWM2YjggXHViYjM4XHVjNzkwXHVhYzAwIFx1YzVjNlx1YzViNFx1YzljOCBcdWI1NGNcdWFlNGNcdWM5YzAgPHN0cm9uZz5cdWI5ZTggXHVjNTVlXHVjNzU4IFx1YmIzOFx1Yzc5MDxcL3N0cm9uZz4gXHViNjEwXHViMjk0IDxzdHJvbmc+XHViOWU4IFx1YjRhNFx1Yzc1OCBcdWJiMzhcdWM3OTA8XC9zdHJvbmc+XHViOTdjIFx1YzljMFx1YzZiNFx1YjJlNC4gXHVhYzhjXHVjNzg0IFx1YzkxMSAkUyRcdWFjMDAgPHN0cm9uZz5cdWJlNDggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1YzU0NFx1YjJjYzxcL3N0cm9uZz4gXHVjNjJjXHViYzE0XHViOTc4IFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHViNDE4XHViMjk0IFx1YzIxY1x1YWMwNFx1Yzc3NCBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTRcdWJhNzQgXHVjOWMwXHViYmZjXHVjNzc0XHVhYzAwIFx1YzJiOVx1YjlhY1x1ZDU1Y1x1YjJlNC4gXHVhYzhjXHVjNzg0XHVjNzc0IFx1YjA1ZFx1YjBhMCBcdWI1NGNcdWFlNGNcdWM5YzAgXHViZTQ4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWM1NDRcdWIyY2MgXHVjNjJjXHViYzE0XHViOTc4IFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHViNGYxXHVjN2E1XHVkNTU4XHVjOWMwIFx1YzU0YVx1YzczY1x1YmE3NCBcdWM5MDBcdWQ3NmNcdWFjMDAgXHVjMmI5XHViOWFjXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjOGNcdWM3ODRcdWM3NDAgXHVjOWMwXHViYmZjXHVjNzc0XHVhYzAwIFx1YmEzY1x1YzgwMCBcdWMyZGNcdWM3OTFcdWQ1NWNcdWIyZTQuIFx1YWUzOFx1Yzc3NCAkTiRcdWFjZmMgXHViYjM4XHVjNzkwXHVjNWY0ICRTJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWM5YzBcdWJiZmNcdWFjZmMgXHVjOTAwXHVkNzZjXHVhYzAwIFx1YmFhOFx1YjQ1MCBcdWNkNWNcdWM4MDFcdWM3NTggXHVjMTIwXHVkMGRkXHViOWNjXHVjNzQ0IFx1YjBiNFx1YjliMFx1YjJlNFx1YmE3NCBcdWIyMDRcdWFjMDAgXHVhYzhjXHVjNzg0XHVjNWQwXHVjMTFjIFx1Yzc3NFx1YWUzOFx1YzljMCBcdWM1NGNcdWM1NDRcdWJjZjRcdWM3OTAuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NTggXHVhZTM4XHVjNzc0ICROJFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjQ1OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNCAkUyRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YzljMFx1YmJmY1x1Yzc3NFx1YzY0MCBcdWM5MDBcdWQ3NmMgXHViYWE4XHViNDUwIFx1Y2Q1Y1x1YzEyMFx1Yzc0NCBcdWIyZTRcdWQ1NzQgXHVhYzhjXHVjNzg0XHVjNzQ0IFx1ZDU4OFx1Yzc0NCBcdWI1NGMsIFx1YzJiOVx1YjlhY1x1ZDU1OFx1YjI5NCBcdWMwYWNcdWI3OGNcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM5YzBcdWJiZmNcdWM3NzRcdWFjMDAgXHVhYzhjXHVjNzg0XHVjNWQwXHVjMTFjIFx1YzJiOVx1YjlhY1x1ZDU1Y1x1YjJlNFx1YmE3NCA8Y29kZT5qaW1pbjxcL2NvZGU+XHVjNzQ0LCBcdWM5MDBcdWQ3NmNcdWFjMDAgXHVjMmI5XHViOWFjXHVkNTVjXHViMmU0XHViYTc0IDxjb2RlPmp1bmh1aTxcL2NvZGU+XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+JDFcXGxlcSBOXFxsZXEgNVxcdGltZXN7MTB9Xns1fSQ8XC9saT5cclxuXHQ8bGk+JFxcbGVmdHwgUyBcXHJpZ2h0fCA9TiQ8XC9saT5cclxuXHQ8bGk+JFMkXHVjNzU4IFx1YmFhOFx1YjRlMCBcdWJiMzhcdWM3OTBcdWIyOTQgPGNvZGU+KDxcL2NvZGU+IFx1YjYxMFx1YjI5NCA8Y29kZT4pPFwvY29kZT5cdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPiRTJFx1YjI5NCBcdWM2MmNcdWJjMTRcdWI5NzggXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWM1NDRcdWIyYzhcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMSI6IjxwPiROIFxcbGUgMjAkPFwvcD5cclxuIiwic3VidGFzazIiOiI8cD4kTiBcXGxlIDEwMDAkPFwvcD5cclxuIiwic3VidGFzazMiOiI8cD5cdWNkOTRcdWFjMDAgXHVjODFjXHVkNTVjIFx1Yzg3MFx1YWM3NFx1Yzc3NCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuIn0seyJwcm9ibGVtX2lkIjoiMzEwNzMiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJDYXRhbGFuIEdhbWUiLCJkZXNjcmlwdGlvbiI6IjxwPkEgcGFyZW50aGVzZXMgc3RyaW5nIGlzIGEgc3RyaW5nIGNvbXBvc2VkIG9ubHkgb2Ygb3BlbmluZyBicmFja2V0cyA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+KDxcL2NvZGU+PFwvc3Bhbj4gYW5kIGNsb3NpbmcgYnJhY2tldHMgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPik8XC9jb2RlPjxcL3NwYW4+LiBBIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZyBpcyBkZWZpbmVkIGFzIGZvbGxvd3M6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+QW4gZW1wdHkgc3RyaW5nIGlzIGEgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nLjxcL2xpPlxyXG5cdDxsaT5JZiA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+UzxcL2NvZGU+PFwvc3Bhbj4gaXMgYSB2YWxpZCBwYXJlbnRoZXNlcyBzdHJpbmcsIHRoZW4gPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPihTKTxcL2NvZGU+PFwvc3Bhbj4gaXMgYWxzbyBhIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZy48XC9saT5cclxuXHQ8bGk+SWYgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPlM8XC9jb2RlPjxcL3NwYW4+IGFuZCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+VDxcL2NvZGU+PFwvc3Bhbj4gYXJlIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZ3MsIHRoZW4gdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIHR3byBzdHJpbmdzIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5TVDxcL2NvZGU+PFwvc3Bhbj4gaXMgYWxzbyBhIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZy48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5BbnkgcGFyZW50aGVzZXMgc3RyaW5nIHRoYXQgY2Fubm90IGJlIGZvcm1lZCB0aHJvdWdoIHRoZSBhYm92ZSBydWxlcyBpcyBpbnZhbGlkLjxcL3A+XHJcblxyXG48cD5SZWNlbnRseSwgSnVuaHVpIGxlYXJuZWQgdGhhdCB0aGUgbnVtYmVyIG9mIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZ3Mgb2YgbGVuZ3RoICQybiQgaXMgdGhlIHNhbWUgYXMgQ2F0YWxhbiBudW1iZXIgJHtDfV97bn0kLiBKdW5odWkgZmVlbHMgc2FkIGFib3V0IHRoZSByYXJpdHkgb2YgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5ncyBhbW9uZyBhbGwgcGFyZW50aGVzZXMgc3RyaW5ncy48XC9wPlxyXG5cclxuPHA+VG8gY2hlZXIgaGltIHVwLCBKaW1pbiB3YW50cyB0byBkZW1vbnN0cmF0ZSB0aGF0IHRoZXJlIGFyZSBwbGVudHkgb2YgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5ncy4gSmltaW4gcHJvcG9zZXMgYSBnYW1lIHRvIEp1bmh1aSB0byBwcm92ZSBoaXMgcG9pbnQuPFwvcD5cclxuXHJcbjxwPlRoZSBnYW1lIHN0YXJ0cyB3aXRoIGFuIDxzdHJvbmc+aW52YWxpZDxcL3N0cm9uZz4gcGFyZW50aGVzZXMgc3RyaW5nICRTJCBvZiBsZW5ndGggJE4kLiBUd28gcGxheWVycyB0YWtlIHR1cm5zIHJlbW92aW5nIGVpdGhlciB0aGUgPHN0cm9uZz5maXJzdCBjaGFyYWN0ZXI8XC9zdHJvbmc+IG9yIHRoZSA8c3Ryb25nPmxhc3QgY2hhcmFjdGVyPFwvc3Ryb25nPiB1bnRpbCBubyBjaGFyYWN0ZXJzIGFyZSBsZWZ0LiBJZiwgYXQgYW55IHBvaW50IGR1cmluZyB0aGUgZ2FtZSwgdGhlIHJlbWFpbmluZyBzdHJpbmcgJFMkIGJlY29tZXMgYSA8c3Ryb25nPm5vbi1lbXB0eTxcL3N0cm9uZz4gdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nLCBKaW1pbiB3aW5zLiBJZiB0aGUgZ2FtZSBlbmRzIHdpdGhvdXQgc2VlaW5nIGFueSBub24tZW1wdHkgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nLCBKdW5odWkgd2lucy48XC9wPlxyXG5cclxuPHA+VGhlIGdhbWUgYmVnaW5zIHdpdGggSmltaW4gbWFraW5nIHRoZSBmaXJzdCBtb3ZlLiBHaXZlbiB0aGUgbGVuZ3RoICROJCBhbmQgdGhlIHN0cmluZyAkUyQsIHlvdSBzaG91bGQgZGV0ZXJtaW5lIHdobyB3aWxsIHdpbiB0aGUgZ2FtZSB3aGVuIGJvdGggSmltaW4gYW5kIEp1bmh1aSBwbGF5IG9wdGltYWxseS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIHRoZSBsZW5ndGggJE4kIG9mIHRoZSBwYXJlbnRoZXNlcyBzdHJpbmcuPFwvcD5cclxuXHJcbjxwPlRoZSBzZWNvbmQgbGluZSBjb250YWlucyB0aGUgcGFyZW50aGVzZXMgc3RyaW5nICRTJC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5QcmludCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+amltaW48XC9jb2RlPjxcL3NwYW4+IGlmIEppbWluIHdpbnMgdGhlIGdhbWUsIG9yIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5qdW5odWk8XC9jb2RlPjxcL3NwYW4+IGlmIEp1bmh1aSB3aW5zLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2giLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+JDFcXGxlcSBOXFxsZXEgNVxcdGltZXN7MTB9Xns1fSQ8XC9saT5cclxuXHQ8bGk+JFxcbGVmdHwgUyBcXHJpZ2h0fCA9TiQ8XC9saT5cclxuXHQ8bGk+QWxsIGNoYXJhY3RlcnMgaW4gJFMkIGFyZSBlaXRoZXIgPGNvZGU+KDxcL2NvZGU+IG9yIDxjb2RlPik8XC9jb2RlPi48XC9saT5cclxuXHQ8bGk+JFMkIGlzIGFuIGludmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nLjxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazEiOiI8cD4kTiBcXGxlIDIwJDxcL3A+XHJcbiIsInN1YnRhc2syIjoiPHA+JE4gXFxsZSAxMDAwJDxcL3A+XHJcbiIsInN1YnRhc2szIjoiPHA+VGhlcmUgYXJlIG5vIGFkZGl0aW9uYWwgY29uc3RyYWludHMuPFwvcD5cclxuIn1d