문제
이 문제는 인터랙티브 문제입니다.
고슴도치 귀엽지 않나요?
귀여운 고슴도치!
키파는 "성게 그래프"도 있는데 이렇게 귀여운 고슴도치에 대응하는 그래프가 없는 것은 아무래도 말이 안 된다고 생각해서, 고슴도치 그래프 를 만들기로 했습니다.
고슴도치 그래프 는 다음과 같은 두 가지 성질을 만족하는 방향 없는 연결 그래프입니다. 이 그래프에는 self-loop(한 정점 $v$와 같은 정점인 $v$를 연결하는 간선)와 multiedge(서로 다른 두 정점 $v$와 $w$에 대해 $v$와 $w$를 연결하는 서로 다른 간선 $e_{1}$과 $e_{2}$)가 없습니다.
사이클이 정확히 하나 존재합니다. 이 사이클을 고슴도치의 몸통 이라고 부르겠습니다. 몸통의 크기 는 사이클에 속한 정점의 개수입니다. 사이클이 항상 존재하기 때문에 몸통의 크기는 항상 3ドル$ 이상 이라는 점에 유의하세요.
사이클에 속하지 않은 정점의 차수가 1ドル$입니다.
키파는 고슴도치 그래프를 열심히 키운 결과 각 그래프가 $V = 10^{6}$개의 정점으로 이루어진 고슴도치 그래프를 총 $N$개 가지게 되었습니다. 키파는 각 고슴도치 그래프를 다음과 같은 방법으로 어루만져 주기로 했습니다.
각 노드에 붙어 있는 간선의 방향을 한 방향으로 정하되, 모든 노드가 나가는 방향의 간선을 정확히 하나 가지도록 정합니다. 임의의 고슴도치 그래프에 대해, 간선의 방향을 위 조건을 만족하도록 정하는 것이 항상 가능함을 증명할 수 있습니다.
다음을 최대 $M = 1,204円$번 반복합니다.
정점 $v$와 $\left\lfloor10^{12.4}\right\rfloor = 2,511円,886円,431円,509円$ 이하의 아무 양의 정수 $x$를 고릅니다.
$v$에서 화살표를 $x$번 따라가며 고슴도치 그래프를 쓰다듬습니다. 모든 노드가 나가는 방향의 간선이 하나 있기 때문에 도착 노드는 하나로 정해지며, 이 도착 노드가 어디인지 알 수 있습니다.
과정 1은 키파가 이미 임의로 방향을 정했습니다.
키파는 고슴도치 그래프를 어루만져 주는 것뿐만 아니라 각 고슴도치 그래프의 몸통의 크기를 알고 싶어했습니다. 하지만 키파는 이걸 생각하기에는 머리가 너무 아팠기 때문에, 과정 2를 여러분에게 맡기기로 했습니다.
여러분은 각 고슴도치 그래프에 대해 과정 2를 시행한 후 얻은 정보로 각 고슴도치의 몸통의 크기를 알아내야 합니다.
인터랙션
여러분은 채점 시스템에게 다음과 같은 질의를 할 수 있습니다.
? v x: 정점 $v$에서 화살표를 $x$번 따라가서 도착한 노드 번호를 돌려줍니다. 1ドル \leq v \leq V,ドル 1ドル \leq x \leq \left\lfloor 10^{12.4}\right\rfloor = 2,511円,886円,431円,509円$를 만족해야 합니다. 이 질의는 그래프 당 최대 $M$번 할 수 있으며, 결과는 도착 정점 번호를 나타내는 1ドル$ 이상 $V$ 이하의 정수입니다.
! s: 현재 어루만지고 있는 그래프의 몸통의 크기 $s$를 채점 프로그램에게 알려주는 질의입니다. 그래프 당 한 번 질의할 수 있으며, 결과는 몸통의 크기가 맞았음을 의미하는 1ドル$이거나 몸통의 크기가 틀렸음을 의미하는 $-1$입니다. 크기가 맞은 경우 다음 그래프로 넘어갑니다.
질의를 출력한 후에는 표준 출력 버퍼를 flush해 주어야 합니다. 언어별로 표준 출력 버퍼를 flush하는 방법은 다음과 같습니다.
C: fflush(stdout)
C++: std::cout << std::flush
Java: System.out.flush()
Python: sys.stdout.flush()
Kotlin: System.out.flush()
어떤 질의에서든지 음수를 응답으로 받았을 경우 프로그램을 즉시 정상 종료해야 하며, 이 경우 틀렸습니다 를 받습니다. 프로그램을 즉시 종료하지 않을 경우 다른 결과를 받을 수 있음에 주의하세요.
$N$개의 ! 질의에서 모두 1ドル$을 받은 경우 프로그램을 종료하면 그 테스트 케이스에 대해서는 맞은 것으로 처리됩니다.
예제 출력 1
복사
? 1 2
? 2 5
? 10 11
! 11
W3sicHJvYmxlbV9pZCI6IjIzMDQ5IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVhY2UwXHVjMmI0XHViM2M0XHVjZTU4IFx1YWRmOFx1Yjc5OFx1ZDUwNCIsImRlc2NyaXB0aW9uIjoiPHA+PHN0cm9uZz5cdWM3NzQgXHViYjM4XHVjODFjXHViMjk0IFx1Yzc3OFx1ZDEzMFx1Yjc5OVx1ZDJmMFx1YmUwYyBcdWJiMzhcdWM4MWNcdWM3ODVcdWIyYzhcdWIyZTQuPFwvc3Ryb25nPjxcL3A+XHJcblxyXG48cD5cdWFjZTBcdWMyYjRcdWIzYzRcdWNlNTggXHVhZGMwXHVjNWZkXHVjOWMwIFx1YzU0YVx1YjA5OFx1YzY5ND88XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9jN2VjZGQyYy00OGRkLTQ3MDQtYWRkNy1hYWQ4NTBiNzJkMTJcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDY0MHB4OyBoZWlnaHQ6IDQyNXB4O1wiIFwvPjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj5cdWFkYzBcdWM1ZWNcdWM2YjQgXHVhY2UwXHVjMmI0XHViM2M0XHVjZTU4ITxcL3A+XHJcblxyXG48cD5cdWQwYTRcdWQzMGNcdWIyOTQgJnF1b3Q7XHVjMTMxXHVhYzhjIFx1YWRmOFx1Yjc5OFx1ZDUwNCZxdW90O1x1YjNjNCBcdWM3ODhcdWIyOTRcdWIzNzAgXHVjNzc0XHViODA3XHVhYzhjIFx1YWRjMFx1YzVlY1x1YzZiNCBcdWFjZTBcdWMyYjRcdWIzYzRcdWNlNThcdWM1ZDAgXHViMzAwXHVjNzUxXHVkNTU4XHViMjk0IFx1YWRmOFx1Yjc5OFx1ZDUwNFx1YWMwMCBcdWM1YzZcdWIyOTQgXHVhYzgzXHVjNzQwIFx1YzU0NFx1YmIzNFx1Yjc5OFx1YjNjNCBcdWI5ZDBcdWM3NzQgXHVjNTQ4IFx1YjQxY1x1YjJlNFx1YWNlMCBcdWMwZGRcdWFjMDFcdWQ1NzRcdWMxMWMsIDxzdHJvbmc+XHVhY2UwXHVjMmI0XHViM2M0XHVjZTU4IFx1YWRmOFx1Yjc5OFx1ZDUwNDxcL3N0cm9uZz5cdWI5N2MgXHViOWNjXHViNGU0XHVhZTMwXHViODVjIFx1ZDU4OFx1YzJiNVx1YjJjOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+PHN0cm9uZz5cdWFjZTBcdWMyYjRcdWIzYzRcdWNlNTggXHVhZGY4XHViNzk4XHVkNTA0PFwvc3Ryb25nPlx1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1YjQ1MCBcdWFjMDBcdWM5YzAgXHVjMTMxXHVjOWM4XHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWJjMjlcdWQ1YTUgXHVjNWM2XHViMjk0IFx1YzVmMFx1YWNiMCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM3ODVcdWIyYzhcdWIyZTQuIFx1Yzc3NCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM1ZDBcdWIyOTQgc2VsZi1sb29wKFx1ZDU1YyBcdWM4MTVcdWM4MTAgJHYkXHVjNjQwIFx1YWMxOVx1Yzc0MCBcdWM4MTVcdWM4MTBcdWM3NzggJHYkXHViOTdjIFx1YzVmMFx1YWNiMFx1ZDU1OFx1YjI5NCBcdWFjMDRcdWMxMjApXHVjNjQwIG11bHRpZWRnZShcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YjQ1MCBcdWM4MTVcdWM4MTAgJHYkXHVjNjQwICR3JFx1YzVkMCBcdWIzMDBcdWQ1NzQgJHYkXHVjNjQwICR3JFx1Yjk3YyBcdWM1ZjBcdWFjYjBcdWQ1NThcdWIyOTQgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3OCBcdWFjMDRcdWMxMjAgJGVfezF9JFx1YWNmYyAkZV97Mn0kKVx1YWMwMCBcdWM1YzZcdWMyYjVcdWIyYzhcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHVjMGFjXHVjNzc0XHVkMDc0XHVjNzc0IFx1YzgxNVx1ZDY1NVx1ZDc4OCBcdWQ1NThcdWIwOTggXHVjODc0XHVjN2FjXHVkNTY5XHViMmM4XHViMmU0LiBcdWM3NzQgXHVjMGFjXHVjNzc0XHVkMDc0XHVjNzQ0IFx1YWNlMFx1YzJiNFx1YjNjNFx1Y2U1OFx1Yzc1OCA8c3Ryb25nPlx1YmFiOFx1ZDFiNTxcL3N0cm9uZz5cdWM3NzRcdWI3N2NcdWFjZTAgXHViZDgwXHViOTc0XHVhY2EwXHVjMmI1XHViMmM4XHViMmU0LiBcdWJhYjhcdWQxYjVcdWM3NTggPHN0cm9uZz5cdWQwNmNcdWFlMzA8XC9zdHJvbmc+XHViMjk0IFx1YzBhY1x1Yzc3NFx1ZDA3NFx1YzVkMCBcdWMxOGRcdWQ1NWMgXHVjODE1XHVjODEwXHVjNzU4IFx1YWMxY1x1YzIxOFx1Yzc4NVx1YjJjOFx1YjJlNC4gXHVjMGFjXHVjNzc0XHVkMDc0XHVjNzc0IFx1ZDU2ZFx1YzBjMSBcdWM4NzRcdWM3YWNcdWQ1NThcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwIDxzdHJvbmc+XHViYWI4XHVkMWI1XHVjNzU4IFx1ZDA2Y1x1YWUzMFx1YjI5NCBcdWQ1NmRcdWMwYzEgJDMkIFx1Yzc3NFx1YzBjMTxcL3N0cm9uZz5cdWM3NzRcdWI3N2NcdWIyOTQgXHVjODEwXHVjNWQwIFx1YzcyMFx1Yzc1OFx1ZDU1OFx1YzEzOFx1YzY5NC48XC9saT5cclxuXHQ8bGk+XHVjMGFjXHVjNzc0XHVkMDc0XHVjNWQwIFx1YzE4ZFx1ZDU1OFx1YzljMCBcdWM1NGFcdWM3NDAgXHVjODE1XHVjODEwXHVjNzU4IFx1Y2MyOFx1YzIxOFx1YWMwMCAkMSRcdWM3ODVcdWIyYzhcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVkMGE0XHVkMzBjXHViMjk0IFx1YWNlMFx1YzJiNFx1YjNjNFx1Y2U1OCBcdWFkZjhcdWI3OThcdWQ1MDRcdWI5N2MgXHVjNWY0XHVjMmVjXHVkNzg4IFx1ZDBhNFx1YzZiNCBcdWFjYjBcdWFjZmMgXHVhYzAxIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1YWMwMCAkViA9IDEwXns2fSRcdWFjMWNcdWM3NTggXHVjODE1XHVjODEwXHVjNzNjXHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNCBcdWFjZTBcdWMyYjRcdWIzYzRcdWNlNTggXHVhZGY4XHViNzk4XHVkNTA0XHViOTdjIFx1Y2QxZCAkTiRcdWFjMWMgXHVhYzAwXHVjOWMwXHVhYzhjIFx1YjQxOFx1YzVjOFx1YzJiNVx1YjJjOFx1YjJlNC4gXHVkMGE0XHVkMzBjXHViMjk0IFx1YWMwMSBcdWFjZTBcdWMyYjRcdWIzYzRcdWNlNTggXHVhZGY4XHViNzk4XHVkNTA0XHViOTdjIFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NDAgXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1YzViNFx1YjhlOFx1YjljY1x1YzgzOCBcdWM4ZmNcdWFlMzBcdWI4NWMgXHVkNTg4XHVjMmI1XHViMmM4XHViMmU0LjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPlx1YWMwMSBcdWIxNzhcdWI0ZGNcdWM1ZDAgXHViZDk5XHVjNWI0IFx1Yzc4OFx1YjI5NCBcdWFjMDRcdWMxMjBcdWM3NTggXHViYzI5XHVkNWE1XHVjNzQ0IFx1ZDU1YyBcdWJjMjlcdWQ1YTVcdWM3M2NcdWI4NWMgXHVjODE1XHVkNTU4XHViNDE4LCBcdWJhYThcdWI0ZTAgXHViMTc4XHViNGRjXHVhYzAwIFx1YjA5OFx1YWMwMFx1YjI5NCBcdWJjMjlcdWQ1YTVcdWM3NTggXHVhYzA0XHVjMTIwXHVjNzQ0IDxzdHJvbmc+XHVjODE1XHVkNjU1XHVkNzg4IFx1ZDU1OFx1YjA5ODxcL3N0cm9uZz4gXHVhYzAwXHVjOWMwXHViM2M0XHViODVkIFx1YzgxNVx1ZDU2OVx1YjJjOFx1YjJlNC4gXHVjNzg0XHVjNzU4XHVjNzU4IFx1YWNlMFx1YzJiNFx1YjNjNFx1Y2U1OCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM1ZDAgXHViMzAwXHVkNTc0LCBcdWFjMDRcdWMxMjBcdWM3NTggXHViYzI5XHVkNWE1XHVjNzQ0IFx1YzcwNCBcdWM4NzBcdWFjNzRcdWM3NDQgXHViOWNjXHVjODcxXHVkNTU4XHViM2M0XHViODVkIFx1YzgxNVx1ZDU1OFx1YjI5NCBcdWFjODNcdWM3NzQgXHVkNTZkXHVjMGMxIFx1YWMwMFx1YjJhNVx1ZDU2OFx1Yzc0NCBcdWM5OWRcdWJhODVcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YzJiNVx1YjJjOFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViMmU0XHVjNzRjXHVjNzQ0IFx1Y2Q1Y1x1YjMwMCAkTSA9IDFcXCwyMDQkXHViYzg4IFx1YmMxOFx1YmNmNVx1ZDU2OVx1YjJjOFx1YjJlNC5cclxuXHQ8b2w+XHJcblx0XHQ8bGk+XHVjODE1XHVjODEwICR2JFx1YzY0MCAkXFxsZWZ0XFxsZmxvb3IxMF57MTIuNH1cXHJpZ2h0XFxyZmxvb3IgPSAyXFwsNTExXFwsODg2XFwsNDMxXFwsNTA5JCBcdWM3NzRcdWQ1NThcdWM3NTggXHVjNTQ0XHViYjM0IFx1YzU5MVx1Yzc1OCBcdWM4MTVcdWMyMTggJHgkXHViOTdjIFx1YWNlMFx1Yjk4NVx1YjJjOFx1YjJlNC48XC9saT5cclxuXHRcdDxsaT4kdiRcdWM1ZDBcdWMxMWMgXHVkNjU0XHVjMGI0XHVkNDVjXHViOTdjICR4JFx1YmM4OCBcdWI1MzBcdWI3N2NcdWFjMDBcdWJhNzAgXHVhY2UwXHVjMmI0XHViM2M0XHVjZTU4IFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjk3YyBcdWM0ZjBcdWIyZTRcdWI0ZWNcdWMyYjVcdWIyYzhcdWIyZTQuIFx1YmFhOFx1YjRlMCBcdWIxNzhcdWI0ZGNcdWFjMDAgXHViMDk4XHVhYzAwXHViMjk0IFx1YmMyOVx1ZDVhNVx1Yzc1OCBcdWFjMDRcdWMxMjBcdWM3NzQgXHVkNTU4XHViMDk4IFx1Yzc4OFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAgXHViM2M0XHVjYzI5IFx1YjE3OFx1YjRkY1x1YjI5NCBcdWQ1NThcdWIwOThcdWI4NWMgXHVjODE1XHVkNTc0XHVjOWMwXHViYTcwLCBcdWM3NzQgXHViM2M0XHVjYzI5IFx1YjE3OFx1YjRkY1x1YWMwMCBcdWM1YjRcdWI1MTRcdWM3NzhcdWM5YzAgXHVjNTRjIFx1YzIxOCBcdWM3ODhcdWMyYjVcdWIyYzhcdWIyZTQuPFwvbGk+XHJcblx0PFwvb2w+XHJcblx0PFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+XHVhY2ZjXHVjODE1IDFcdWM3NDAgXHVkMGE0XHVkMzBjXHVhYzAwIFx1Yzc3NFx1YmJmOCBcdWM3ODRcdWM3NThcdWI4NWMgXHViYzI5XHVkNWE1XHVjNzQ0IFx1YzgxNVx1ZDU4OFx1YzJiNVx1YjJjOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkMGE0XHVkMzBjXHViMjk0IFx1YWNlMFx1YzJiNFx1YjNjNFx1Y2U1OCBcdWFkZjhcdWI3OThcdWQ1MDRcdWI5N2MgXHVjNWI0XHViOGU4XHViOWNjXHVjODM4IFx1YzhmY1x1YjI5NCBcdWFjODNcdWJmZDBcdWI5Y2MgXHVjNTQ0XHViMmM4XHViNzdjIFx1YWMwMSBcdWFjZTBcdWMyYjRcdWIzYzRcdWNlNTggXHVhZGY4XHViNzk4XHVkNTA0XHVjNzU4IFx1YmFiOFx1ZDFiNVx1Yzc1OCBcdWQwNmNcdWFlMzBcdWI5N2MgXHVjNTRjXHVhY2UwIFx1YzJmNlx1YzViNFx1ZDU4OFx1YzJiNVx1YjJjOFx1YjJlNC4gXHVkNTU4XHVjOWMwXHViOWNjIFx1ZDBhNFx1ZDMwY1x1YjI5NCBcdWM3NzRcdWFjNzggXHVjMGRkXHVhYzAxXHVkNTU4XHVhZTMwXHVjNWQwXHViMjk0IFx1YmEzOFx1YjlhY1x1YWMwMCBcdWIxMDhcdWJiMzQgXHVjNTQ0XHVkMzIwXHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVhY2ZjXHVjODE1IDJcdWI5N2MgXHVjNWVjXHViN2VjXHViZDg0XHVjNWQwXHVhYzhjIFx1YjllMVx1YWUzMFx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWMyYjVcdWIyYzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc0MCBcdWFjMDEgXHVhY2UwXHVjMmI0XHViM2M0XHVjZTU4IFx1YWRmOFx1Yjc5OFx1ZDUwNFx1YzVkMCBcdWIzMDBcdWQ1NzQgXHVhY2ZjXHVjODE1IDJcdWI5N2MgXHVjMmRjXHVkNTg5XHVkNTVjIFx1ZDZjNCBcdWM1YmJcdWM3NDAgXHVjODE1XHViY2Y0XHViODVjIFx1YWMwMSBcdWFjZTBcdWMyYjRcdWIzYzRcdWNlNThcdWM3NTggXHViYWI4XHVkMWI1XHVjNzU4IFx1ZDA2Y1x1YWUzMFx1Yjk3YyBcdWM1NGNcdWM1NDRcdWIwYjRcdWM1N2MgXHVkNTY5XHViMmM4XHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCAkMTAkIFx1Yzc3NFx1ZDU1OFx1Yzc1OCBcdWM1OTFcdWM3NTggXHVjODE1XHVjMjE4ICROJFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5ZDFcdWIyYzhcdWIyZTQuIFx1YWRmOFx1YjdlY1x1YWNlMCBcdWIwOThcdWJhNzQgXHVjNzc4XHVkMTMwXHViNzk5XHVjMTU4XHVjNzc0IFx1YzJkY1x1Yzc5MVx1YjQyOVx1YjJjOFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiIiLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJjdXN0b21faW50ZXJhY3Rpb24iOiI8cD5cdWM1ZWNcdWI3ZWNcdWJkODRcdWM3NDAgXHVjYzQ0XHVjODEwIFx1YzJkY1x1YzJhNFx1ZDE1Y1x1YzVkMFx1YWM4YyBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1YzljOFx1Yzc1OFx1Yjk3YyBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YzJiNVx1YjJjOFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT48Y29kZT4/IHYgeDxcL2NvZGU+OiBcdWM4MTVcdWM4MTAgJHYkXHVjNWQwXHVjMTFjIFx1ZDY1NFx1YzBiNFx1ZDQ1Y1x1Yjk3YyAkeCRcdWJjODggXHViNTMwXHViNzdjXHVhYzAwXHVjMTFjIFx1YjNjNFx1Y2MyOVx1ZDU1YyBcdWIxNzhcdWI0ZGMgXHViYzg4XHVkNjM4XHViOTdjIFx1YjNjY1x1YjgyNFx1YzkwZFx1YjJjOFx1YjJlNC4gJDEgXFxsZXEgdiBcXGxlcSBWJCwgJDEgXFxsZXEgeCBcXGxlcSBcXGxlZnRcXGxmbG9vciAxMF57MTIuNH1cXHJpZ2h0XFxyZmxvb3IgPSAyXFwsNTExXFwsODg2XFwsNDMxXFwsNTA5JFx1Yjk3YyBcdWI5Y2NcdWM4NzFcdWQ1NzRcdWM1N2MgXHVkNTY5XHViMmM4XHViMmU0LiBcdWM3NzQgXHVjOWM4XHVjNzU4XHViMjk0IFx1YWRmOFx1Yjc5OFx1ZDUwNCBcdWIyZjkgXHVjZDVjXHViMzAwICRNJFx1YmM4OCBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YzczY1x1YmE3MCwgXHVhY2IwXHVhY2ZjXHViMjk0IFx1YjNjNFx1Y2MyOSBcdWM4MTVcdWM4MTAgXHViYzg4XHVkNjM4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCAkMSQgXHVjNzc0XHVjMGMxICRWJCBcdWM3NzRcdWQ1NThcdWM3NTggXHVjODE1XHVjMjE4XHVjNzg1XHViMmM4XHViMmU0LjxcL2xpPlxyXG5cdDxsaT48Y29kZT4hIHM8XC9jb2RlPjogXHVkNjA0XHVjN2FjIFx1YzViNFx1YjhlOFx1YjljY1x1YzljMFx1YWNlMCBcdWM3ODhcdWIyOTQgXHVhZGY4XHViNzk4XHVkNTA0XHVjNzU4IFx1YmFiOFx1ZDFiNVx1Yzc1OCBcdWQwNmNcdWFlMzAgJHMkXHViOTdjIFx1Y2M0NFx1YzgxMCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM1ZDBcdWFjOGMgXHVjNTRjXHViODI0XHVjOGZjXHViMjk0IFx1YzljOFx1Yzc1OFx1Yzc4NVx1YjJjOFx1YjJlNC4gXHVhZGY4XHViNzk4XHVkNTA0IFx1YjJmOSBcdWQ1NWMgXHViYzg4IFx1YzljOFx1Yzc1OFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVjNzNjXHViYTcwLCBcdWFjYjBcdWFjZmNcdWIyOTQgXHViYWI4XHVkMWI1XHVjNzU4IFx1ZDA2Y1x1YWUzMFx1YWMwMCBcdWI5ZGVcdWM1NThcdWM3NGNcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0ICQxJFx1Yzc3NFx1YWM3MFx1YjA5OCBcdWJhYjhcdWQxYjVcdWM3NTggXHVkMDZjXHVhZTMwXHVhYzAwIFx1ZDJjMFx1YjgzOFx1Yzc0Y1x1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NThcdWIyOTQgJC0xJFx1Yzc4NVx1YjJjOFx1YjJlNC4gXHVkMDZjXHVhZTMwXHVhYzAwIFx1YjlkZVx1Yzc0MCBcdWFjYmRcdWM2YjAgXHViMmU0XHVjNzRjIFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjg1YyBcdWIxMThcdWM1YjRcdWFjMTFcdWIyYzhcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVjOWM4XHVjNzU4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1YyBcdWQ2YzRcdWM1ZDBcdWIyOTQgXHVkNDVjXHVjOTAwIFx1Y2Q5Y1x1YjgyNSBcdWJjODRcdWQzN2NcdWI5N2MgZmx1c2hcdWQ1NzQgXHVjOGZjXHVjNWI0XHVjNTdjIFx1ZDU2OVx1YjJjOFx1YjJlNC4gXHVjNWI4XHVjNWI0XHViY2M0XHViODVjIFx1ZDQ1Y1x1YzkwMCBcdWNkOWNcdWI4MjUgXHViYzg0XHVkMzdjXHViOTdjIGZsdXNoXHVkNTU4XHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc0MCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjMmI1XHViMmM4XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPkM6IDxjb2RlPmZmbHVzaChzdGRvdXQpPFwvY29kZT48XC9saT5cclxuXHQ8bGk+QysrOiA8Y29kZT5zdGQ6OmNvdXQgJmx0OyZsdDsgc3RkOjpmbHVzaDxcL2NvZGU+PFwvbGk+XHJcblx0PGxpPkphdmE6IDxjb2RlPlN5c3RlbS5vdXQuZmx1c2goKTxcL2NvZGU+PFwvbGk+XHJcblx0PGxpPlB5dGhvbjogPGNvZGU+c3lzLnN0ZG91dC5mbHVzaCgpPFwvY29kZT48XC9saT5cclxuXHQ8bGk+S290bGluOiZuYnNwOzxjb2RlPlN5c3RlbS5vdXQuZmx1c2goKTxcL2NvZGU+PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVjNWI0XHViNWE0IFx1YzljOFx1Yzc1OFx1YzVkMFx1YzExY1x1YjRlMFx1YzljMCBcdWM3NGNcdWMyMThcdWI5N2MgXHVjNzUxXHViMmY1XHVjNzNjXHViODVjIFx1YmMxYlx1YzU1OFx1Yzc0NCBcdWFjYmRcdWM2YjAgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzk4OVx1YzJkYyBcdWM4MTVcdWMwYzEgXHVjODg1XHViOGNjXHVkNTc0XHVjNTdjIFx1ZDU1OFx1YmE3MCwgXHVjNzc0IFx1YWNiZFx1YzZiMCA8c3Ryb25nPlx1ZDJjMFx1YjgzOFx1YzJiNVx1YjJjOFx1YjJlNDxcL3N0cm9uZz5cdWI5N2MgXHViYzFiXHVjMmI1XHViMmM4XHViMmU0LiBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjOTg5XHVjMmRjIFx1Yzg4NVx1YjhjY1x1ZDU1OFx1YzljMCBcdWM1NGFcdWM3NDQgXHVhY2JkXHVjNmIwIFx1YjJlNFx1Yjk3OCBcdWFjYjBcdWFjZmNcdWI5N2MgXHViYzFiXHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWM3NGNcdWM1ZDAgXHVjOGZjXHVjNzU4XHVkNTU4XHVjMTM4XHVjNjk0LjxcL3A+XHJcblxyXG48cD4kTiRcdWFjMWNcdWM3NTggPGNvZGU+ITxcL2NvZGU+Jm5ic3A7XHVjOWM4XHVjNzU4XHVjNWQwXHVjMTFjIFx1YmFhOFx1YjQ1MCAkMSRcdWM3NDQgXHViYzFiXHVjNzQwIFx1YWNiZFx1YzZiMCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjODg1XHViOGNjXHVkNTU4XHViYTc0IFx1YWRmOCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExY1x1YjI5NCBcdWI5ZGVcdWM3NDAgXHVhYzgzXHVjNzNjXHViODVjIFx1Y2M5OFx1YjlhY1x1YjQyOVx1YjJjOFx1YjJlNC48XC9wPlxyXG4ifSx7InByb2JsZW1faWQiOiIyMzA0OSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkhlZGdlaG9nIEdyYXBoIiwiZGVzY3JpcHRpb24iOiI8cD5BJm5ic3A7PGVtPmhlZGdlaG9nIGdyYXBoPFwvZW0+Jm5ic3A7aXMgYSBkaXJlY3RlZCBncmFwaCB3aGVyZSBlYWNoIHZlcnRleCBoYXMgZXhhY3RseSBvbmUgb3V0Z29pbmcgZWRnZSBhbmQgY29udGFpbnMgZXhhY3RseSBvbmUgZGlyZWN0ZWQgY3ljbGUgb2YgbGVuZ3RoIGF0IGxlYXN0ICQzJCAodGhlIGdyYXBoIGRvZXMgbm90IGNvbnRhaW4gYSBsb29wIG9yIGN5Y2xlIG9mIGxlbmd0aCAkMiQuKSBGb3IgZXZlcnkgZWRnZSAkZSA9IHUgXFxyaWdodGFycm93IHYkIGluIHRoZSBoZWRnZWhvZyBncmFwaCwmbmJzcDskdiQgYmVsb25ncyB0byB0aGUgYWZvcmVtZW50aW9uZWQgc2luZ2xlIGRpcmVjdGVkIGN5Y2xlLjxcL3A+XHJcblxyXG48cD5Gb3IgYSB2ZXJ0ZXggJHYkLCBpZiB0aGVyZSBleGlzdHMgYW4gZWRnZSAkdiBcXHJpZ2h0YXJyb3cgdyQsIHdlIGRlbm90ZSB0aGUgdmVydGV4ICR3ID0gbmV4dCh2KSQgYXMgdGhlJm5ic3A7PGVtPm5leHQgdmVydGV4PFwvZW0+LiBUaGlzIHZlcnRleCBleGlzdHMgYW5kIGlzIHVuaXF1ZS48XC9wPlxyXG5cclxuPHA+S2lwYSBoYXMgJG4kJm5ic3A7aGVkZ2Vob2cgZ3JhcGhzIHdpdGggJDEwXjYkJm5ic3A7dmVydGljZXMuIEVhY2ggdmVydGV4IGlzIG51bWJlcmVkIGZyb20mbmJzcDskMSQmbmJzcDt0byZuYnNwOyQxMF42JC4gS2lwYSBpcyBub3QgZ2l2ZW4gdGhlIGdyYXBoIGRpcmVjdGx5LiBJbnN0ZWFkLCBLaXBhIGNhbiBhc2sgdGhlIGZvbGxvd2luZyBxdWVyeSBhdCBtb3N0Jm5ic3A7JDFcXCwyMDQkJm5ic3A7dGltZXMuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+PGNvZGU+PyB2IHg8XC9jb2RlPjogR2l2ZW4gYSB2ZXJ0ZXggJHYkJm5ic3A7YW5kIGEgcG9zaXRpdmUgaW50ZWdlciZuYnNwOyR4JCwgdGhlIGp1cnkgc3RhcnRzIGF0Jm5ic3A7JHYkLCBtb3ZlcyB0byB0aGUgbmV4dCB2ZXJ0ZXgmbmJzcDskeCQmbmJzcDt0aW1lcywgYW5kIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSByZXN1bHRpbmcgdmVydGV4LiAoJDEmbGU7diZsZTsxMF42JCwkMSZsZTt4JmxlO1xcbGVmdFxcbGZsb29yMTBeezEyLjR9XFxyaWdodFxccmZsb29yID0gMlxcLDUxMVxcLDg4NlxcLDQzMVxcLDUwOSQpPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+WW91ciB0YXNrIGlzIHRvIGhlbHAgS2lwYSBkZXRlcm1pbmUgdGhlIGxlbmd0aCBvZiB0aGUgZGlyZWN0ZWQgY3ljbGUgZm9yIGVhY2ggaGVkZ2Vob2cgZ3JhcGguPFwvcD5cclxuIiwiaW5wdXQiOiIiLCJvdXRwdXQiOiIiLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIiwiY3VzdG9tX2ludGVyYWN0aW9uIjoiPHA+Rmlyc3QsIHlvdXIgcHJvZ3JhbSBtdXN0IHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgb25lIGxpbmUgd2l0aCB0aGUgcG9zaXRpdmUgaW50ZWdlciAkbiQsIHRoZSBudW1iZXIgb2YgZ3JhcGhzIHRvIHByb2Nlc3MuICRuJCB3aWxsIGJlIGF0IG1vc3QgJDEwJC48XC9wPlxyXG5cclxuPHA+Rm9yIGVhY2ggZ3JhcGgsIHRoZSBwcm9ncmFtIGNhbiBhc2sgdGhlIGZvbGxvd2luZyBxdWVyeSBhdCBtb3N0ICQxXFwsMjA0JCB0aW1lcy48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT48Y29kZT4/IHYgeDxcL2NvZGU+OiBHaXZlbiBhIHZlcnRleCAkdiQgYW5kIGEgcG9zaXRpdmUgaW50ZWdlciAkeCQsIHRoZSBqdXJ5IHN0YXJ0cyBhdCAkdiQsIG1vdmVzIHRvIHRoZSBuZXh0IHZlcnRleCAkeCQgdGltZXMsIGFuZCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgcmVzdWx0aW5nIHZlcnRleC4gKCQxJmxlO3YmbGU7MTBeNiQsJDEmbGU7eCZsZTtcXGxlZnRcXGxmbG9vcjEwXnsxMi40fVxccmlnaHRcXHJmbG9vciA9IDJcXCw1MTFcXCw4ODZcXCw0MzFcXCw1MDkkKTxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPk9uY2UgeW91IGhhdmUgZGV0ZXJtaW5lZCB0aGUgbGVuZ3RoIG9mIHRoZSBjeWNsZSAkcyQsIG91dHB1dCA8Y29kZT4hIHM8XC9jb2RlPi4gQWZ0ZXIgdGhhdCwgcmVhZCBhIHNpbmdsZSBpbnRlZ2VyIHdoaWNoIGlzIGVpdGhlcjo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4kMSQsIGlmIHRoZSBhbnN3ZXIgaXMgY29ycmVjdC4gWW91IHNob3VsZCBpbW1lZGlhdGVseSBzdGFydCBwcm9jZXNzaW5nIHRoZSBuZXh0IGdyYXBoLCBvciBmaW5pc2ggeW91ciBwcm9ncmFtIHdpdGggdGhlIGV4aXQgY29kZSAwIGlmIGFsbCAkbiQgZ3JhcGhzIGFyZSBwcm9jZXNzZWQuPFwvbGk+XHJcblx0PGxpPiQtMSQsIGlmIHRoZSBhbnN3ZXIgaXMgaW5jb3JyZWN0LiBJbiB0aGlzIGNhc2UsIHlvdSBzaG91bGQgZmluaXNoIHlvdXIgcHJvZ3JhbSB3aXRoIGV4aXQgY29kZSAwLCBpbiB3aGljaCBjYXNlIHlvdSB3aWxsIHJlY2VpdmUgYSBXcm9uZyBBbnN3ZXIgdmVyZGljdC4gRmFpbHVyZSB0byBoYW5kbGUgdGhpcyBwcm9wZXJseSBtYXkgcmVzdWx0IGluIHVuZXhwZWN0ZWQgYmVoYXZpb3IuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+WW91IG11c3QgZmx1c2ggeW91ciBvdXRwdXQgYWZ0ZXIgZXZlcnkgaW50ZXJhY3Rpb24uPFwvcD5cclxuXHJcbjxwPlRoZSBpbnRlcmFjdG9yIGlzIGFkYXB0aXZlLiBJbiBvdGhlciB3b3JkcywgdGhlIGludGVyYWN0b3IgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhcnQgd2l0aCBhIGZpeGVkIGdyYXBoIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGludGVyYWN0aW9uLiBUaGUgaW50ZXJhY3RvciBvbmx5IGd1YXJhbnRlZXMgdGhhdCB0aGVyZSBleGlzdHMgYXQgbGVhc3Qgb25lIGhlZGdlaG9nIGdyYXBoIHRoYXQgc2F0aXNmaWVzIGFsbCB0aGUgcHJvdmlkZWQgcmVzcG9uc2VzIG9mIHRoZSBpbnRlcmFjdG9yIGFuZCB0aGUgaW5wdXQgc3BlY2lmaWNhdGlvbi48XC9wPlxyXG4ifV0=