시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 35 12 10 35.714%

문제

다각형의 삼각분할이란 다각형을 삼각형으로 나누는 꼭짓점을 연결하는 직선의 집합이다. 직선은 반드시 다각형 내부에 있어야 하며, 꼭짓점을 제외한 다른 곳에서 다른 직선과 교차하면 안된다. 

위의 그림에서 굵은 선은 다각형의 변을 나타내고, 가는 선은 삼각분할을 나타낸다. 꼭짓점이 n개인 다각형을 삼각분할하면 (n-2)개의 삼각형을 만들 수 있다.

한 꼭짓점에서 시작해 변을 따라 이동하면서 각 꼭짓점에 있는 삼각형의 개수를 나열한 것을 삼각형 개수 수열이라고 한다. 위의 그림에 나와있는 다각형의 삼각형 개수 수열은 아래와 같다. 가장 왼쪽 위에 있는 꼭짓점에서 시작한다.

  • A: 1 3 1 3 1 3
  • B: 2 2 1 4 1 2
  • C: 1 2 3 2 1 6 1 2 3 2 1 6

N개의 양의 정수로 이루어진 삼각형 개수 수열이 주어졌을 때, 이러한 수열을 만드는 다각형이 존재하는지 안하는지를 구하는 프로그램을 작성하시오. 존재하는 경우에는 삼각형을 모두 출력한다.

입력

첫째 줄에 테스트 케이스의 개수 P (1 ≤ P ≤ 1000)가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 숫자는 테스트 케이스 번호 K이며, 두 번째 숫자는 수열의 길이 N (4 ≤ N ≤ 20)이다. 다음 N개의 숫자는 삼각형 개수 수열이다.

출력

입력으로 주어진 수열이 삼각형 개수 수열이 아닌 경우에는 테스트 케이스 번호 K와 알파벳 대문자 "N"을 출력한다.

올바른 경우에는 테스트 케이스 번호 K와 알파벳 대문자 "Y"를 출력한다. 다음 (N-2)개 줄에는 어떤 꼭짓점이 삼각형을 이루는지 한 줄에 하나씩 출력한다. 꼭짓점은 입력으로 주어진 순서대로 1번부터 시작하며, 사전순으로 정렬해서 출력한다. k < l < m이 한 삼각형이고, r < s < t가 다른 삼각형일 때, 아래 조건을 만족하면 첫 번째 삼각형이 두 번째보다 사전순으로 앞선다.

k<r OR (k==r AND l<s) OR (k==r AND l==s AND m<t)

예제 입력 1

4
1 6 1 3 1 3 1 3
2 6 1 3 2 2 1 3
3 12 1 2 3 2 1 6 1 2 3 2 1 6
4 20 1 2 3 2 1 6 1 2 3 2 1 6 1 3 2 2 1 3 1 2

예제 출력 1

1 Y
1 2 6
2 3 4
2 4 6
4 5 6
2 N
3 Y
1 2 12
2 3 12
3 4 6
3 6 12
4 5 6
6 7 8
6 8 9
6 9 12
9 10 12
10 11 12
4 N
W3sicHJvYmxlbV9pZCI6Ijk0NzQiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWMwYmNcdWFjMDEgXHViZDg0XHVkNTYwXHVhY2ZjIFx1YzBiY1x1YWMwMVx1ZDYxNSIsImRlc2NyaXB0aW9uIjoiPHA+XHViMmU0XHVhYzAxXHVkNjE1XHVjNzU4IFx1YzBiY1x1YWMwMVx1YmQ4NFx1ZDU2MFx1Yzc3NFx1Yjc4MCBcdWIyZTRcdWFjMDFcdWQ2MTVcdWM3NDQgXHVjMGJjXHVhYzAxXHVkNjE1XHVjNzNjXHViODVjIFx1YjA5OFx1YjIwNFx1YjI5NCBcdWFmMmRcdWM5ZDNcdWM4MTBcdWM3NDQgXHVjNWYwXHVhY2IwXHVkNTU4XHViMjk0IFx1YzljMVx1YzEyMFx1Yzc1OCBcdWM5ZDFcdWQ1NjlcdWM3NzRcdWIyZTQuIFx1YzljMVx1YzEyMFx1Yzc0MCBcdWJjMThcdWI0ZGNcdWMyZGMgXHViMmU0XHVhYzAxXHVkNjE1IFx1YjBiNFx1YmQ4MFx1YzVkMCBcdWM3ODhcdWM1YjRcdWM1N2MgXHVkNTU4XHViYTcwLCBcdWFmMmRcdWM5ZDNcdWM4MTBcdWM3NDQgXHVjODFjXHVjNjc4XHVkNTVjIFx1YjJlNFx1Yjk3OCBcdWFjZjNcdWM1ZDBcdWMxMWMgXHViMmU0XHViOTc4IFx1YzljMVx1YzEyMFx1YWNmYyBcdWFkNTBcdWNjMjhcdWQ1NThcdWJhNzQgXHVjNTQ4XHViNDFjXHViMmU0LiZuYnNwOzxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL3RyaWFuZ3VsYS5wbmdcIiBzdHlsZT1cImhlaWdodDoyMzNweDsgd2lkdGg6NjIwcHhcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVjNzA0XHVjNzU4IFx1YWRmOFx1YjliY1x1YzVkMFx1YzExYyBcdWFkNzVcdWM3NDAgXHVjMTIwXHVjNzQwIFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc1OCBcdWJjYzBcdWM3NDQgXHViMDk4XHVkMGMwXHViMGI0XHVhY2UwLCBcdWFjMDBcdWIyOTQgXHVjMTIwXHVjNzQwIFx1YzBiY1x1YWMwMVx1YmQ4NFx1ZDU2MFx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuIFx1YWYyZFx1YzlkM1x1YzgxMFx1Yzc3NCBuXHVhYzFjXHVjNzc4IFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc0NCBcdWMwYmNcdWFjMDFcdWJkODRcdWQ1NjBcdWQ1NThcdWJhNzQgKG4tMilcdWFjMWNcdWM3NTggXHVjMGJjXHVhYzAxXHVkNjE1XHVjNzQ0IFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWQ1NWMgXHVhZjJkXHVjOWQzXHVjODEwXHVjNWQwXHVjMTFjIFx1YzJkY1x1Yzc5MVx1ZDU3NCBcdWJjYzBcdWM3NDQgXHViNTMwXHViNzdjIFx1Yzc3NFx1YjNkOVx1ZDU1OFx1YmE3NFx1YzExYyBcdWFjMDEgXHVhZjJkXHVjOWQzXHVjODEwXHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWMwYmNcdWFjMDFcdWQ2MTVcdWM3NTggXHVhYzFjXHVjMjE4XHViOTdjIFx1YjA5OFx1YzVmNFx1ZDU1YyBcdWFjODNcdWM3NDQgXHVjMGJjXHVhYzAxXHVkNjE1IFx1YWMxY1x1YzIxOCBcdWMyMThcdWM1ZjRcdWM3NzRcdWI3N2NcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWM3MDRcdWM3NTggXHVhZGY4XHViOWJjXHVjNWQwIFx1YjA5OFx1YzY0MFx1Yzc4OFx1YjI5NCBcdWIyZTRcdWFjMDFcdWQ2MTVcdWM3NTggXHVjMGJjXHVhYzAxXHVkNjE1IFx1YWMxY1x1YzIxOCBcdWMyMThcdWM1ZjRcdWM3NDAgXHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1YjJlNC4gXHVhYzAwXHVjN2E1IFx1YzY3Y1x1Y2FiZCBcdWM3MDRcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YWYyZFx1YzlkM1x1YzgxMFx1YzVkMFx1YzExYyBcdWMyZGNcdWM3OTFcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+QTogMSAzIDEgMyAxIDM8XC9saT5cclxuXHQ8bGk+QjogMiAyIDEgNCAxIDI8XC9saT5cclxuXHQ8bGk+QzogMSAyIDMgMiAxIDYgMSAyIDMgMiAxIDY8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5OXHVhYzFjXHVjNzU4IFx1YzU5MVx1Yzc1OCBcdWM4MTVcdWMyMThcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1YzBiY1x1YWMwMVx1ZDYxNSBcdWFjMWNcdWMyMTggXHVjMjE4XHVjNWY0XHVjNzc0IFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1Yzc3NFx1YjdlY1x1ZDU1YyBcdWMyMThcdWM1ZjRcdWM3NDQgXHViOWNjXHViNGRjXHViMjk0IFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc3NCBcdWM4NzRcdWM3YWNcdWQ1NThcdWIyOTRcdWM5YzAgXHVjNTQ4XHVkNTU4XHViMjk0XHVjOWMwXHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LiBcdWM4NzRcdWM3YWNcdWQ1NThcdWIyOTQgXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IFx1YzBiY1x1YWMwMVx1ZDYxNVx1Yzc0NCBcdWJhYThcdWI0NTAgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YWMxY1x1YzIxOCBQICgxICZsZTsgUCAmbGU7IDEwMDApXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWIyOTQgXHVkNTVjIFx1YzkwNFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LiBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YzIyYlx1Yzc5MFx1YjI5NCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0IFx1YmM4OFx1ZDYzOCBLXHVjNzc0XHViYTcwLCBcdWI0NTAgXHViYzg4XHVjOWY4IFx1YzIyYlx1Yzc5MFx1YjI5NCBcdWMyMThcdWM1ZjRcdWM3NTggXHVhZTM4XHVjNzc0IE4gKDQgJmxlOyBOICZsZTsgMjApXHVjNzc0XHViMmU0LiBcdWIyZTRcdWM3NGMgTlx1YWMxY1x1Yzc1OCBcdWMyMmJcdWM3OTBcdWIyOTQgXHVjMGJjXHVhYzAxXHVkNjE1IFx1YWMxY1x1YzIxOCBcdWMyMThcdWM1ZjRcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljNCBcdWMyMThcdWM1ZjRcdWM3NzQgXHVjMGJjXHVhYzAxXHVkNjE1IFx1YWMxY1x1YzIxOCBcdWMyMThcdWM1ZjRcdWM3NzQgXHVjNTQ0XHViMmNjIFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0IFx1YmM4OFx1ZDYzOCBLXHVjNjQwIFx1YzU0Y1x1ZDMwY1x1YmNiMyBcdWIzMDBcdWJiMzhcdWM3OTAgJnF1b3Q7TiZxdW90O1x1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYyY1x1YmMxNFx1Yjk3OCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNCBcdWJjODhcdWQ2MzggS1x1YzY0MCBcdWM1NGNcdWQzMGNcdWJjYjMgXHViMzAwXHViYjM4XHVjNzkwICZxdW90O1kmcXVvdDtcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWIyZTRcdWM3NGMgKE4tMilcdWFjMWMgXHVjOTA0XHVjNWQwXHViMjk0IFx1YzViNFx1YjVhNCBcdWFmMmRcdWM5ZDNcdWM4MTBcdWM3NzQgXHVjMGJjXHVhYzAxXHVkNjE1XHVjNzQ0IFx1Yzc3NFx1YjhlOFx1YjI5NFx1YzljMCBcdWQ1NWMgXHVjOTA0XHVjNWQwIFx1ZDU1OFx1YjA5OFx1YzUyOSBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YWYyZFx1YzlkM1x1YzgxMFx1Yzc0MCBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyAxXHViYzg4XHViZDgwXHVkMTMwIFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YmE3MCwgXHVjMGFjXHVjODA0XHVjMjFjXHVjNzNjXHViODVjIFx1YzgxNVx1YjgyY1x1ZDU3NFx1YzExYyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIGsgJmx0OyBsICZsdDsgbVx1Yzc3NCBcdWQ1NWMgXHVjMGJjXHVhYzAxXHVkNjE1XHVjNzc0XHVhY2UwLCByICZsdDsgcyAmbHQ7IHRcdWFjMDAgXHViMmU0XHViOTc4IFx1YzBiY1x1YWMwMVx1ZDYxNVx1Yzc3YyBcdWI1NGMsIFx1YzU0NFx1Yjc5OCBcdWM4NzBcdWFjNzRcdWM3NDQgXHViOWNjXHVjODcxXHVkNTU4XHViYTc0IFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjMGJjXHVhYzAxXHVkNjE1XHVjNzc0IFx1YjQ1MCBcdWJjODhcdWM5ZjhcdWJjZjRcdWIyZTQgXHVjMGFjXHVjODA0XHVjMjFjXHVjNzNjXHViODVjIFx1YzU1ZVx1YzEyMFx1YjJlNC48XC9wPlxyXG5cclxuPHByZT5cclxuayZsdDtyIE9SIChrPT1yIEFORCBsJmx0O3MpIE9SIChrPT1yIEFORCBsPT1zIEFORCBtJmx0O3QpPFwvcHJlPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiI5NDc0IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiVHJpYW5nbGUgQ291bnQgU2VxdWVuY2VzIG9mIFBvbHlnb24gVHJpYW5ndWxhdGlvbnMiLCJkZXNjcmlwdGlvbiI6IjxwPkEgVHJpYW5ndWxhdGlvbiBvZiBhIHBvbHlnb24gaXMgYSBzZXQgb2YgbGluZXMgYmV0d2VlbiB2ZXJ0aWNlcyBvZiB0aGUgcG9seWdvbiB0aGF0IGRpdmlkZSB0aGUgcG9seWdvbmludG8gdHJpYW5nbGVzLiBUaGUgbGluZXMgbXVzdCBiZSBpbnNpZGUgdGhlIHBvbHlnb24gYW5kIG1heSBub3QgaW50ZXJzZWN0IGVhY2ggb3RoZXIgZXhjZXB0IGF0dmVydGljZXMgb2YgdGhlIHBvbHlnb24uIEZvciBleGFtcGxlOjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL3RyaWFuZ3VsYS5wbmdcIiBzdHlsZT1cImhlaWdodDoyMzNweDsgd2lkdGg6NjIwcHhcIiBcLz48XC9wPlxyXG5cclxuPHA+SW4gdGhlIGV4YW1wbGVzLCB0aGUgaGVhdnkgbGluZSBpcyB0aGUgb3V0bGluZSBvZiB0aGUgcG9seWdvbiBhbmQgdGhlIGxpZ2h0ZXIgbGluZXMgZ2l2ZSB0aGUgdHJpYW5ndWxhdGlvbi4gSW4gZWFjaCBjYXNlIGEgdHJpYW5ndWxhdGlvbiBvZiBhIHBvbHlnb24gd2l0aCBuIHZlcnRpY2VzIHdpbGwgcmVzdWx0IGluIChuLTIpIHRyaWFuZ2xlcy48XC9wPlxyXG5cclxuPHA+VGhlIHRyaWFuZ2xlIGNvdW50IHNlcXVlbmNlIG9mIGEgdHJpYW5ndWxhdGlvbiBpcyBvYnRhaW5lZCBieSBzdGFydGluZyBhdCBzb21lIHZlcnRleCwgcHJvY2VlZGluZ2Fyb3VuZCB0aGUgcG9seWdvbiBhbmQgZm9yIGVhY2ggdmVydGV4IG9mIHRoZSBwb2x5Z29uIHJlY29yZGluZyB0aGUgbnVtYmVyIG9mIHRyaWFuZ2xlcyBvZiB0aGV0cmlhbmd1bGF0aW9uIGluY2lkZW50IG9uIHRoYXQgdmVydGV4LiBJbiB0aGUgZXhhbXBsZXMgYWJvdmUgdGhlIHRyaWFuZ2xlIGNvdW50IHNlcXVlbmNlcyBzdGFydGluZyBhdHRoZSB0b3AgKGxlZnQpIGFyZTo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5BOiAxIDMgMSAzIDEgMzxcL2xpPlxyXG5cdDxsaT5COiAyIDIgMSA0IDEgMjxcL2xpPlxyXG5cdDxsaT5DOiAxIDIgMyAyIDEgNiAxIDIgMyAyIDEgNjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPldyaXRlIGEgcHJvZ3JhbSB3aGljaCB0YWtlcyBhcyBpbnB1dCBhIHNlcXVlbmNlIG9mIE4gcG9zaXRpdmUgaW50ZWdlcnMgYW5kIGRldGVybWluZXMgd2hldGhlciB0aGVzZXF1ZW5jZSBpcyB0aGUgdHJpYW5nbGUgY291bnQgc2VxdWVuY2Ugb2YgYSBwb2x5Z29uIG9mIE4gdmVydGljZXMuIElmIHNvLCBsaXN0IHRoZSB0cmlhbmdsZXMgb2YgdGhldHJpYW5ndWxhdGlvbiBpbiBsZXhpY29ncmFwaGljYWwgb3JkZXIuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBjb250YWlucyBhIHNpbmdsZSBpbnRlZ2VyIFAsICgxICZsZTsgUCAmbGU7IDEwMDApLCB3aGljaCBpcyB0aGUgbnVtYmVyIG9mIGRhdGEgc2V0c3RoYXQgZm9sbG93LiBFYWNoIGRhdGEgc2V0IHNob3VsZCBiZSBwcm9jZXNzZWQgaWRlbnRpY2FsbHkgYW5kIGluZGVwZW5kZW50bHkuPFwvcD5cclxuXHJcbjxwPkVhY2ggZGF0YSBzZXQgY29uc2lzdHMgb2YgYSBzaW5nbGUgbGluZSBvZiBpbnB1dC4gSXQgY29udGFpbnMgdGhlIGRhdGEgc2V0IG51bWJlciwgSywgZm9sbG93ZWQgYnkgdGhlbnVtYmVyLCBOLCAoNCAmbHQ7PSBOICZsdDs9IDIwKSBvZiBpbnRlZ2VycyBpbiB0aGUgc2VxdWVuY2UsIGZvbGxvd2VkIGJ5IHRoZSBOIGludGVnZXJzIG9mIHRoZSBzZXF1ZW5jZWluIG9yZGVyLCBhbGwgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIGRhdGEgc2V0IHRoZXJlIG1heSBiZSBtdWx0aXBsZSBsaW5lcyBvZiBvdXRwdXQuIElmIHRoZSBpbnB1dCBzZXF1ZW5jZSBpcyBOT1QgdGhlIHRyaWFuZ2xlY291bnQgc2VxdWVuY2Ugb2YgYSBwb2x5Z29uIG9mIE4gdmVydGljZXMsIHRoZSBzaW5nbGUgb3V0cHV0IGxpbmUgY29uc2lzdHMgb2YgdGhlIGRhdGEgc2V0IG51bWJlciwgSyxmb2xsb3dlZCBieSBhIHNpbmdsZSBzcGFjZSBmb2xsb3dlZCBieSB0aGUgKGNhcGl0YWwpIGxldHRlciBOLiBPdGhlcndpc2UgKHRoZSBpbnB1dCBzZXF1ZW5jZSBpcyB0aGV0cmlhbmdsZSBjb3VudCBzZXF1ZW5jZSBvZiBhIHBvbHlnb24gb2YgTiB2ZXJ0aWNlcyksIHRoZSBmaXJzdCBvdXRwdXQgbGluZSBjb25zaXN0cyBvZiB0aGUgZGF0YSBzZXRudW1iZXIsIEssIGZvbGxvd2VkIGJ5IGEgc2luZ2xlIHNwYWNlIGZvbGxvd2VkIGJ5IHRoZSAoY2FwaXRhbCkgbGV0dGVyIFkuIEZvbGxvd2luZyB0aGlzIGxpbmUgYXJlIChOLTIpbGluZXMgZWFjaCBjb250YWluaW5nIHRoZSBpbmRpY2VzIG9mIHRoZSB2ZXJ0aWNlcyBvZiBhIHRyaWFuZ2xlIG9mIHRoZSB0cmlhbmd1bGF0aW9uLCBvbmUgdHJpYW5nbGUgcGVyIGxpbmUsd2l0aCB0aGUgdmVydGV4IGluZGljZXMgaW4gaW5jcmVhc2luZyBvcmRlci4gVGhlIHRyaWFuZ2xlcyBzaG91bGQgYmUgc29ydGVkIGluIGxleGljb2dyYXBoaWMgb3JkZXJsZWFzdCBmaXJzdC4gVGhhdCBpcywgaWYgayAmbHQ7IGwgJmx0OyBtIGFyZSB0aGUgdmVydGV4IGluZGljZXMgb2Ygb25lIHRyaWFuZ2xlIGFuZCByICZsdDsgcyAmbHQ7IHQgYXJlIHRoZSB2ZXJ0ZXhpbmRpY2VzIG9mIGFub3RoZXIsIHRoZW4gdGhlIGZpcnN0IHByZWNlZGVzIHRoZSBzZWNvbmQgaW4gbGV4aWNvZ3JhcGhpY2FsIG9yZGVyIGlmOjxcL3A+XHJcblxyXG48cHJlPlxyXG5rICZsdDsgciBPUiAoayA9PSByIEFORCBsICZsdDsgcykgT1IgKGsgPT0gciBBTkQgbCA9PSBzIEFORCBtICZsdDsgdCk8XC9wcmU+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==