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

문제

마법사 이재환은 V개의 방과 V-1개의 문으로 이루어진 미로에 갇혀있다. 문은 방을 양방향으로 연결하고 있고, 한 방에서 다른 방으로 가는 경로는 항상 존재한다. 또, C개의 서로 다른 색상으로 이루어진 C개의 자물쇠와 C개의 열쇠가 있다. 문은 최대 한 개의 자물쇠로 잠겨있을 수 있고, 방에는 최대 한 개의 열쇠가 놓여져 있다.

재환이는 마법사이기 때문에, 자물쇠를 마법으로 풀면 된다. 하지만, 주문책을 놓고 왔기 때문에, 마법을 전혀 할 수 없다. 

재환이는 현재 방 X에 있고, 방 Y에 있는 주문북을 찾으러 가려고 한다. 재환이는 현재 있는 방과 인접한 방으로 문을 통해 한 번에 이동할 수 있다. 문이 잠겨있는 경우에는 자물쇠의 색상과 같은 색상의 열쇠가 있어야 문을 열 수 있다.

재환이는 한 번에 열쇠 하나만 들고 있을 수 있다. 또, 열쇠를 집은 이후에 나중에 다시 사용하기 위해서 열쇠를 다른 방에 내려 놓을 수 없다. 자물쇠로 잠겨있는 문을 열게 되면, 열쇠는 사라지게 된다.

미로와 열쇠 C개와 자물쇠 C개의 위치가 주어진다. 이때, X에서 Y로 이동하는 것이 가능한지 알아내는 프로그램을 작성하시오. 경로의 길이는 4·(C+1)·V를 넘을 수 없다.

입력

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

첫째 줄에는 네 정수가 주어진다. 방의 개수 V (1 ≤ V ≤ 1500), 자물쇠의 수 (0 ≤ C < V), 방 번호 X와 Y가 주어진다. 방 번호는 0번부터 V-1가지 번호가 매겨져 있다. 다음 C개 줄에는 색의 번호가 증가하는 순서대로 키가 들어있는 방의 번호가 주어진다. 그 다음 V-1개 줄에는 미로의 정보 A B L이 주어진다. 0 ≤ L < C인 경우에는 방 A와 B를 연결하는 문을 잠구는 자물쇠의 색은 L이라는 뜻이고, -1인 경우에는 잠겨있지 않다는 뜻이다.

입력의 마지막 줄은 V,C,X,Y = 0,0,0,0 이다.

출력

각 테스트 케이스마다 한 줄씩 출력한다. 답이 없는 경우에는 Impossible을 출력한다. 그렇지 않으면 L: V0 ... VL 형식으로 경로를 출력한다. L ≤ 4(C+1)V 은 X에서 Y로 가는 경로이고, X=V0,V1,...,VL-1,VL = Y는 X에서 Y로 가기 위해 지나가야 하는 방의 번호 L+1개이다. 각 정점을 출력하기 전에 공백을 하나 출력해야 한다.

예제 입력 1

1 0 0 0

3 1 0 2
1
0 1 -1
0 2 0

3 2 0 2
1 2
0 1 1
0 2 0

5 3 0 4
2 0 3
0 1 0
0 2 -1
1 3 1
2 4 2

0 0 0 0

예제 출력 1

0: 0
3: 0 1 0 2
Impossible
10: 0 2 0 1 0 1 3 1 0 2 4
W3sicHJvYmxlbV9pZCI6IjM4NTMiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM3OTBcdWJiM2NcdWMxZTBcdWM2NDAgXHVjNWY0XHVjMWUwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWI5YzhcdWJjOTVcdWMwYWMgXHVjNzc0XHVjN2FjXHVkNjU4XHVjNzQwIFZcdWFjMWNcdWM3NTggXHViYzI5XHVhY2ZjIFYtMVx1YWMxY1x1Yzc1OCBcdWJiMzhcdWM3M2NcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1YmJmOFx1Yjg1Y1x1YzVkMCBcdWFjMDdcdWQ2MDBcdWM3ODhcdWIyZTQuIFx1YmIzOFx1Yzc0MCBcdWJjMjlcdWM3NDQgXHVjNTkxXHViYzI5XHVkNWE1XHVjNzNjXHViODVjIFx1YzVmMFx1YWNiMFx1ZDU1OFx1YWNlMCBcdWM3ODhcdWFjZTAsIFx1ZDU1YyBcdWJjMjlcdWM1ZDBcdWMxMWMgXHViMmU0XHViOTc4IFx1YmMyOVx1YzczY1x1Yjg1YyBcdWFjMDBcdWIyOTQgXHVhY2JkXHViODVjXHViMjk0IFx1ZDU2ZFx1YzBjMSBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTQuIFx1YjYxMCwgQ1x1YWMxY1x1Yzc1OCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YzBjOVx1YzBjMVx1YzczY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgQ1x1YWMxY1x1Yzc1OCBcdWM3OTBcdWJiM2NcdWMxZTBcdWM2NDAgQ1x1YWMxY1x1Yzc1OCBcdWM1ZjRcdWMxZTBcdWFjMDAgXHVjNzg4XHViMmU0LiBcdWJiMzhcdWM3NDAgXHVjZDVjXHViMzAwIFx1ZDU1YyBcdWFjMWNcdWM3NTggXHVjNzkwXHViYjNjXHVjMWUwXHViODVjIFx1YzdhMFx1YWNhOFx1Yzc4OFx1Yzc0NCBcdWMyMTggXHVjNzg4XHVhY2UwLCBcdWJjMjlcdWM1ZDBcdWIyOTQgXHVjZDVjXHViMzAwIFx1ZDU1YyBcdWFjMWNcdWM3NTggXHVjNWY0XHVjMWUwXHVhYzAwIFx1YjE5M1x1YzVlY1x1YzgzOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzdhY1x1ZDY1OFx1Yzc3NFx1YjI5NCBcdWI5YzhcdWJjOTVcdWMwYWNcdWM3NzRcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWM3OTBcdWJiM2NcdWMxZTBcdWI5N2MgXHViOWM4XHViYzk1XHVjNzNjXHViODVjIFx1ZDQ4MFx1YmE3NCBcdWI0MWNcdWIyZTQuIFx1ZDU1OFx1YzljMFx1YjljYywgXHVjOGZjXHViYjM4XHVjYzQ1XHVjNzQ0IFx1YjE5M1x1YWNlMCBcdWM2NTRcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWI5YzhcdWJjOTVcdWM3NDQgXHVjODA0XHVkNjAwIFx1ZDU2MCBcdWMyMTggXHVjNWM2XHViMmU0LiZuYnNwOzxcL3A+XHJcblxyXG48cD5cdWM3YWNcdWQ2NThcdWM3NzRcdWIyOTQgXHVkNjA0XHVjN2FjIFx1YmMyOSBYXHVjNWQwIFx1Yzc4OFx1YWNlMCwgXHViYzI5IFlcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzhmY1x1YmIzOFx1YmQ4MVx1Yzc0NCBcdWNjM2VcdWM3M2NcdWI3ZWMgXHVhYzAwXHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVjN2FjXHVkNjU4XHVjNzc0XHViMjk0IFx1ZDYwNFx1YzdhYyBcdWM3ODhcdWIyOTQgXHViYzI5XHVhY2ZjIFx1Yzc3OFx1YzgxMVx1ZDU1YyBcdWJjMjlcdWM3M2NcdWI4NWMgXHViYjM4XHVjNzQ0IFx1ZDFiNVx1ZDU3NCBcdWQ1NWMgXHViYzg4XHVjNWQwIFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWJiMzhcdWM3NzQgXHVjN2EwXHVhY2E4XHVjNzg4XHViMjk0IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWM3OTBcdWJiM2NcdWMxZTBcdWM3NTggXHVjMGM5XHVjMGMxXHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWMwYzlcdWMwYzFcdWM3NTggXHVjNWY0XHVjMWUwXHVhYzAwIFx1Yzc4OFx1YzViNFx1YzU3YyBcdWJiMzhcdWM3NDQgXHVjNWY0IFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzdhY1x1ZDY1OFx1Yzc3NFx1YjI5NCBcdWQ1NWMgXHViYzg4XHVjNWQwIFx1YzVmNFx1YzFlMCBcdWQ1NThcdWIwOThcdWI5Y2MgXHViNGU0XHVhY2UwIFx1Yzc4OFx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWI2MTAsIFx1YzVmNFx1YzFlMFx1Yjk3YyBcdWM5ZDFcdWM3NDAgXHVjNzc0XHVkNmM0XHVjNWQwIFx1YjA5OFx1YzkxMVx1YzVkMCBcdWIyZTRcdWMyZGMgXHVjMGFjXHVjNmE5XHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExYyBcdWM1ZjRcdWMxZTBcdWI5N2MgXHViMmU0XHViOTc4IFx1YmMyOVx1YzVkMCBcdWIwYjRcdWI4MjQgXHViMTkzXHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWIyZTQuIFx1Yzc5MFx1YmIzY1x1YzFlMFx1Yjg1YyBcdWM3YTBcdWFjYThcdWM3ODhcdWIyOTQgXHViYjM4XHVjNzQ0IFx1YzVmNFx1YWM4YyBcdWI0MThcdWJhNzQsIFx1YzVmNFx1YzFlMFx1YjI5NCBcdWMwYWNcdWI3N2NcdWM5YzBcdWFjOGMgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWJiZjhcdWI4NWNcdWM2NDAgXHVjNWY0XHVjMWUwIENcdWFjMWNcdWM2NDAgXHVjNzkwXHViYjNjXHVjMWUwIENcdWFjMWNcdWM3NTggXHVjNzA0XHVjZTU4XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjNzc0XHViNTRjLCBYXHVjNWQwXHVjMTFjIFlcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWFjMDBcdWIyYTVcdWQ1NWNcdWM5YzAgXHVjNTRjXHVjNTQ0XHViMGI0XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuIFx1YWNiZFx1Yjg1Y1x1Yzc1OCBcdWFlMzhcdWM3NzRcdWIyOTQgNCZtaWRkb3Q7KEMrMSkmbWlkZG90O1ZcdWI5N2MgXHViMTE4XHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3NDAgXHVjNWVjXHViN2VjIFx1YWMxY1x1Yzc1OCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHViMTI0IFx1YzgxNVx1YzIxOFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YmMyOVx1Yzc1OCBcdWFjMWNcdWMyMTggViAoMSAmbGU7IFYgJmxlOyAxNTAwKSwgXHVjNzkwXHViYjNjXHVjMWUwXHVjNzU4IFx1YzIxOCAoMCAmbGU7IEMgJmx0OyBWKSwgXHViYzI5IFx1YmM4OFx1ZDYzOCBYXHVjNjQwIFlcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWJjMjkgXHViYzg4XHVkNjM4XHViMjk0IDBcdWJjODhcdWJkODBcdWQxMzAgVi0xXHVhYzAwXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMmU0LiBcdWIyZTRcdWM3NGMgQ1x1YWMxYyBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjMGM5XHVjNzU4IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWM5OWRcdWFjMDBcdWQ1NThcdWIyOTQgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1ZDBhNFx1YWMwMCBcdWI0ZTRcdWM1YjRcdWM3ODhcdWIyOTQgXHViYzI5XHVjNzU4IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YWRmOCBcdWIyZTRcdWM3NGMgVi0xXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWJiZjhcdWI4NWNcdWM3NTggXHVjODE1XHViY2Y0IEEgQiBMXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gMCAmbGU7IEwgJmx0OyBDXHVjNzc4IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWJjMjkgQVx1YzY0MCBCXHViOTdjIFx1YzVmMFx1YWNiMFx1ZDU1OFx1YjI5NCBcdWJiMzhcdWM3NDQgXHVjN2EwXHVhZDZjXHViMjk0IFx1Yzc5MFx1YmIzY1x1YzFlMFx1Yzc1OCBcdWMwYzlcdWM3NDAgTFx1Yzc3NFx1Yjc3Y1x1YjI5NCBcdWI3M2JcdWM3NzRcdWFjZTAsIC0xXHVjNzc4IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWM3YTBcdWFjYThcdWM3ODhcdWM5YzAgXHVjNTRhXHViMmU0XHViMjk0IFx1YjczYlx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzg1XHViODI1XHVjNzU4IFx1YjljOFx1YzljMFx1YjljOSBcdWM5MDRcdWM3NDAgVixDLFgsWSA9IDAsMCwwLDAgXHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViOWM4XHViMmU0IFx1ZDU1YyBcdWM5MDRcdWM1MjkgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWIyZjVcdWM3NzQgXHVjNWM2XHViMjk0IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBJbXBvc3NpYmxlXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHViODA3XHVjOWMwIFx1YzU0YVx1YzczY1x1YmE3NCBMOiBWPHN1Yj4wPFwvc3ViPiAuLi4gVjxzdWI+TDxcL3N1Yj4gXHVkNjE1XHVjMmRkXHVjNzNjXHViODVjIFx1YWNiZFx1Yjg1Y1x1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIEwgJmxlOyA0KEMrMSlWIFx1Yzc0MCBYXHVjNWQwXHVjMTFjIFlcdWI4NWMgXHVhYzAwXHViMjk0IFx1YWNiZFx1Yjg1Y1x1Yzc3NFx1YWNlMCwgWD1WPHN1Yj4wPFwvc3ViPixWPHN1Yj4xPFwvc3ViPiwuLi4sVjxzdWI+TC0xPFwvc3ViPixWPHN1Yj5MPFwvc3ViPiA9IFlcdWIyOTQgWFx1YzVkMFx1YzExYyBZXHViODVjIFx1YWMwMFx1YWUzMCBcdWM3MDRcdWQ1NzQgXHVjOWMwXHViMDk4XHVhYzAwXHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWJjMjlcdWM3NTggXHViYzg4XHVkNjM4IEwrMVx1YWMxY1x1Yzc3NFx1YjJlNC4gXHVhYzAxIFx1YzgxNVx1YzgxMFx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NThcdWFlMzAgXHVjODA0XHVjNWQwIFx1YWNmNVx1YmMzMVx1Yzc0NCBcdWQ1NThcdWIwOTggXHVjZDljXHViODI1XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjM4NTMiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJMb2NrcyBhbmQga2V5cyIsImRlc2NyaXB0aW9uIjoiPHA+QSB3aXphcmQgaXMgaW4gYSBsYWJ5cmludGggd2hlcmUgdGhlcmUgYXJlIFYgcm9vbXMgYW5kIFYgLSAxIGRvb3JzIGNvbm5lY3Rpbmcgc29tZSBwYWlycyBvZiByb29tcyBpbiBib3RoIGRpcmVjdGlvbnMsIGluIHN1Y2ggYSB3YXkgdGhhdCB0aGVyZSBpcyBhbHdheXMgYSBzZXF1ZW5jZSBvZiBkb29ycyBvbmUgY2FuIHRyYXZlcnNlIHRvIGdvIGZyb20gYSByb29tIHRvIGFueSBvdGhlciByb29tLiBBZGRpdGlvbmFsbHksIHRoZXJlIGFyZSBDIGxvY2tzIGFuZCBDIGtleXMgb2YgQyBkaSBlcmVudCBjb2xvdXJzIChvbmUgb2YgZWFjaCkgaW4gc29tZSBvZiB0aGUgZG9vcnMgYW5kIHJvb21zIG9mIHRoZSBtYXplLCByZXNwZWN0aXZlbHk7IGVhY2ggZG9vciBoYXMgYXQgbW9zdCBvbmUgbG9jaywgYW5kIHRoZXJlIGlzIGF0IG1vc3Qgb25lIGtleSBwbGFjZWQgaW4gZWFjaCByb29tLiBJdCBzaG91bGQgYmUgYW4gZWFzeSBtYXR0ZXIgZm9yIHRoZSB3aXphcmQgdG8gYnlwYXNzIHRoZSBsb2NrIHN5c3RlbSwgd2VyZSBpdCBub3QgZm9yIHRoZSBmYWN0IHRoYXQgaGUgZm9yZ290IGhpcyBzcGVsbCBib29rLCB3aXRob3V0IHdoaWNoIGhpcyB3aXphcmRyeSBpcyB1dHRlcmx5IHVzZWxlc3MuIFRoZSB3aXphcmQgaXMgY3VycmVudGx5IGluIHJvb20gWCwgYW5kIGhlIHdhbnRzIHRvIGdldCBoaXMgc3BlbGwgYm9vaywgbG9jYXRlZCBpbiByb29tIFkgLCB3aXRob3V0IHRha2luZyB0b28gbG9uZy4gQXQgZXZlcnkgc3RlcCBoZSBtYXkgZ28gdG8gYW4gYWRqYWNlbnQgcm9vbSB0aHJvdWdoIG9uZSBvZiB0aGUgZG9vcnMuIE9mIGNvdXJzZSwgaWYgdGhlIGRvb3IgaXMgbG9ja2VkLCBoZSBuZWVkcyB0byBiZSBjYXJyeWluZyB0aGUga2V5IG9mIHRoZSBzYW1lIGNvbG91ciBhcyB0aGUgbG9jayAodW5sZXNzLCBvZiBjb3Vyc2UsIHRoYXQgZG9vciBoYXMgYWxyZWFkeSBiZWVuIHVubG9ja2VkKS4gVGhlIHdpemFyZCBjYW4gY2Fycnkgb25seSBvbmUga2V5IGF0IGEgdGltZSBhbmQgYWZ0ZXIgcGlja2luZyB1cCBhIGtleSBpdCBpcyBub3QgcG9zc2libGUgZm9yIGhpbSB0byBkcm9wIGl0IHNvbWV3aGVyZSBpbiB0aGUgbWF6ZSBpbiBvcmRlciB0byB0YWtlIGl0IGFnYWluIGFmdGVyd2FyZHMuIE9uY2UgYSBkb29yIGhhcyBiZWVuIHVubG9ja2VkLCB0aGUga2V5IGlzIHRocm93biBhd2F5IHNpbmNlIGl0IGlzIG5vIGxvbmdlciBhbnkgdXNlLjxcL3A+XHJcblxyXG48cD5HaXZlbiB0aGUgbWF6ZSBhbmQgdGhlIHBvc2l0aW9ucyBvZiB0aGUgQyBrZXlzIGFuZCBDIGxvY2tzLCBkZXRlcm1pbmUgaG93IHRvIHJlYWNoIFkgZnJvbSBYLCBpZiBwb3NzaWJsZS4gQW55IHBhdGggd2hvc2UgbGVuZ3RoIGRvZXMgbm90IGV4Y2VlZCA0ICZtaWRkb3Q7IChDICsgMSkgJm1pZGRvdDsgViBpcyBhY2NlcHRhYmxlLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgZWFjaCBjYXNlIGNvbnRhaW5zIGZvdXIgaW50ZWdlcnM6IHRoZSBudW1iZXIgViBvZiByb29tcyBpbiB0aGUgbWF6ZSAoMSAmbGU7IFYgJmxlOyAxIDUwMCksIHRoZSBudW1iZXIgQyBvZiBsb2NrcyAoMCAmbGU7IEMgJmx0OyBWICksIGFuZCByb29tcyBYIGFuZCBZIG51bWJlcmVkIDAsMSwgLi4uLCBWIC0gMS4gVGhlbiBjb21lcyBhIChwb3NzaWJseSBlbXB0eSkgbGluZSB3aXRoIEMgaW50ZWdlcnMgaW5kaWNhdGluZyB0aGUgbG9jYXRpb24gb2YgZWFjaCBvZiB0aGUga2V5cywgaW4gb3JkZXIgb2YgaW5jcmVhc2luZyBjb2xvdXIuIFRoZSBuZXh0IFYgLSAxIGxpbmVzIGRlc2NyaWJlIHRoZSBtYXplOiBlYWNoIGNvbnRhaW5zIHRocmVlIGludGVnZXJzIEEgQiBMLCBtZWFuaW5nIHRoYXQgdGhlcmUgaXMgYSBkb29yIGJldHdlZW4gcm9vbXMgQSBhbmQgQiB3aGljaCBjYW4gYmUgdW5sb2NrZWQgd2l0aCB0aGUga2V5IG9mIGNvbG91ciBMLCBpZiAwICZsZTsgTCAmbHQ7IEMsIGEgdmFsdWUgb2YgMSBmb3IgTCBpbmRpY2F0ZXMgdGhhdCBubyBsb2NrIGlzIG5lZWRlZC48XC9wPlxyXG5cclxuPHA+VGhlIGxhc3QgbGluZSBoYXMgViwgQywgWCwgWSA9IDAsMCwwLDAuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+VGhlcmUgaXMgb25lIGxpbmUgb2Ygb3V0cHV0IHBlciB0ZXN0IGNhc2UuIElmIHRoZXJlIGlzIG5vIHNvbHV0aW9uLCBvdXRwdXQgSW1wb3NzaWJsZS4gT3RoZXJ3aXNlIHByaW50IHRoZSBmdWxsIHBhdGggY29ycmVzcG9uZGluZyB0byB5b3VyIHNvbHV0aW9uIGluIHRoZSBmb3JtYXQgTDogVjxzdWI+MDxcL3N1Yj4gLi4uIFY8c3ViPkw8XC9zdWI+LCB3aGVyZSBMICZsZTsgNChDICsgMSlWIGlzIHRoZSBsZW5ndGggb2YgYSBwYXRoIGZyb20gWCB0byBZLCBhbmQgWCA9IFY8c3ViPjA8XC9zdWI+LCBWPHN1Yj4xPFwvc3ViPiwgLi4uLCBWPHN1Yj5MLTE8XC9zdWI+LCBWTCA9IFkgaXMgdGhlIHNlcXVlbmNlIG9mIEwgKyAxIHZlcnRpY2VzIHZpc2l0ZWQgaW4gdGhlIHJpZ2h0IG9yZGVyLiBBIHNpbmdsZSBzcGFjZSBtdXN0IHByZWNlZGUgZWFjaCB2ZXJ0ZXggaW4gdGhlIHBhdGg7IHNlZSBzYW1wbGUgb3V0cHV0IGZvciBjbGFyaSBjYXRpb24uPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=