문제
"과거를 지배하는 자가 미래를 지배한다."
- 조지 오웰, '1984'
전 우주의 지성체로 구성된 UCPC (Universe Consistency Preservation Committee, 우주 균일성 유지 위원회)는 우주가 $N$개의 시간선으로 분기되어 있음을 발견했다. $i$번째 시간선은 1ドル$ 이상 $N$ 이하의 정수 시각 $a_i$를 가지며 각 시간선의 시각은 모두 다르다. 아직 각 시간선은 안정된 상태지만 언제든지 불안정해질 수 있으며, 불안정한 시간선은 전 우주에 인간의 인지 능력을 벗어난 악영향을 끼칠 수 있다. 최악의 경우 우주의 절멸까지 우려해야 하는 중대한 사태임에 따라, UCPC는 $N$개의 시간선을 현재 시각 $t$에 맞춰 하나로 통합해야 한다는 결론에 도달했다.
시간선 통합은 인접한 두 시간선을 시각의 최댓값 또는 최솟값을 가지는 하나의 시간선으로 합치는 과정이다. 1ドル \leq i < N$일 때 $i$번째 시간선과 $i+1$번째 시간선은 인접해 있다. 시간선 통합은 우주적 규모의 비가역적 현상이기 때문에 극도로 신중히 결정되어야 하며, 두 시각의 최댓값을 선택하는 통합과 최솟값을 선택하는 통합의 수행 횟수에도 제약이 있다. 주어진 제약사항 속에서도 UCPC가 성공적으로 모든 시간선을 하나로 통합할 수 있을지 판단해보자.
출력
각 테스트 케이스에 대한 답을 순서대로 출력한다.
조건에 맞는 시간선 통합이 불가능하면, 첫째 줄에 no 를 출력한다.
가능하다면, 첫째 줄에는 yes 를 출력하고, 둘째 줄에는 m 과 M 으로만 구성된 길이 $N-1$의 문자열 $S$를 출력하며, 셋째 줄에는 $N-1$ 개의 정수 $b_i$를 공백으로 구분해 출력한다.
$S_i$가 m 이면 $i$번째 통합은 최솟값 통합이며, M 이면 최댓값 통합이다. $b_i$는 $i$번째 통합에 $b_i$번째 시간선과 $b_i + 1$번째 시간선을 통합했음을 의미한다. 조건에 부합하는 시간선 통합 방법이 여러 가지 있으면 그중 아무 것이나 출력한다.
$i$번째 시간선 통합을 할 때는 시간선이 총 $N-i+1$개 남아 있으므로, 1ドル \leq b_i \leq N-i$를 충족해야 함에 유의한다.
예제 출력 1
복사
yes
mMm
2 1 1
no
W3sicHJvYmxlbV9pZCI6IjM0MDkzIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjMmRjXHVhYzA0XHVjMTIwIFx1ZDFiNVx1ZDU2OSIsImRlc2NyaXB0aW9uIjoiPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+JnF1b3Q7XHVhY2ZjXHVhYzcwXHViOTdjIFx1YzljMFx1YmMzMFx1ZDU1OFx1YjI5NCBcdWM3OTBcdWFjMDAgXHViYmY4XHViNzk4XHViOTdjIFx1YzljMFx1YmMzMFx1ZDU1Y1x1YjJlNC4mcXVvdDs8XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+LSBcdWM4NzBcdWM5YzAgXHVjNjI0XHVjNmYwLCAmIzM5OzE5ODQmIzM5OzxcL3A+XHJcblxyXG48cD5cdWM4MDQgXHVjNmIwXHVjOGZjXHVjNzU4IFx1YzljMFx1YzEzMVx1Y2NiNFx1Yjg1YyBcdWFkNmNcdWMxMzFcdWI0MWMgVUNQQyAoVW5pdmVyc2UgQ29uc2lzdGVuY3kgUHJlc2VydmF0aW9uIENvbW1pdHRlZSwgXHVjNmIwXHVjOGZjIFx1YWRlMFx1Yzc3Y1x1YzEzMSBcdWM3MjBcdWM5YzAgXHVjNzA0XHVjNmQwXHVkNjhjKVx1YjI5NCBcdWM2YjBcdWM4ZmNcdWFjMDAgJE4kXHVhYzFjXHVjNzU4IFx1YzJkY1x1YWMwNFx1YzEyMFx1YzczY1x1Yjg1YyBcdWJkODRcdWFlMzBcdWI0MThcdWM1YjQgXHVjNzg4XHVjNzRjXHVjNzQ0IFx1YmMxY1x1YWNhY1x1ZDU4OFx1YjJlNC4gJGkkXHViYzg4XHVjOWY4IFx1YzJkY1x1YWMwNFx1YzEyMFx1Yzc0MCAkMSQgXHVjNzc0XHVjMGMxICROJCBcdWM3NzRcdWQ1NThcdWM3NTggXHVjODE1XHVjMjE4IFx1YzJkY1x1YWMwMSAkYV9pJFx1Yjk3YyBcdWFjMDBcdWM5YzBcdWJhNzAgXHVhYzAxIFx1YzJkY1x1YWMwNFx1YzEyMFx1Yzc1OCBcdWMyZGNcdWFjMDFcdWM3NDAgXHViYWE4XHViNDUwIFx1YjJlNFx1Yjk3NFx1YjJlNC4gXHVjNTQ0XHVjOWMxIFx1YWMwMSBcdWMyZGNcdWFjMDRcdWMxMjBcdWM3NDAgXHVjNTQ4XHVjODE1XHViNDFjIFx1YzBjMVx1ZDBkY1x1YzljMFx1YjljYyBcdWM1YjhcdWM4MWNcdWI0ZTBcdWM5YzAgXHViZDg4XHVjNTQ4XHVjODE1XHVkNTc0XHVjOWM4IFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJhNzAsIFx1YmQ4OFx1YzU0OFx1YzgxNVx1ZDU1YyBcdWMyZGNcdWFjMDRcdWMxMjBcdWM3NDAgXHVjODA0IFx1YzZiMFx1YzhmY1x1YzVkMCBcdWM3NzhcdWFjMDRcdWM3NTggXHVjNzc4XHVjOWMwIFx1YjJhNVx1YjgyNVx1Yzc0NCBcdWJjOTdcdWM1YjRcdWIwOWMgXHVjNTQ1XHVjNjAxXHVkNWE1XHVjNzQ0IFx1YjA3Y1x1Y2U2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWNkNWNcdWM1NDVcdWM3NTggXHVhY2JkXHVjNmIwIFx1YzZiMFx1YzhmY1x1Yzc1OCBcdWM4MDhcdWJhNzhcdWFlNGNcdWM5YzAgXHVjNmIwXHViODI0XHVkNTc0XHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWM5MTFcdWIzMDBcdWQ1NWMgXHVjMGFjXHVkMGRjXHVjNzg0XHVjNWQwIFx1YjUzMFx1Yjc3YywgVUNQQ1x1YjI5NCAkTiRcdWFjMWNcdWM3NTggXHVjMmRjXHVhYzA0XHVjMTIwXHVjNzQ0IFx1ZDYwNFx1YzdhYyBcdWMyZGNcdWFjMDEgJHQkXHVjNWQwIFx1YjlkZVx1Y2RiMCBcdWQ1NThcdWIwOThcdWI4NWMgXHVkMWI1XHVkNTY5XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNFx1YjI5NCBcdWFjYjBcdWI4NjBcdWM1ZDAgXHViM2M0XHViMmVjXHVkNTg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMyZGNcdWFjMDRcdWMxMjAgXHVkMWI1XHVkNTY5XHVjNzQwIFx1Yzc3OFx1YzgxMVx1ZDU1YyBcdWI0NTAgXHVjMmRjXHVhYzA0XHVjMTIwXHVjNzQ0IFx1YzJkY1x1YWMwMVx1Yzc1OCBcdWNkNWNcdWIzMTNcdWFjMTIgXHViNjEwXHViMjk0IFx1Y2Q1Y1x1YzE5Zlx1YWMxMlx1Yzc0NCBcdWFjMDBcdWM5YzBcdWIyOTQgXHVkNTU4XHViMDk4XHVjNzU4IFx1YzJkY1x1YWMwNFx1YzEyMFx1YzczY1x1Yjg1YyBcdWQ1NjlcdWNlNThcdWIyOTQgXHVhY2ZjXHVjODE1XHVjNzc0XHViMmU0LiAkMSBcXGxlcSBpICZsdDsgTiRcdWM3N2MgXHViNTRjICRpJFx1YmM4OFx1YzlmOCBcdWMyZGNcdWFjMDRcdWMxMjBcdWFjZmMgJGkrMSRcdWJjODhcdWM5ZjggXHVjMmRjXHVhYzA0XHVjMTIwXHVjNzQwIFx1Yzc3OFx1YzgxMVx1ZDU3NCBcdWM3ODhcdWIyZTQuIFx1YzJkY1x1YWMwNFx1YzEyMCBcdWQxYjVcdWQ1NjlcdWM3NDAgXHVjNmIwXHVjOGZjXHVjODAxIFx1YWRkY1x1YmFhOFx1Yzc1OCBcdWJlNDRcdWFjMDBcdWM1ZWRcdWM4MDEgXHVkNjA0XHVjMGMxXHVjNzc0XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCBcdWFkZjlcdWIzYzRcdWI4NWMgXHVjMmUwXHVjOTExXHVkNzg4IFx1YWNiMFx1YzgxNVx1YjQxOFx1YzViNFx1YzU3YyBcdWQ1NThcdWJhNzAsIFx1YjQ1MCBcdWMyZGNcdWFjMDFcdWM3NTggXHVjZDVjXHViMzEzXHVhYzEyXHVjNzQ0IFx1YzEyMFx1ZDBkZFx1ZDU1OFx1YjI5NCBcdWQxYjVcdWQ1NjlcdWFjZmMgXHVjZDVjXHVjMTlmXHVhYzEyXHVjNzQ0IFx1YzEyMFx1ZDBkZFx1ZDU1OFx1YjI5NCBcdWQxYjVcdWQ1NjlcdWM3NTggXHVjMjE4XHVkNTg5IFx1ZDY5Zlx1YzIxOFx1YzVkMFx1YjNjNCBcdWM4MWNcdWM1N2RcdWM3NzQgXHVjNzg4XHViMmU0LiBcdWM4ZmNcdWM1YjRcdWM5YzQgXHVjODFjXHVjNTdkXHVjMGFjXHVkNTZkIFx1YzE4ZFx1YzVkMFx1YzExY1x1YjNjNCBVQ1BDXHVhYzAwIFx1YzEzMVx1YWNmNVx1YzgwMVx1YzczY1x1Yjg1YyBcdWJhYThcdWI0ZTAgXHVjMmRjXHVhYzA0XHVjMTIwXHVjNzQ0IFx1ZDU1OFx1YjA5OFx1Yjg1YyBcdWQxYjVcdWQ1NjlcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1Yzc0NFx1YzljMCBcdWQzMTBcdWIyZThcdWQ1NzRcdWJjZjRcdWM3OTAuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVhYzFjXHVjMjE4ICRUJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgkMSBcXGxlcSBUIFxcbGVxIDEwMFxcLDAwMCQpPFwvcD5cclxuXHJcbjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjMmRjXHVhYzA0XHVjMTIwXHVjNzU4IFx1YWMxY1x1YzIxOFx1Yjk3YyBcdWM3NThcdWJiZjhcdWQ1NThcdWIyOTQgXHVjODE1XHVjMjE4ICROJCwgXHVkNjA0XHVjN2FjIFx1YzJkY1x1YWMwMVx1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NThcdWIyOTQgXHVjODE1XHVjMjE4ICR0JCwgXHVhYzAwXHViMmE1XHVkNTVjIFx1Y2Q1Y1x1YzE5Zlx1YWMxMiBcdWQxYjVcdWQ1NjlcdWM3NTggXHVkNjlmXHVjMjE4XHViOTdjIFx1Yzc1OFx1YmJmOFx1ZDU1OFx1YjI5NCBcdWM4MTVcdWMyMTggJGEkLCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVjZDVjXHViMzEzXHVhYzEyIFx1ZDFiNVx1ZDU2OVx1Yzc1OCBcdWQ2OWZcdWMyMThcdWI5N2MgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IFx1YzgxNVx1YzIxOCAkYiRcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgkMiBcXGxlcSBOIFxcbGVxIDUwMFxcLDAwMCQ7ICQxIFxcbGVxIHQgXFxsZXEgTiQ7ICQwIFxcbGVxIGEsIGIgJmx0OyBOJDsgJGEgKyBiIFxcZ2VxIE4tMSQpPFwvcD5cclxuXHJcbjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YjQ1OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgJE4kXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOCAkQV8xLCBBXzIsIFxcY2RvdHMsIEFfTiRcdWM3NzQgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICRBX2kkXHViMjk0ICRpJFx1YmM4OFx1YzlmOCBcdWMyZGNcdWFjMDRcdWMxMjBcdWM3NTggXHVjMmRjXHVhYzAxXHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHVhYzAxICRBX2kkXHViMjk0ICQxJCBcdWM3NzRcdWMwYzEgJE4kIFx1Yzc3NFx1ZDU1OFx1Yzc1OCBcdWM4MTVcdWMyMThcdWM3NzRcdWJhNzAgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYWE4XHViNGUwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM1ZDAgXHViMzAwXHVkNTc0ICROJFx1Yzc1OCBcdWQ1NjlcdWM3NDAgJDUwMFxcLDAwMCQgXHVjNzc0XHVkNTU4XHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNWQwIFx1YjMwMFx1ZDU1YyBcdWIyZjVcdWM3NDQgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjODcwXHVhYzc0XHVjNWQwIFx1YjlkZVx1YjI5NCBcdWMyZGNcdWFjMDRcdWMxMjAgXHVkMWI1XHVkNTY5XHVjNzc0IFx1YmQ4OFx1YWMwMFx1YjJhNVx1ZDU1OFx1YmE3NCwgXHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+bm88XC9jb2RlPjxcL3NwYW4+XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAwXHViMmE1XHVkNTU4XHViMmU0XHViYTc0LCBcdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT55ZXM8XC9jb2RlPjxcL3NwYW4+XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YWNlMCwgXHViNDU4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+bTxcL2NvZGU+PFwvc3Bhbj5cdWFjZmMgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPk08XC9jb2RlPjxcL3NwYW4+XHVjNzNjXHViODVjXHViOWNjIFx1YWQ2Y1x1YzEzMVx1YjQxYyBcdWFlMzhcdWM3NzQgJE4tMSRcdWM3NTggXHViYjM4XHVjNzkwXHVjNWY0ICRTJFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NThcdWJhNzAsIFx1YzE0Ylx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgJE4tMSQgXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOCAkYl9pJFx1Yjk3YyBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHVkNTc0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+JFNfaSRcdWFjMDAgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPm08XC9jb2RlPjxcL3NwYW4+XHVjNzc0XHViYTc0ICRpJFx1YmM4OFx1YzlmOCBcdWQxYjVcdWQ1NjlcdWM3NDAgXHVjZDVjXHVjMTlmXHVhYzEyIFx1ZDFiNVx1ZDU2OVx1Yzc3NFx1YmE3MCwgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPk08XC9jb2RlPjxcL3NwYW4+XHVjNzc0XHViYTc0IFx1Y2Q1Y1x1YjMxM1x1YWMxMiBcdWQxYjVcdWQ1NjlcdWM3NzRcdWIyZTQuICRiX2kkXHViMjk0ICRpJFx1YmM4OFx1YzlmOCBcdWQxYjVcdWQ1NjlcdWM1ZDAgJGJfaSRcdWJjODhcdWM5ZjggXHVjMmRjXHVhYzA0XHVjMTIwXHVhY2ZjICRiX2kgKyAxJFx1YmM4OFx1YzlmOCBcdWMyZGNcdWFjMDRcdWMxMjBcdWM3NDQgXHVkMWI1XHVkNTY5XHVkNTg4XHVjNzRjXHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHVjODcwXHVhYzc0XHVjNWQwIFx1YmQ4MFx1ZDU2OVx1ZDU1OFx1YjI5NCBcdWMyZGNcdWFjMDRcdWMxMjAgXHVkMWI1XHVkNTY5IFx1YmMyOVx1YmM5NVx1Yzc3NCBcdWM1ZWNcdWI3ZWMgXHVhYzAwXHVjOWMwIFx1Yzc4OFx1YzczY1x1YmE3NCBcdWFkZjhcdWM5MTEgXHVjNTQ0XHViYjM0IFx1YWM4M1x1Yzc3NFx1YjA5OCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPiRpJFx1YmM4OFx1YzlmOCBcdWMyZGNcdWFjMDRcdWMxMjAgXHVkMWI1XHVkNTY5XHVjNzQ0IFx1ZDU2MCBcdWI1NGNcdWIyOTQgXHVjMmRjXHVhYzA0XHVjMTIwXHVjNzc0IFx1Y2QxZCAkTi1pKzEkXHVhYzFjIFx1YjBhOFx1YzU0NCBcdWM3ODhcdWM3M2NcdWJiYzBcdWI4NWMsICQxIFxcbGVxIGJfaSBcXGxlcSBOLWkkXHViOTdjIFx1Y2RhOVx1Yzg3MVx1ZDU3NFx1YzU3YyBcdWQ1NjhcdWM1ZDAgXHVjNzIwXHVjNzU4XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjM0MDkzIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiTWVyZ2luZyBUaW1lbGluZXMiLCJkZXNjcmlwdGlvbiI6IjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPiZxdW90O1dobyBjb250cm9scyB0aGUgcGFzdCBjb250cm9scyB0aGUgZnV0dXJlLiYjMzk7JiMzOTs8XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+LSBHZW9yZ2UgT3J3ZWxsLCAmIzM5OzE5ODQmIzM5OzxcL3A+XHJcblxyXG48cD5VQ1BDIChVbml2ZXJzZSBDb25zaXN0ZW5jeSBQcmVzZXJ2YXRpb24gQ29tbWl0dGVlKSwgY29uc2lzdGluZyBvZiBpbnRlbGxpZ2VudCBzcGVjaWVzIGFsbCBhY3Jvc3MgdGhlIHVuaXZlcnNlLCBoYXMgZGlzY292ZXJlZCB0aGF0IHRoZSB1bml2ZXJzZSBpcyBkaXZlcmdlZCBpbnRvICROJCB0aW1lbGluZXMuIFRpbWVsaW5lICRpJCBoYXMgYW4gaW50ZWdlciB0aW1lICRhX2kkIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAkMSQgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkTiQsIGFuZCB0aGUgdGltZSB2YWx1ZXMgYXJlIGFsbCBkaWZmZXJlbnQuIEVhY2ggdGltZWxpbmUgaXMgc3RhYmxlIGZvciB0aGUgdGltZSBiZWluZywgYnV0IGNhbiBiZWNvbWUgdW5zdGFibGUgYXQgYW55IG1vbWVudCwgYW5kIGFuIHVuc3RhYmxlIHRpbWVsaW5lIGNhbiBoYXZlIGFkdmVyc2UgZWZmZWN0cyBiZXlvbmQgd2hhdCBodW1hbml0eSBjYW4gcGVyY2VpdmUuIFNpbmNlIGNvbnNlcXVlbmNlcyBhcmUgZGlyZSB3aXRoIHRoZSBlbnRpcmUgdW5pdmVyc2Ugb24gdGhlIGxpbmUsIFVDUEMgaGFzIGNvbWUgdG8gdGhlIGNvbmNsdXNpb24gdGhhdCB0aGUgJE4kIHRpbWVsaW5lcyBtdXN0IGJlIG1lcmdlZCBpbnRvIG9uZSBhdCB0aGUgY3VycmVudCB0aW1lICR0JC48XC9wPlxyXG5cclxuPHA+TWVyZ2luZyB0aW1lbGluZXMgaXMgdGhlIHByb2Nlc3Mgb2YgY29tYmluaW5nIHR3byBhZGphY2VudCB0aW1lbGluZXMgaW50byBvbmUsIHRha2luZyBlaXRoZXIgdGhlIG1heGltdW0gb3IgdGhlIG1pbmltdW0gb2YgdGhlaXIgdGltZSB2YWx1ZXMuIEZvciAkMSBcXGxlcSBpICZsdDsgTiQsIHRpbWVsaW5lcyAkaSQgYW5kICRpKzEkIGFyZSBjb25zaWRlcmVkIGFkamFjZW50LiBNZXJnaW5nIHRpbWVsaW5lcyBpcyBhbiBpcnJldmVyc2libGUgZXZlbnQgb24gYSBjb3NtaWMgc2NhbGUgYW5kIG11c3QgYmUgY2FycmllZCBvdXQgdW5kZXIgZXh0cmVtZSBjYXJlLiBUaGVyZSBpcyB0aHVzIGEgbGltaXQgb24gaG93IG1hbnkgdGltZXMgdGhlIHRpbWVsaW5lcyBjYW4gYmUgbWVyZ2VkIHRha2luZyB0aGUgbWF4aW11bSB0aW1lIGFuZCB0aGUgbWluaW11bSB0aW1lLCByZXNwZWN0aXZlbHkuIFVuZGVyIHRoZXNlIGNvbnN0cmFpbnRzLCBkZXRlcm1pbmUgaWYgVUNQQyBjYW4gc3VjY2Vzc2Z1bGx5IG1lcmdlIGFsbCB0aW1lbGluZXMgaW50byBvbmUuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBjb250YWlucyAkVCQsIGRlbm90aW5nIHRoZSBudW1iZXIgb2YgdGVzdGNhc2VzLiAoJDEgXFxsZXEgVCBcXGxlcSAxMDBcXCwwMDAkKTxcL3A+XHJcblxyXG48cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBmb3IgZWFjaCB0ZXN0Y2FzZSBjb250YWlucyAkTiQsIGRlbm90aW5nIHRoZSBudW1iZXIgb2YgdGltZWxpbmVzLCAkdCQsIGRlbm90aW5nIHRoZSBjdXJyZW50IHRpbWUsICRhJCwgZGVub3RpbmcgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVsaW5lIG1lcmdlcyB0YWtpbmcgdGhlIG1pbmltdW0gdGltZSwgYW5kICRiJCwgZGVub3RpbmcgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVsaW5lIG1lcmdlcyB0YWtpbmcgdGhlIG1heGltdW0gdGltZS4gKCQyIFxcbGVxIE4gXFxsZXEgNTAwXFwsMDAwJDsgJDEgXFxsZXEgdCBcXGxlcSBOJDsgJDAgXFxsZXEgYSwgYiAmbHQ7IE4kOyAkYSArIGIgXFxnZXEgTi0xJCk8XC9wPlxyXG5cclxuPHA+VGhlIHNlY29uZCBsaW5lIG9mIGlucHV0IGZvciBlYWNoIHRlc3RjYXNlIGNvbnRhaW5zICROJCBzcGFjZS1zZXBhcmF0ZWQgaW50ZWdlcnMgJEFfMSwgQV8yLCBcXGNkb3RzLCBBX04kLiAkQV9pJCBkZW5vdGVzIHRoZSB0aW1lIG9uIHRpbWVsaW5lICRpJC4gRWFjaCAkQV9pJCBpcyBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAkMSQgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkTiQgYW5kIHBhaXJ3aXNlIGRpc3RpbmN0LjxcL3A+XHJcblxyXG48cD5UaGUgc3VtIG9mICROJCBvdmVyIGFsbCB0ZXN0Y2FzZXMgZG9lcyBub3QgZXhjZWVkICQ1MDBcXCwwMDAkLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlByaW50IHRoZSBhbnN3ZXIgZm9yIGVhY2ggdGVzdGNhc2UgaW4gb3JkZXIuPFwvcD5cclxuXHJcbjxwPklmIGl0IGlzIGltcG9zc2libGUgdG8gbWVyZ2UgdGhlIHRpbWVsaW5lcyB1bmRlciB0aGUgZ2l2ZW4gY29uZGl0aW9ucywgcHJpbnQgJmx0O2NvZGUmZ3Q7bm8mbHQ7XFxjb2RlJmd0OyBpbiB0aGUgZmlyc3QgbGluZS48XC9wPlxyXG5cclxuPHA+SWYgaXQgaXMgcG9zc2libGUsIHByaW50ICZsdDtjb2RlJmd0O3llcyZsdDtcXGNvZGUmZ3Q7IGluIHRoZSBmaXJzdCBsaW5lLCBhbmQgaW4gdGhlIHNlY29uZCBsaW5lLCBwcmludCBhIHN0cmluZyAkUyQgb2YgbGVuZ3RoICROLTEkIGNvbnNpc3Rpbmcgb25seSBvZiAmbHQ7Y29kZSZndDttJmx0O1xcY29kZSZndDsgYW5kICZsdDtjb2RlJmd0O00mbHQ7XFxjb2RlJmd0OywgYW5kIGluIHRoZSB0aGlyZCBsaW5lLCBwcmludCAkTi0xJCBzcGFjZS1zZXBhcmF0ZWQgaW50ZWdlcnMgJGJfaSQuPFwvcD5cclxuXHJcbjxwPiRTX2kkIGlzICZsdDtjb2RlJmd0O20mbHQ7XFxjb2RlJmd0OyBpZiB0aGUgJGkkLXRoIG1lcmdlIGlzIHRha2luZyB0aGUgbWluaW11bSB0aW1lLCBhbmQgJmx0O2NvZGUmZ3Q7TSZsdDtcXGNvZGUmZ3Q7IGlmIGl0IGlzIHRha2luZyB0aGUgbWF4aW11bSB0aW1lLiAkYl9pJCBkZW5vdGVzIHRoYXQgdGhlICRpJC10aCBtZXJnZSBpcyBwZXJmb3JtZWQgYmV0d2VlbiB0aW1lbGluZXMgJGJfaSQgYW5kICRiX2kgKyAxJC4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIHdheXMgdG8gbWVyZ2Ugc2F0aXNmeWluZyB0aGUgY29uZGl0aW9ucywgcHJpbnQgYW55IG9uZSBvZiB0aGVtLjxcL3A+XHJcblxyXG48cD5Ob3RlIHRoYXQgdGhlcmUgYXJlICROLWkrMSQgdGltZWxpbmVzIHJlbWFpbmluZyBiZWZvcmUgdGhlICRpJC10aCBtZXJnZSwgYW5kIHRodXMgJDEgXFxsZXEgYl9pIFxcbGVxIE4taSQgbXVzdCBiZSBzYXRpc2ZpZWQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==