시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 0 0 0 0.000%

문제

다음과 같은 가상의 프로그래밍 언어 L이 있다.

  1. L 프로그램의 각 줄은 순서대로 1부터 N(1≤N≤100,000)의 번호가 붙어 있다.
  2. 각 줄에는 정확히 한 개의 명령어만 들어간다.
  3. 프로그램은 첫 번째 줄부터 수행된다.
  4. 가능한 명령은 ifgo, jump, pass, loop, die의 다섯 가지만 있다.
  5. 각 줄을 수행할 때마다 그 줄의 번호가 출력된다. 그 명령이 입력을 받는 명령일 경우에도 줄 번호가 먼저 출력된다.
  6. ifgo 명령은 다른 명령의 줄 번호를 의미하는 한 개의 인자를 갖는다. 이 명령을 수행하면 한 비트의 입력을 받는다. 만약 입력이 1이면 명령에 지시된 줄 번호로 이동한다. 만약 입력이 0이면 다음 줄로 이동한다.
  7. jump 명령은 다른 명령의 줄 번호를 의미하는 한 개의 인자를 갖는다. 이 명령을 수행하면 명령에 지시된 줄 번호로 이동한다.
  8. pass 명령은 인자가 없는 명령이다. 이 명령을 수행하면 아무 것도 하지 않고, 줄 번호만 출력한 다음에 다음 줄로 이동한다.
  9. die 명령은 인자가 없는 명령이다. 이 명령을 수행하면 줄 번호를 출력한 다음에 프로그램이 끝난다. 이 명령은 반복문 안에서는 사용되지 않는다.
  10. loop 명령은 반복문을 수행할 때 사용되는데, 두 개의 인자 l, c를 갖는다. l은 반복문이 시작되는 줄 번호이고, c는 반복 회수이다. l은 항상 loop 명령이 있는 줄 번호보다 작은 값을 갖는다. 이 명령을 수행하면 l번째 줄부터 loop 명령이 있는 줄까지를 c번 수행한다. 반복문이 끝난 다음에는 그 다음 줄로 이동한다.
  11. ifgo, jump 명령은 그 명령이 있는 반복문의 범위에서만 이동할 수 있다. 즉, 두 명령이 반복문 안에 있는 경우, 그 반복문의 범위 밖으로 이동할 수 없다. 또한, 반복문 안에 두 명령어가 있고, 그 다음 줄에 또다른 반복문이 있는 경우, 안쪽 반복문 안으로 이동할 수는 없다. 예를 들면 다음과 같은 경우는 잘못된 프로그램이다.
  12. 반복문 안에 반복문이 들어갈 경우, 안쪽 반복문이 바깥쪽 반복문에 완전히 포함되어야 한다. 즉, 안쪽 반복문의 시작 줄 번호가 바깥쪽 반복문의 시작 줄 번호보다 커야 한다(같은 경우도 안 됨). 그 외의 형태로 두 반복문이 겹치는 경우는 없다.
  13. 프로그램의 제일 마지막 줄이 수행되었을 때, 그 명령이 die가 아닌 경우 프로그램은 첫 번째 줄부터 다시 수행된다.
  14. 프로그램을 알아보기 쉽게 하기 위해 각 줄에 스페이스나 탭이 여러 개 들어갈 수도 있다.
  15. 각 줄의 최대 길이는 스페이스나 탭을 포함하여 80자를 넘지 않는다.

L로 짠 프로그램이 주어졌을 때, 그 프로그램이 최대 몇 번이나 줄 번호를 출력하는지 계산하는 프로그램을 작성하시오. Ifgo 명령의 경우, 입력값에 따라서 출력 회수가 변할 수 있는데, 출력 회수가 최대가 되는 입력이 주어진다고 가정한다.

입력

첫째 줄에 N이 주어진다. 다음 N개의 줄에 L 프로그램이 첫째 줄부터 차례대로 주어진다.

출력

첫째 줄에 최대 출력 회수를 출력한다. 답은 항상 1,000,000,000이하이며, 이를 넘어가는 경우는 무한 번 수행되는 경우로 infinity를 출력하도록 한다.

예제 입력 1

8
	pass
		ifgo 4
		jump 5
		ifgo 3
	loop 2 2
	pass
loop 1 2
die

예제 출력 1

23
W3sicHJvYmxlbV9pZCI6IjIxMTkiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3OThcdWJjMGQgXHVjNWI4XHVjNWI0IEwiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NDAgXHVhYzAwXHVjMGMxXHVjNzU4IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1Yjc5OFx1YmMwZCBcdWM1YjhcdWM1YjQgTFx1Yzc3NCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+TCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NTggXHVhYzAxIFx1YzkwNFx1Yzc0MCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgMVx1YmQ4MFx1ZDEzMCBOKDEmbGU7TiZsZTsxMDAsMDAwKVx1Yzc1OCBcdWJjODhcdWQ2MzhcdWFjMDAgXHViZDk5XHVjNWI0IFx1Yzc4OFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVhYzAxIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWM4MTVcdWQ2NTVcdWQ3ODggXHVkNTVjIFx1YWMxY1x1Yzc1OCBcdWJhODVcdWI4MzlcdWM1YjRcdWI5Y2MgXHViNGU0XHVjNWI0XHVhYzA0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDAgXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWJkODBcdWQxMzAgXHVjMjE4XHVkNTg5XHViNDFjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWFjMDBcdWIyYTVcdWQ1NWMgXHViYTg1XHViODM5XHVjNzQwIGlmZ28sIGp1bXAsIHBhc3MsIGxvb3AsIGRpZVx1Yzc1OCBcdWIyZTRcdWMxMmYgXHVhYzAwXHVjOWMwXHViOWNjIFx1Yzc4OFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVhYzAxIFx1YzkwNFx1Yzc0NCBcdWMyMThcdWQ1ODlcdWQ1NjAgXHViNTRjXHViOWM4XHViMmU0IFx1YWRmOCBcdWM5MDRcdWM3NTggXHViYzg4XHVkNjM4XHVhYzAwIFx1Y2Q5Y1x1YjgyNVx1YjQxY1x1YjJlNC4gXHVhZGY4IFx1YmE4NVx1YjgzOVx1Yzc3NCBcdWM3ODVcdWI4MjVcdWM3NDQgXHViYzFiXHViMjk0IFx1YmE4NVx1YjgzOVx1Yzc3YyBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIzYzQgXHVjOTA0IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWJhM2NcdWM4MDAgXHVjZDljXHViODI1XHViNDFjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5pZmdvIFx1YmE4NVx1YjgzOVx1Yzc0MCBcdWIyZTRcdWI5NzggXHViYTg1XHViODM5XHVjNzU4IFx1YzkwNCBcdWJjODhcdWQ2MzhcdWI5N2MgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IFx1ZDU1YyBcdWFjMWNcdWM3NTggXHVjNzc4XHVjNzkwXHViOTdjIFx1YWMxNlx1YjI5NFx1YjJlNC4gXHVjNzc0IFx1YmE4NVx1YjgzOVx1Yzc0NCBcdWMyMThcdWQ1ODlcdWQ1NThcdWJhNzQgXHVkNTVjIFx1YmU0NFx1ZDJiOFx1Yzc1OCBcdWM3ODVcdWI4MjVcdWM3NDQgXHViYzFiXHViMjk0XHViMmU0LiBcdWI5Y2NcdWM1N2QgXHVjNzg1XHViODI1XHVjNzc0IDFcdWM3NzRcdWJhNzQgXHViYTg1XHViODM5XHVjNWQwIFx1YzljMFx1YzJkY1x1YjQxYyBcdWM5MDQgXHViYzg4XHVkNjM4XHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkIFx1Yzc4NVx1YjgyNVx1Yzc3NCAwXHVjNzc0XHViYTc0IFx1YjJlNFx1Yzc0YyBcdWM5MDRcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5qdW1wIFx1YmE4NVx1YjgzOVx1Yzc0MCBcdWIyZTRcdWI5NzggXHViYTg1XHViODM5XHVjNzU4IFx1YzkwNCBcdWJjODhcdWQ2MzhcdWI5N2MgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IFx1ZDU1YyBcdWFjMWNcdWM3NTggXHVjNzc4XHVjNzkwXHViOTdjIFx1YWMxNlx1YjI5NFx1YjJlNC4gXHVjNzc0IFx1YmE4NVx1YjgzOVx1Yzc0NCBcdWMyMThcdWQ1ODlcdWQ1NThcdWJhNzQgXHViYTg1XHViODM5XHVjNWQwIFx1YzljMFx1YzJkY1x1YjQxYyBcdWM5MDQgXHViYzg4XHVkNjM4XHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+cGFzcyBcdWJhODVcdWI4MzlcdWM3NDAgXHVjNzc4XHVjNzkwXHVhYzAwIFx1YzVjNlx1YjI5NCBcdWJhODVcdWI4MzlcdWM3NzRcdWIyZTQuIFx1Yzc3NCBcdWJhODVcdWI4MzlcdWM3NDQgXHVjMjE4XHVkNTg5XHVkNTU4XHViYTc0IFx1YzU0NFx1YmIzNCBcdWFjODNcdWIzYzQgXHVkNTU4XHVjOWMwIFx1YzU0YVx1YWNlMCwgXHVjOTA0IFx1YmM4OFx1ZDYzOFx1YjljYyBcdWNkOWNcdWI4MjVcdWQ1NWMgXHViMmU0XHVjNzRjXHVjNWQwIFx1YjJlNFx1Yzc0YyBcdWM5MDRcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5kaWUgXHViYTg1XHViODM5XHVjNzQwIFx1Yzc3OFx1Yzc5MFx1YWMwMCBcdWM1YzZcdWIyOTQgXHViYTg1XHViODM5XHVjNzc0XHViMmU0LiBcdWM3NzQgXHViYTg1XHViODM5XHVjNzQ0IFx1YzIxOFx1ZDU4OVx1ZDU1OFx1YmE3NCBcdWM5MDQgXHViYzg4XHVkNjM4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1YyBcdWIyZTRcdWM3NGNcdWM1ZDAgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzc0IFx1YjA1ZFx1YjA5Y1x1YjJlNC4gXHVjNzc0IFx1YmE4NVx1YjgzOVx1Yzc0MCBcdWJjMThcdWJjZjVcdWJiMzggXHVjNTQ4XHVjNWQwXHVjMTFjXHViMjk0IFx1YzBhY1x1YzZhOVx1YjQxOFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPmxvb3AgXHViYTg1XHViODM5XHVjNzQwIFx1YmMxOFx1YmNmNVx1YmIzOFx1Yzc0NCBcdWMyMThcdWQ1ODlcdWQ1NjAgXHViNTRjIFx1YzBhY1x1YzZhOVx1YjQxOFx1YjI5NFx1YjM3MCwgXHViNDUwIFx1YWMxY1x1Yzc1OCBcdWM3NzhcdWM3OTAgbCwgY1x1Yjk3YyBcdWFjMTZcdWIyOTRcdWIyZTQuIGxcdWM3NDAgXHViYzE4XHViY2Y1XHViYjM4XHVjNzc0IFx1YzJkY1x1Yzc5MVx1YjQxOFx1YjI5NCBcdWM5MDQgXHViYzg4XHVkNjM4XHVjNzc0XHVhY2UwLCBjXHViMjk0IFx1YmMxOFx1YmNmNSBcdWQ2OGNcdWMyMThcdWM3NzRcdWIyZTQuIGxcdWM3NDAgXHVkNTZkXHVjMGMxIGxvb3AgXHViYTg1XHViODM5XHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWM5MDQgXHViYzg4XHVkNjM4XHViY2Y0XHViMmU0IFx1Yzc5MVx1Yzc0MCBcdWFjMTJcdWM3NDQgXHVhYzE2XHViMjk0XHViMmU0LiBcdWM3NzQgXHViYTg1XHViODM5XHVjNzQ0IFx1YzIxOFx1ZDU4OVx1ZDU1OFx1YmE3NCBsXHViYzg4XHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCBsb29wIFx1YmE4NVx1YjgzOVx1Yzc3NCBcdWM3ODhcdWIyOTQgXHVjOTA0XHVhZTRjXHVjOWMwXHViOTdjIGNcdWJjODggXHVjMjE4XHVkNTg5XHVkNTVjXHViMmU0LiBcdWJjMThcdWJjZjVcdWJiMzhcdWM3NzQgXHViMDVkXHViMDljIFx1YjJlNFx1Yzc0Y1x1YzVkMFx1YjI5NCBcdWFkZjggXHViMmU0XHVjNzRjIFx1YzkwNFx1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPmlmZ28sIGp1bXAgXHViYTg1XHViODM5XHVjNzQwIFx1YWRmOCBcdWJhODVcdWI4MzlcdWM3NzQgXHVjNzg4XHViMjk0IFx1YmMxOFx1YmNmNVx1YmIzOFx1Yzc1OCBcdWJjOTRcdWM3MDRcdWM1ZDBcdWMxMWNcdWI5Y2MgXHVjNzc0XHViM2Q5XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1Yzk4OSwgXHViNDUwIFx1YmE4NVx1YjgzOVx1Yzc3NCBcdWJjMThcdWJjZjVcdWJiMzggXHVjNTQ4XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWFjYmRcdWM2YjAsIFx1YWRmOCBcdWJjMThcdWJjZjVcdWJiMzhcdWM3NTggXHViYzk0XHVjNzA0IFx1YmMxNlx1YzczY1x1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YjJlNC4gXHViNjEwXHVkNTVjLCBcdWJjMThcdWJjZjVcdWJiMzggXHVjNTQ4XHVjNWQwIFx1YjQ1MCBcdWJhODVcdWI4MzlcdWM1YjRcdWFjMDAgXHVjNzg4XHVhY2UwLCBcdWFkZjggXHViMmU0XHVjNzRjIFx1YzkwNFx1YzVkMCBcdWI2MTBcdWIyZTRcdWI5NzggXHViYzE4XHViY2Y1XHViYjM4XHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWFjYmRcdWM2YjAsIFx1YzU0OFx1Y2FiZCBcdWJjMThcdWJjZjVcdWJiMzggXHVjNTQ4XHVjNzNjXHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWMyMThcdWIyOTQgXHVjNWM2XHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHViYTc0IFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NDAgXHVhY2JkXHVjNmIwXHViMjk0IFx1Yzc5OFx1YmFiYlx1YjQxYyBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YmMxOFx1YmNmNVx1YmIzOCBcdWM1NDhcdWM1ZDAgXHViYzE4XHViY2Y1XHViYjM4XHVjNzc0IFx1YjRlNFx1YzViNFx1YWMwOCBcdWFjYmRcdWM2YjAsIFx1YzU0OFx1Y2FiZCBcdWJjMThcdWJjZjVcdWJiMzhcdWM3NzQgXHViYzE0XHVhZTY1XHVjYWJkIFx1YmMxOFx1YmNmNVx1YmIzOFx1YzVkMCBcdWM2NDRcdWM4MDRcdWQ3ODggXHVkM2VjXHVkNTY4XHViNDE4XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHVjOTg5LCBcdWM1NDhcdWNhYmQgXHViYzE4XHViY2Y1XHViYjM4XHVjNzU4IFx1YzJkY1x1Yzc5MSBcdWM5MDQgXHViYzg4XHVkNjM4XHVhYzAwIFx1YmMxNFx1YWU2NVx1Y2FiZCBcdWJjMThcdWJjZjVcdWJiMzhcdWM3NTggXHVjMmRjXHVjNzkxIFx1YzkwNCBcdWJjODhcdWQ2MzhcdWJjZjRcdWIyZTQgXHVjZWU0XHVjNTdjIFx1ZDU1Y1x1YjJlNChcdWFjMTlcdWM3NDAgXHVhY2JkXHVjNmIwXHViM2M0IFx1YzU0OCBcdWI0MjgpLiBcdWFkZjggXHVjNjc4XHVjNzU4IFx1ZDYxNVx1ZDBkY1x1Yjg1YyBcdWI0NTAgXHViYzE4XHViY2Y1XHViYjM4XHVjNzc0IFx1YWNiOVx1Y2U1OFx1YjI5NCBcdWFjYmRcdWM2YjBcdWIyOTQgXHVjNWM2XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NTggXHVjODFjXHVjNzdjIFx1YjljOFx1YzljMFx1YjljOSBcdWM5MDRcdWM3NzQgXHVjMjE4XHVkNTg5XHViNDE4XHVjNWM4XHVjNzQ0IFx1YjU0YywgXHVhZGY4IFx1YmE4NVx1YjgzOVx1Yzc3NCBkaWVcdWFjMDAgXHVjNTQ0XHViMmNjIFx1YWNiZFx1YzZiMCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDAgXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWJkODBcdWQxMzAgXHViMmU0XHVjMmRjIFx1YzIxOFx1ZDU4OVx1YjQxY1x1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1YzU0Y1x1YzU0NFx1YmNmNFx1YWUzMCBcdWMyN2RcdWFjOGMgXHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWFjMDEgXHVjOTA0XHVjNWQwIFx1YzJhNFx1ZDM5OFx1Yzc3NFx1YzJhNFx1YjA5OCBcdWQwZWRcdWM3NzQgXHVjNWVjXHViN2VjIFx1YWMxYyBcdWI0ZTRcdWM1YjRcdWFjMDggXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVhYzAxIFx1YzkwNFx1Yzc1OCBcdWNkNWNcdWIzMDAgXHVhZTM4XHVjNzc0XHViMjk0IFx1YzJhNFx1ZDM5OFx1Yzc3NFx1YzJhNFx1YjA5OCBcdWQwZWRcdWM3NDQgXHVkM2VjXHVkNTY4XHVkNTU4XHVjNWVjIDgwXHVjNzkwXHViOTdjIFx1YjExOFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+TFx1Yjg1YyBcdWM5ZTAgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzc0IFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YWRmOCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NzQgXHVjZDVjXHViMzAwIFx1YmE4NyBcdWJjODhcdWM3NzRcdWIwOTggXHVjOTA0IFx1YmM4OFx1ZDYzOFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NThcdWIyOTRcdWM5YzAgXHVhY2M0XHVjMGIwXHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuIElmZ28gXHViYTg1XHViODM5XHVjNzU4IFx1YWNiZFx1YzZiMCwgXHVjNzg1XHViODI1XHVhYzEyXHVjNWQwIFx1YjUzMFx1Yjc3Y1x1YzExYyBcdWNkOWNcdWI4MjUgXHVkNjhjXHVjMjE4XHVhYzAwIFx1YmNjMFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMjk0XHViMzcwLCBcdWNkOWNcdWI4MjUgXHVkNjhjXHVjMjE4XHVhYzAwIFx1Y2Q1Y1x1YjMwMFx1YWMwMCBcdWI0MThcdWIyOTQgXHVjNzg1XHViODI1XHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNFx1YWNlMCBcdWFjMDBcdWM4MTVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIE5cdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIyZTRcdWM3NGMgTlx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgTCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NzQgXHVjY2FiXHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCBcdWNjMjhcdWI4NDBcdWIzMDBcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjZDVjXHViMzAwIFx1Y2Q5Y1x1YjgyNSBcdWQ2OGNcdWMyMThcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWIyZjVcdWM3NDAgXHVkNTZkXHVjMGMxIDEsMDAwLDAwMCwwMDBcdWM3NzRcdWQ1NThcdWM3NzRcdWJhNzAsIFx1Yzc3NFx1Yjk3YyBcdWIxMThcdWM1YjRcdWFjMDBcdWIyOTQgXHVhY2JkXHVjNmIwXHViMjk0IFx1YmIzNFx1ZDU1YyBcdWJjODggXHVjMjE4XHVkNTg5XHViNDE4XHViMjk0IFx1YWNiZFx1YzZiMFx1Yjg1YyBpbmZpbml0eVx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NThcdWIzYzRcdWI4NWQgXHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjIxMTkiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJUb21hdG8gQXV0b21hdGEiLCJkZXNjcmlwdGlvbiI6IjxwPlRvbWF0byBBdXRvbWF0YSBhcmUgc21hbGwgY29vbCBwcm9ncmFtcy4gWW91IGdpdmUgdGhlbSBhbiBpbmZpbml0ZSBzZXF1ZW5jZSBvZiBvbmVzIGFuZCB6ZXJvcywgYW5kIHRoZXkgZ2l2ZSB5b3UgYSBzZXF1ZW5jZSBvZiBudW1iZXJzLiBUaGV5IGFyZSB3aWRlbHkgdXNlZCBpbiB0aGUgU3RhbmVzY3UgT3BlcmF0aW5nIFN5c3RlbSAoU09TKS4gVGhleSBhcmUgd3JpdHRlbiBpbiBUb21hdG8gUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgdGhhdCBpcyB2ZXJ5IHNpbXBsZS4gSGVyZSBpcyBpdHMgc3BlY2lmaWNhdGlvbiwgdHV0b3JpYWwgYW5kIHJlZmVyZW5jZTombmJzcDs8XC9wPlxyXG5cclxuPG9sPlxyXG5cdDxsaT5Ub21hdG8gaXMgYSB2ZXJ5IHNpbXBsZSBidXQgcG93ZXJmdWwgbGFuZ3VhZ2UuJm5ic3A7PFwvbGk+XHJcblx0PGxpPkxpbmVzIGluIGEgVG9tYXRvIHByb2dyYW0gYXJlIG51bWVyYXRlZCB3aXRoIGludGVnZXJzIGZyb20gMSB0byBOIChOJmxlOzEwMDAwMCkgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyIGluIHRoZSBpbnB1dC4mbmJzcDs8XC9saT5cclxuXHQ8bGk+VGhlcmUgaXMgZXhhY3RseSBvbmUgY29tbWFuZCBvbiBhIGxpbmUuJm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBleGVjdXRpb24gc3RhcnRzIGZyb20gdGhlIGZpcnN0IGxpbmUuJm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZXJlIGFyZSBleGFjdGx5IGZpdmUgVG9tYXRvIGNvbW1hbmRzICZuZGFzaDsgaWZnbywganVtcCwgcGFzcywgbG9vcCwgYW5kIGRpZS48XC9saT5cclxuXHQ8bGk+V2hlbiBleGVjdXRlZCwgZWFjaCBjb21tYW5kIHByaW50cyBpdHMgbGluZSBudW1iZXIgKGludG8gdGhlIG91dHB1dCBzZXF1ZW5jZSkuJm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBpZmdvIGNvbW1hbmQgaGFzIG9uZSBhcmd1bWVudCAmbmRhc2g7IHRoZSBsaW5lIG51bWJlciBvZiBhbm90aGVyIGluc3RydWN0aW9uLiBJdCByZWFkcyBvbmUgYml0IGZyb20gdGhlIGlucHV0IHN0cmVhbS4gSWYgdGhlIGJpdCBpcyBvbmUsIHRoZSBleGVjdXRpb24ganVtcHMgdG8gdGhlIGxpbmUgd2l0aCB0aGUgZ2l2ZW4gYXMgYXJndW1lbnQgbGluZSBudW1iZXIuIE90aGVyd2lzZSB0aGUgZXhlY3V0aW9uIGNvbnRpbnVlcyB3aXRoIHRoZSBuZXh0IGxpbmUuJm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBqdW1wIGNvbW1hbmQgaGFzIG9uZSBhcmd1bWVudCAmbmRhc2g7IHRoZSBsaW5lIG51bWJlciBvZiBhbm90aGVyIGluc3RydWN0aW9uLiBXaGVuIGV4ZWN1dGVkLCB0aGUgZXhlY3V0aW9uIGp1bXBzIHRvIHRoZSBsaW5lIHdpdGggdGhlIGdpdmVuIGxpbmUgbnVtYmVyLiZuYnNwOzxcL2xpPlxyXG5cdDxsaT5UaGUgcGFzcyBjb21tYW5kIGhhcyBubyBhcmd1bWVudHMuIEl0IGRvZXMgbm90aGluZyAoZXhjZXB0IHByaW50aW5nIGl0cyBsaW5lIG51bWJlciBsaWtlIGFsbCBvdGhlciBjb21tYW5kcykuIFRoZW4gdGhlIGV4ZWN1dGlvbiBjb250aW51ZXMgd2l0aCB0aGUgbmV4dCBsaW5lLiZuYnNwOzxcL2xpPlxyXG5cdDxsaT5UaGUgZGllIGNvbW1hbmQgaGFzIG5vIGFyZ3VtZW50cy4gSXQgdGVybWluYXRlcyB0aGUgZXhlY3V0aW9uIG9mIHRoZSBwcm9ncmFtIChwcmludGluZyBpdHMgbGluZSBudW1iZXIgYmVmb3JlIHRoYXQpLiBUaGUgZGllIGNvbW1hbmQgY2FuIG5vdCBiZSB1c2VkIGluc2lkZSBhIGxvb3AuJm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBsb29wIGNvbW1hbmQgaXMgdGhlIG9ubHkgb25lIHdpdGggdHdvIGFyZ3VtZW50cy4gSXQgbWF5IGJlIHVzZWQgdG8gY29uc3RydWN0IGxvb3BzLiBUaGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIHN0YXJ0aW5nIGxpbmUgbnVtYmVyICZsdDtsaW5lJmd0OyAobGVzcyB0aGFuIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgbG9vcCBjb21tYW5kKSwgYW5kIHRoZSBzZWNvbmQgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyICZsdDtjb3VudCZndDsuIFdoZW4gZXhlY3V0ZWQsIGl0IGxvb3BzIGZyb20gdGhlIHN0YXJ0IGxpbmUgYSAmbHQ7Y291bnQmZ3Q7XHUyNTAwMSBudW1iZXIgb2YgdGltZXMgKGJlY2F1c2UgaXQgaXMgYWxyZWFkeSBleGVjdXRlZCBvbmNlKS4gV2hlbiB0aGUgbG9vcCBpcyBleGVjdXRlZCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIHRpbWVzLCB0aGUgZXhlY3V0aW9uIGNvbnRpbnVlcyB3aXRoIHRoZSBuZXh0IGxpbmUuJm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBqdW1wIGFuZCBpZmdvIGNvbW1hbmRzIG11c3QgYmUgdXNlZCBvbmx5IHdpdGggbGluZSBudW1iZXJzIGluIHRoZSBzY29wZSBvZiB0aGUgaW5uZXJtb3N0IGxvb3AgY29udGFpbmluZyB0aGVtICh0aGV5IGNhbiBub3QganVtcCBvdXRzaWRlIG9mIHRoZSBpbm5lcm1vc3QgbG9vcCBvciBpbnNpZGUgbG9vcHMgbmVzdGVkIGluIHRoZSBpbm5lcm1vc3QgbG9vcCB0aGF0IGRvZXMgbm90IGNvbnRhaW4gdGhlIGNvbW1hbmQpLiZuYnNwOzxcL2xpPlxyXG5cdDxsaT5UaGUgbG9vcCBjb21tYW5kIGNhbiBub3QgYmUgdXNlZCB0byBjcmVhdGUgb3ZlcmxhcHBpbmcgbG9vcHMuIE5lc3RlZCBsb29wcyBtdXN0IGJlIHN0cmljdGx5IG5lc3RlZCAodGhleSBjYW4gbm90IHVzZSB0aGUgc2FtZSBzdGFydGluZyBsaW5lKS4mbmJzcDs8XC9saT5cclxuXHQ8bGk+V2hlbiB0aGUgbGFzdCBsaW5lIG9mIHRoZSBwcm9ncmFtIGlzIGV4ZWN1dGVkLCB0aGUgZXhlY3V0aW9uIGNvbnRpbnVlcyBmcm9tIHRoZSBmaXJzdCBleGNlcHQgd2hlbiB0aGUgbGFzdCBsaW5lIGlzIGRpZSBjb21tYW5kLiZuYnNwOzxcL2xpPlxyXG5cdDxsaT5XaGl0ZSBzcGFjZXMgbWF5IG9jY3VyIGZyZWVseSBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGNvbW1hbmQgbmFtZSBhbmQgdGhlaXIgYXJndW1lbnRzLiZuYnNwOzxcL2xpPlxyXG5cdDxsaT5UaGUgbWF4aW1hbCBsZW5ndGggb2YgYSBsaW5lIGluIFRvbWF0byBQcm9ncmFtbWluZyBMYW5ndWFnZSBpcyA4MCBjaGFyYWN0ZXJzIGluY2x1ZGluZyBzcGFjZXMuJm5ic3A7PFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+U3RhbmVzY3UgaGFzIGxvdHMgb2YgVG9tYXRvIHByb2dyYW1zLiBIZSBpcyBpbnRlcmVzdGVkIGluIG1heGltYWwgbGVuZ3RoIG9mIG91dHB1dCBzZXF1ZW5jZSB0aGF0IHNwZWNpZmljIHByb2dyYW0gY2FuIGdlbmVyYXRlLCB3aGVyZSB0aGUgbGVuZ3RoIGlzIHRoZSBudW1iZXIgb2YgcHJpbnRlZCBsaW5lIG51bWJlcnMuIE9idmlvdXNseSwgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHRlc3QgZWFjaCBwb3NzaWJsZSBpbnB1dCBzZXF1ZW5jZSAob2Ygb25lcyBhbmQgemVyb3MpLCBzbyBoZSBuZWVkcyBhIHByb2dyYW0gdGhhdCBjb21wdXRlcyB0aGlzLiZuYnNwOzxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGlucHV0IGNvbnRhaW5zIHNldmVyYWwgcHJvZ3JhbXMsIHNlcGFyYXRlZCB3aXRoIGFuIGVtcHR5IGxpbmUuIEVhY2ggb2YgdGhlbSBpcyBhIGNvcnJlY3QgVG9tYXRvIHByb2dyYW0uJm5ic3A7PFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggZ2l2ZW4gcHJvZ3JhbSB5b3VyIHNvbHV0aW9uIGhhcyB0byBwcmludCBvbiBhIHNlcGFyYXRlIGxpbmUgdGhlIG1heGltYWwgbGVuZ3RoIG9mIHRoZSBvdXRwdXQgc2VxdWVuY2UgdGhlIHByb2dyYW0gY291bGQgZ2VuZXJhdGUuIFByaW50IGluZmluaXR5IGlmIHRoZXJlIGlzIG5vIG1heGltYWwgbGVuZ3RoIGZvciB0aGUgb3V0cHV0IHNlcXVlbmNlLiBXaGVuIGZpbml0ZSwgdGhlIG1heGltYWwgbGVuZ3RoIHdpbGwgbm90IGV4Y2VlZCAxMDxzdXA+OTxcL3N1cD4uPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVjNjAxXHVjNWI0In1d