시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
10 초 128 MB 390 134 108 35.762%

문제

상근이는 오디션 프로그램 대한민국 아이돌의 예선에 참가중이다.

대한민국 아이돌 오디션 프로그램에서 참가자는 심사위원에게 10분동안 자신의 매력을 발산할 기회를 갖는다. 모든 참가자가 경연이 끝난후에, 심사위원은 모두 모여서 투표를 하게 된다. 각 심사위원은 다음 라운드에 꼭 진출시켰으면 하는 사람(찬성)이나 이번 라운드에서 꼭 탈락시켰으면 하는 사람(반대)을 두 명 고른다. 한 심사위원이 찬성표를 두 개 내는 것과 반대표를 두 개 내는 것도 가능하며, 찬성과 반대를 각각 하나씩 내는 것도 가능하다. 또, 반드시 두 표를 내야 한다.

다음 라운드에 진출하는 참가자의 수는 정해져 있지 않다. 즉, 실력이 참가자의 경연이 모두 나쁜 경우에는 다음 라운드에 진출하는 참가자가 없을 수도 있고, 모두 엄청난 경연을 한 경우에는 모든 참가자기 다음 라운드에 진출할 수도 있다.

상근이는 심판들이 자신의 프로그래밍 능력에 큰 관심을 보이지 않을 것 같아 걱정하고 있다. 따라서, 상근이는 해킹을 이용해서 다음 라운드에 진출하려고 한다. 상근이는 투표 집계 시스템을 해킹해서, 다음 라운드 진출자를 선택하는 프로그램을 바꿔치기 하려고 한다. 하지만, 의심을 받지 않아야 한다.

각 심사위원은 자신이 행사한 두 표 중 적어도 하나는 결과에 영향을 미쳐야 한다고 생각을 한다. 두 표 모두와 반대되는 결과가 나오면, 심사위원은 투표 결과에 대해서 의심을 하게 된다. 예를 들어, 고원섭 심사위원이 박현수 참가자에게 찬성을, 김선영 참가자에게 반대를 한 경우를 생각해보자. 이 경우에 김선영이 다음 라운드에 진출하고, 박현수가 탈락을 하게 된다면, 두 결과가 모두 영향을 미치지 못했기 때문에, 고원섭 심사위원은 투표를 의심하게 된다.

상근이는 심사위원의 의심을 받지 않으면서, 다음 라운드에 진출하는 목록을 만들 수 있는지를 알고 싶어 한다. 당연히 이 목록에는 상근이가 포함되어 있어야 한다. 각 심사위원이 투표한 결과가 주어졌을 때, 상근이가 포함된 다음 라운드 진출 목록을 만들 수 있는지 없는지를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스의 첫째 줄에는 참가자의 수 n (2 ≤ n < 1000) 과 심사위원의 수 m (1 ≤ m < 2000)이 주어진다.

다음 m개 줄에는 각 심사위원이 행사한 투표의 정보 a와 b가 주어진다. (1 ≤ |a|, |b| ≤ n, |a| ≠ |b|) 정보가 x < 0인 경우에는 그 심사위원이 참가자 |x|에게 반대표를 행사한 것이고, x > 0인 경우는 |x|에게 찬성을 던진 것이다.

참가자의 번호는 1번부터 n번이다. 상근이는 1번 참가자이다. 

출력

각 테스트 케이스에 대해서, 상근이를 포함해, 다음 라운드 진출 목록을 심사위원의 의심 없이 만들 수 있으면 'yes'를, 없으면 'no'를 출력한다.

예제 입력 1

4 3
1 2
-2 -3
2 4
2 4
1 2
1 -2
-1 2
-1 -2

예제 출력 1

yes
no
W3sicHJvYmxlbV9pZCI6IjM2NDgiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM1NDRcdWM3NzRcdWIzY2MiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzBjMVx1YWRmY1x1Yzc3NFx1YjI5NCBcdWM2MjRcdWI1MTRcdWMxNTggXHVkNTA0XHViODVjXHVhZGY4XHViN2E4IFx1YjMwMFx1ZDU1Y1x1YmJmY1x1YWQ2ZCBcdWM1NDRcdWM3NzRcdWIzY2NcdWM3NTggXHVjNjA4XHVjMTIwXHVjNWQwIFx1Y2MzOFx1YWMwMFx1YzkxMVx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViMzAwXHVkNTVjXHViYmZjXHVhZDZkIFx1YzU0NFx1Yzc3NFx1YjNjYyBcdWM2MjRcdWI1MTRcdWMxNTggXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNWQwXHVjMTFjIFx1Y2MzOFx1YWMwMFx1Yzc5MFx1YjI5NCBcdWMyZWNcdWMwYWNcdWM3MDRcdWM2ZDBcdWM1ZDBcdWFjOGMgMTBcdWJkODRcdWIzZDlcdWM1NDggXHVjNzkwXHVjMmUwXHVjNzU4IFx1YjllNFx1YjgyNVx1Yzc0NCBcdWJjMWNcdWMwYjBcdWQ1NjAgXHVhZTMwXHVkNjhjXHViOTdjIFx1YWMxNlx1YjI5NFx1YjJlNC4gXHViYWE4XHViNGUwIFx1Y2MzOFx1YWMwMFx1Yzc5MFx1YWMwMCBcdWFjYmRcdWM1ZjBcdWM3NzQgXHViMDVkXHViMDljXHVkNmM0XHVjNWQwLCBcdWMyZWNcdWMwYWNcdWM3MDRcdWM2ZDBcdWM3NDAgXHViYWE4XHViNDUwIFx1YmFhOFx1YzVlY1x1YzExYyBcdWQyMmNcdWQ0NWNcdWI5N2MgXHVkNTU4XHVhYzhjIFx1YjQxY1x1YjJlNC4gXHVhYzAxIFx1YzJlY1x1YzBhY1x1YzcwNFx1YzZkMFx1Yzc0MCBcdWIyZTRcdWM3NGMgXHViNzdjXHVjNmI0XHViNGRjXHVjNWQwIFx1YWYyZCBcdWM5YzRcdWNkOWNcdWMyZGNcdWNmMzBcdWM3M2NcdWJhNzQgXHVkNTU4XHViMjk0IFx1YzBhY1x1Yjc4YyhcdWNjMmNcdWMxMzEpXHVjNzc0XHViMDk4IFx1Yzc3NFx1YmM4OCBcdWI3N2NcdWM2YjRcdWI0ZGNcdWM1ZDBcdWMxMWMgXHVhZjJkIFx1ZDBjOFx1Yjc3ZFx1YzJkY1x1Y2YzMFx1YzczY1x1YmE3NCBcdWQ1NThcdWIyOTQgXHVjMGFjXHViNzhjKFx1YmMxOFx1YjMwMClcdWM3NDQgXHViNDUwIFx1YmE4NSBcdWFjZTBcdWI5NzhcdWIyZTQuIFx1ZDU1YyBcdWMyZWNcdWMwYWNcdWM3MDRcdWM2ZDBcdWM3NzQgXHVjYzJjXHVjMTMxXHVkNDVjXHViOTdjIFx1YjQ1MCBcdWFjMWMgXHViMGI0XHViMjk0IFx1YWM4M1x1YWNmYyBcdWJjMThcdWIzMDBcdWQ0NWNcdWI5N2MgXHViNDUwIFx1YWMxYyBcdWIwYjRcdWIyOTQgXHVhYzgzXHViM2M0IFx1YWMwMFx1YjJhNVx1ZDU1OFx1YmE3MCwgXHVjYzJjXHVjMTMxXHVhY2ZjIFx1YmMxOFx1YjMwMFx1Yjk3YyBcdWFjMDFcdWFjMDEgXHVkNTU4XHViMDk4XHVjNTI5IFx1YjBiNFx1YjI5NCBcdWFjODNcdWIzYzQgXHVhYzAwXHViMmE1XHVkNTU4XHViMmU0LiBcdWI2MTAsIFx1YmMxOFx1YjRkY1x1YzJkYyBcdWI0NTAgXHVkNDVjXHViOTdjIFx1YjBiNFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBcdWI3N2NcdWM2YjRcdWI0ZGNcdWM1ZDAgXHVjOWM0XHVjZDljXHVkNTU4XHViMjk0IFx1Y2MzOFx1YWMwMFx1Yzc5MFx1Yzc1OCBcdWMyMThcdWIyOTQgXHVjODE1XHVkNTc0XHVjODM4IFx1Yzc4OFx1YzljMCBcdWM1NGFcdWIyZTQuIFx1Yzk4OSwgXHVjMmU0XHViODI1XHVjNzc0IFx1Y2MzOFx1YWMwMFx1Yzc5MFx1Yzc1OCBcdWFjYmRcdWM1ZjBcdWM3NzQgXHViYWE4XHViNDUwIFx1YjA5OFx1YzA1YyBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHViMmU0XHVjNzRjIFx1Yjc3Y1x1YzZiNFx1YjRkY1x1YzVkMCBcdWM5YzRcdWNkOWNcdWQ1NThcdWIyOTQgXHVjYzM4XHVhYzAwXHVjNzkwXHVhYzAwIFx1YzVjNlx1Yzc0NCBcdWMyMThcdWIzYzQgXHVjNzg4XHVhY2UwLCBcdWJhYThcdWI0NTAgXHVjNWM0XHVjY2FkXHViMDljIFx1YWNiZFx1YzVmMFx1Yzc0NCBcdWQ1NWMgXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IFx1YmFhOFx1YjRlMCBcdWNjMzhcdWFjMDBcdWM3OTBcdWFlMzAgXHViMmU0XHVjNzRjIFx1Yjc3Y1x1YzZiNFx1YjRkY1x1YzVkMCBcdWM5YzRcdWNkOWNcdWQ1NjAgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMGMxXHVhZGZjXHVjNzc0XHViMjk0IFx1YzJlY1x1ZDMxMFx1YjRlNFx1Yzc3NCBcdWM3OTBcdWMyZTBcdWM3NTggXHVkNTA0XHViODVjXHVhZGY4XHViNzk4XHViYzBkIFx1YjJhNVx1YjgyNVx1YzVkMCBcdWQwNzAgXHVhZDAwXHVjMmVjXHVjNzQ0IFx1YmNmNFx1Yzc3NFx1YzljMCBcdWM1NGFcdWM3NDQgXHVhYzgzIFx1YWMxOVx1YzU0NCBcdWFjNzFcdWM4MTVcdWQ1NThcdWFjZTAgXHVjNzg4XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIFx1YzBjMVx1YWRmY1x1Yzc3NFx1YjI5NCBcdWQ1NzRcdWQwYjlcdWM3NDQgXHVjNzc0XHVjNmE5XHVkNTc0XHVjMTFjIFx1YjJlNFx1Yzc0YyBcdWI3N2NcdWM2YjRcdWI0ZGNcdWM1ZDAgXHVjOWM0XHVjZDljXHVkNTU4XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVjMGMxXHVhZGZjXHVjNzc0XHViMjk0IFx1ZDIyY1x1ZDQ1YyBcdWM5ZDFcdWFjYzQgXHVjMmRjXHVjMmE0XHVkMTVjXHVjNzQ0IFx1ZDU3NFx1ZDBiOVx1ZDU3NFx1YzExYywgXHViMmU0XHVjNzRjIFx1Yjc3Y1x1YzZiNFx1YjRkYyBcdWM5YzRcdWNkOWNcdWM3OTBcdWI5N2MgXHVjMTIwXHVkMGRkXHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWJjMTRcdWFmZDRcdWNlNThcdWFlMzAgXHVkNTU4XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVkNTU4XHVjOWMwXHViOWNjLCBcdWM3NThcdWMyZWNcdWM3NDQgXHViYzFiXHVjOWMwIFx1YzU0YVx1YzU0NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMSBcdWMyZWNcdWMwYWNcdWM3MDRcdWM2ZDBcdWM3NDAgXHVjNzkwXHVjMmUwXHVjNzc0IFx1ZDU4OVx1YzBhY1x1ZDU1YyBcdWI0NTAgXHVkNDVjIFx1YzkxMSBcdWM4MDFcdWM1YjRcdWIzYzQgXHVkNTU4XHViMDk4XHViMjk0IFx1YWNiMFx1YWNmY1x1YzVkMCBcdWM2MDFcdWQ1YTVcdWM3NDQgXHViYmY4XHVjY2QwXHVjNTdjIFx1ZDU1Y1x1YjJlNFx1YWNlMCBcdWMwZGRcdWFjMDFcdWM3NDQgXHVkNTVjXHViMmU0LiBcdWI0NTAgXHVkNDVjIFx1YmFhOFx1YjQ1MFx1YzY0MCBcdWJjMThcdWIzMDBcdWI0MThcdWIyOTQgXHVhY2IwXHVhY2ZjXHVhYzAwIFx1YjA5OFx1YzYyNFx1YmE3NCwgXHVjMmVjXHVjMGFjXHVjNzA0XHVjNmQwXHVjNzQwIFx1ZDIyY1x1ZDQ1YyBcdWFjYjBcdWFjZmNcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjIFx1Yzc1OFx1YzJlY1x1Yzc0NCBcdWQ1NThcdWFjOGMgXHViNDFjXHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCBcdWFjZTBcdWM2ZDBcdWMxMmQgXHVjMmVjXHVjMGFjXHVjNzA0XHVjNmQwXHVjNzc0IFx1YmMxNVx1ZDYwNFx1YzIxOCBcdWNjMzhcdWFjMDBcdWM3OTBcdWM1ZDBcdWFjOGMgXHVjYzJjXHVjMTMxXHVjNzQ0LCBcdWFlNDBcdWMxMjBcdWM2MDEgXHVjYzM4XHVhYzAwXHVjNzkwXHVjNWQwXHVhYzhjIFx1YmMxOFx1YjMwMFx1Yjk3YyBcdWQ1NWMgXHVhY2JkXHVjNmIwXHViOTdjIFx1YzBkZFx1YWMwMVx1ZDU3NFx1YmNmNFx1Yzc5MC4gXHVjNzc0IFx1YWNiZFx1YzZiMFx1YzVkMCBcdWFlNDBcdWMxMjBcdWM2MDFcdWM3NzQgXHViMmU0XHVjNzRjIFx1Yjc3Y1x1YzZiNFx1YjRkY1x1YzVkMCBcdWM5YzRcdWNkOWNcdWQ1NThcdWFjZTAsIFx1YmMxNVx1ZDYwNFx1YzIxOFx1YWMwMCBcdWQwYzhcdWI3N2RcdWM3NDQgXHVkNTU4XHVhYzhjIFx1YjQxY1x1YjJlNFx1YmE3NCwgXHViNDUwIFx1YWNiMFx1YWNmY1x1YWMwMCBcdWJhYThcdWI0NTAgXHVjNjAxXHVkNWE1XHVjNzQ0IFx1YmJmOFx1Y2U1OFx1YzljMCBcdWJhYmJcdWQ1ODhcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWFjZTBcdWM2ZDBcdWMxMmQgXHVjMmVjXHVjMGFjXHVjNzA0XHVjNmQwXHVjNzQwIFx1ZDIyY1x1ZDQ1Y1x1Yjk3YyBcdWM3NThcdWMyZWNcdWQ1NThcdWFjOGMgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMwYzFcdWFkZmNcdWM3NzRcdWIyOTQgXHVjMmVjXHVjMGFjXHVjNzA0XHVjNmQwXHVjNzU4IFx1Yzc1OFx1YzJlY1x1Yzc0NCBcdWJjMWJcdWM5YzAgXHVjNTRhXHVjNzNjXHViYTc0XHVjMTFjLCBcdWIyZTRcdWM3NGMgXHViNzdjXHVjNmI0XHViNGRjXHVjNWQwIFx1YzljNFx1Y2Q5Y1x1ZDU1OFx1YjI5NCBcdWJhYTlcdWI4NWRcdWM3NDQgXHViOWNjXHViNGU0IFx1YzIxOCBcdWM3ODhcdWIyOTRcdWM5YzBcdWI5N2MgXHVjNTRjXHVhY2UwIFx1YzJmNlx1YzViNCBcdWQ1NWNcdWIyZTQuIFx1YjJmOVx1YzVmMFx1ZDc4OCBcdWM3NzQgXHViYWE5XHViODVkXHVjNWQwXHViMjk0IFx1YzBjMVx1YWRmY1x1Yzc3NFx1YWMwMCBcdWQzZWNcdWQ1NjhcdWI0MThcdWM1YjQgXHVjNzg4XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHVhYzAxIFx1YzJlY1x1YzBhY1x1YzcwNFx1YzZkMFx1Yzc3NCBcdWQyMmNcdWQ0NWNcdWQ1NWMgXHVhY2IwXHVhY2ZjXHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YzBjMVx1YWRmY1x1Yzc3NFx1YWMwMCBcdWQzZWNcdWQ1NjhcdWI0MWMgXHViMmU0XHVjNzRjIFx1Yjc3Y1x1YzZiNFx1YjRkYyBcdWM5YzRcdWNkOWMgXHViYWE5XHViODVkXHVjNzQ0IFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHViMjk0XHVjOWMwIFx1YzVjNlx1YjI5NFx1YzljMFx1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzU4IFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWNjMzhcdWFjMDBcdWM3OTBcdWM3NTggXHVjMjE4IG4gKDIgJmxlOyBuICZsdDsgMTAwMCkgXHVhY2ZjIFx1YzJlY1x1YzBhY1x1YzcwNFx1YzZkMFx1Yzc1OCBcdWMyMTggbSAoMSAmbGU7IG0gJmx0OyAyMDAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBtXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWFjMDEgXHVjMmVjXHVjMGFjXHVjNzA0XHVjNmQwXHVjNzc0IFx1ZDU4OVx1YzBhY1x1ZDU1YyBcdWQyMmNcdWQ0NWNcdWM3NTggXHVjODE1XHViY2Y0IGFcdWM2NDAgYlx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgxICZsZTsgfGF8LCB8YnwgJmxlOyBuLCB8YXwgJm5lOyB8YnwpIFx1YzgxNVx1YmNmNFx1YWMwMCB4ICZsdDsgMFx1Yzc3OCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHVhZGY4IFx1YzJlY1x1YzBhY1x1YzcwNFx1YzZkMFx1Yzc3NCBcdWNjMzhcdWFjMDBcdWM3OTAgfHh8XHVjNWQwXHVhYzhjIFx1YmMxOFx1YjMwMFx1ZDQ1Y1x1Yjk3YyBcdWQ1ODlcdWMwYWNcdWQ1NWMgXHVhYzgzXHVjNzc0XHVhY2UwLCB4ICZndDsgMFx1Yzc3OCBcdWFjYmRcdWM2YjBcdWIyOTQgfHh8XHVjNWQwXHVhYzhjIFx1Y2MyY1x1YzEzMVx1Yzc0NCBcdWIzNThcdWM5YzQgXHVhYzgzXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWNjMzhcdWFjMDBcdWM3OTBcdWM3NTggXHViYzg4XHVkNjM4XHViMjk0IDFcdWJjODhcdWJkODBcdWQxMzAgblx1YmM4OFx1Yzc3NFx1YjJlNC4gXHVjMGMxXHVhZGZjXHVjNzc0XHViMjk0IDFcdWJjODggXHVjYzM4XHVhYzAwXHVjNzkwXHVjNzc0XHViMmU0LiZuYnNwOzxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYywgXHVjMGMxXHVhZGZjXHVjNzc0XHViOTdjIFx1ZDNlY1x1ZDU2OFx1ZDU3NCwgXHViMmU0XHVjNzRjIFx1Yjc3Y1x1YzZiNFx1YjRkYyBcdWM5YzRcdWNkOWMgXHViYWE5XHViODVkXHVjNzQ0IFx1YzJlY1x1YzBhY1x1YzcwNFx1YzZkMFx1Yzc1OCBcdWM3NThcdWMyZWMgXHVjNWM2XHVjNzc0IFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHVjNzNjXHViYTc0ICYjMzk7eWVzJiMzOTtcdWI5N2MsIFx1YzVjNlx1YzczY1x1YmE3NCAmIzM5O25vJiMzOTtcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjM2NDgiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJJZG9sIiwiZGVzY3JpcHRpb24iOiI8cD5LYXJsIGlzIGNvbXBldGluZyBpbiB0aGUgcHJlbGltaW5hcnkgcm91bmQgb2YgYSB0YWxlbnQgc2hvdyBjYWxsZWQgTm9ydGgtV2VzdGVybiBFdXJvcGVhbiBJZG9sIChOV0VJKSwgYW5kIHdhbnRzIHRvIGFkdmFuY2UgdG8gdGhlIG5leHQgcm91bmQ6IFdvcmxkIElkb2wuIEluIHRoZSB0YWxlbnQgc2hvdywgZWFjaCBjb250ZXN0YW50IGdldHMgMTAgbWludXRlcyB0byBpbXByZXNzIHRoZSBqdWRnZXMuIEFmdGVyIGFsbCB0aGUgY29udGVzdGFudHMgaGF2ZSBwZXJmb3JtZWQsIGVhY2ggb2YgdGhlIGp1ZGdlcyB3aWxsIGNhc3QgdHdvIGRpc3RpbmN0IHZvdGVzLiBBIHZvdGUgY2FuIGJlIGVpdGhlciBpbiBmYXZvdXIgb2YgYSBjb250ZXN0YW50IChtZWFuaW5nIHRoaXMgY29udGVzdGFudCBzaG91bGQgYWR2YW5jZSkgb3IgYWdhaW5zdCBhIGNvbnRlc3RhbnQgKG1lYW5pbmcgdGhpcyBjb250ZXN0YW50IHNob3VsZCBub3QgYWR2YW5jZSkuIFRoZSBudW1iZXIgb2YgY29udGVzdGFudHMgdGhhdCBhZHZhbmNlIHRvIHRoZSBuZXh0IHJvdW5kIGlzIG5vdCBrbm93biBpbiBhZHZhbmNlOyBpZiB0aGVyZSBhcmUgb25seSB2ZXJ5IGJhZCBjb250ZXN0YW50cywgdGhlbiBpdCBpcyBwb3NzaWJsZSB0aGF0IG5vYm9keSB3aWxsIGFkdmFuY2UsIG9yIGlmIGV2ZXJ5Ym9keSBpcyBhbWF6aW5nLCB0aGVuIGV2ZXJ5Ym9keSBtYXkgYWR2YW5jZS48XC9wPlxyXG5cclxuPHA+S2FybCBpcyBhZnJhaWQgdGhhdCB0aGUganVkZ2VzIHdpbGwgbm90IGFwcHJlY2lhdGUgaGlzIHByb2dyYW1taW5nIHRhbGVudHMsIGFuZCBoZW5jZSB3YW50cyB0byB1c2UgaGlzIG90aGVyIHRhbGVudCB0byBhZHZhbmNlIHRvIHRoZSBuZXh0IHJvdW5kOiBoYWNraW5nLiBIYXZpbmcgZ2FpbmVkIGFjY2VzcyB0byB0aGUganVyeSBzeXN0ZW0sIEthcmwgaXMgY2FwYWJsZSBvZiBvdmVycmlkaW5nIHRoZSByZWd1bGFyIHByb2Nlc3Mgb2YgY291bnRpbmcgdm90ZXMsIGFuZCBpbnN0ZWFkIHNlbGVjdGluZyBleGFjdGx5IHdoaWNoIGNvbnRlc3RhbnRzIGFkdmFuY2UgdG8gdGhlIG5leHQgcm91bmQuIFRoZSBvbmx5IHByb2JsZW0gaXMsIGhlIGhhcyB0byBiZSBjYXJlZnVsIG5vdCB0byBhcm91c2Ugc3VzcGljaW9uLjxcL3A+XHJcblxyXG48cD5FYWNoIGp1ZGdlIGV4cGVjdHMgdGhhdCBhdCBsZWFzdCBvbmUgb2YgaGlzIChvciBoZXIpIG93biB0d28gdm90ZXMgY29ycmVzcG9uZHMgdG8gdGhlIG91dGNvbWUgb2YgdGhlIGNvbnRlc3QuIElmIHRoZSBvdXRjb21lIGNvbnRyYWRpY3RzIGJvdGggdm90ZXMsIHRoZSBqdWRnZSBiZWNvbWVzIGFsYXJtZWQuIEFzIGFuIGV4YW1wbGUsIGFzc3VtZSBqdWRnZSBIYXJyeSBjYXN0cyBhIHZvdGUgaW4gZmF2b3VyIG9mIFBldGUgYW5kIGEgdm90ZSBhZ2FpbnN0IFNhbGx5LiBJZiBTYWxseSBhZHZhbmNlcyBhbmQgUGV0ZSBkb2VzIG5vdCwganVkZ2UgSGFycnkgd2lsbCBiZSBhbGFybWVkIGFuZCBtYXkgZGlzY292ZXIgS2FybCZyc3F1bztzIHRhbXBlcmluZyB3aXRoIHRoZSBzeXN0ZW0uPFwvcD5cclxuXHJcbjxwPlNpbmNlIEthcmwmcnNxdW87cyBwcm9ncmFtbWluZyB0YWxlbnRzIGFyZSBsaW1pdGVkIChvdGhlcndpc2UgaGUgd291bGQgbm90IGhhdmUgbmVlZGVkIGhpcyBoYWNraW5nIHRhbGVudHMpLCBoZSBuZWVkcyB5b3UgdG8gbWFrZSBhIHByb2dyYW0gdGhhdCBcdWZiMDFuZHMgb3V0IGlmIHRoZXJlIGlzIGEgc2V0IG9mIGNvbnRlc3RhbnRzLCB3aGljaCBpbmNsdWRlcyBoaW1zZWxmLCB0aGF0IGhlIGNhbiBzZWxlY3QgdG8gYWR2YW5jZSB0byB0aGUgbmV4dCByb3VuZCBieSBoYWNraW5nIHRoZSBqdXJ5IHN5c3RlbSwgc3VjaCB0aGF0IGl0IGRvZXMgbm90IGFsYXJtIGFueSBvZiB0aGUganVkZ2VzLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+Rm9yIGVhY2ggdGVzdCBjYXNlLCB0aGUgaW5wdXQgaXMgYXMgZm9sbG93czo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5PbmUgbGluZSBjb250YWluaW5nIHR3byBwb3NpdGl2ZSBpbnRlZ2VyczogdGhlIG51bWJlciBvZiBjb250ZXN0YW50cyBuICgyICZsZTsgbiAmbHQ7IDEwMDApIGFuZCB0aGUgbnVtYmVyIG9mIGp1ZGdlcyBtICgxICZsZTsgbSAmbHQ7IDIwMDApLjxcL2xpPlxyXG5cdDxsaT5tIGxpbmVzIGNvbnRhaW5pbmcgdGhlIHZvdGVzIG9mIGVhY2gganVkZ2UuIEVhY2ggb2YgdGhlc2UgbGluZSBjb250YWlucyB0d28gaW50ZWdlcnM6IHRoZSBudW1iZXJzIGEgKDEgJmxlOyB8YXwgJmxlOyBuKSwgYW5kIGIgKDEgJmxlOyB8YnwgJmxlOyBuKSwgdGhlIHR3byB2b3RlcyBvZiB0aGlzIGp1ZGdlICh8YXwgJm5lOyB8YnwpLiBBIHZvdGUgeCAmbHQ7IDAgbWVhbnMgdGhhdCB0aGUgdm90ZSBpcyBhZ2FpbnN0IGFkdmFuY2VtZW50IG9mIGNvbnRlc3RhbnQgfHh8LiBBIHZvdGUgeCAmZ3Q7IDAgbWVhbnMgdGhhdCB0aGUgdm90ZSBpcyBpbiBmYXZvdXIgb2YgY29udGVzdGFudCB8eHwuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+Q29udGVzdGFudHMgYXJlIG51bWJlcmVkIDEgLi4uIG4uPFwvcD5cclxuXHJcbjxwPkthcmwgaXMgY29udGVzdGFudCAxLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIHRlc3QgY2FzZSwgcHJpbnQgb25lIGxpbmUgb2Ygb3V0cHV0IGNvbnRhaW5pbmcgdGhlIHdvcmQgJmxzcXVvO3llcyZyc3F1bzsgaWYgdGhlcmUgaXMgYSBzZXQgb2YgY29udGVzdGFudHMgdGhhdCBhZHZhbmNlcyB0byB0aGUgbmV4dCByb3VuZCB0aGF0IGluY2x1ZGVzIEthcmwsIGFuZCBkb2VzIG5vdCBhbGFybSBhbnkgb2YgdGhlIGp1ZGdlcy4gSWYgdGhlcmUgaXMgbm8gc3VjaCBzZXQgb2YgY29udGVzdGFudHMsIHRoZSBsaW5lIHNob3VsZCBjb250YWluICZsc3F1bztubyZyc3F1bzsuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVjNjAxXHVjNWI0In1d