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

문제

백범로에 있는 서강 은행의 본사는 2002년에 지어졌다. 2013년, 의장인 최준민은 은행 아트리움의 천장을 황금잎으로 재단장하기로 결심했다. (얼마 후 그는 소리소문없이 잠적해버렸다.)

새 천장은 평범하지 않아서, 아트리움의 일부가 기울어져 있었다. (그래서 아트리움은 더 커보였다) 아트리움의 크기와 기울어진 천장의 위치, 경사도는 정해지지 않았다.

준민이는 상범마법황금잎회사에서 천장과 기울어진 면을 장식할 황금잎을 얼마나 주문해야하는지 알고 싶었다. 또한 그는 비스듬한 부분이 천장이나 바닥과 닿는 것도 허가했다.

다음은 아트리움의 예제이다.

Note: 점선으로 그린 부분은 원래 박스를 나타내며, 빗금친 부분은 기울어진 부분을 표시한다.

빗금이 두번 쳐진 부분은 원래 천장 부분을 나타낸다. 벽과 바닥은 투명하다.

황금잎으로 덮을 부분은 천장과 기울어진 부분이다.

천장을 덮기 위해 얼마나 황금잎이 필요한지 계산하는 프로그램을 작성하시오.

입력

첫째 줄은 데이터 세트의 개수를 나타내는 P(1 ≤ P ≤ 1000)가 입력으로 들어온다. 각각의 데이터 세트는 한 줄로 구성되어 있으며 L, W, H, A, B, C, D가 공백으로 구분되어 들어온다. L,W,H는 가로, 세로, 높이를 뜻하며 단위는 준민이다. (모두 양수) A,B,C,D는 다음 평면의 방정식의 계수로, 평면은 기울어진 부분을 나타낸다.

Ax + By + Cz = D

0 ≤ x ≤ L, 0 ≤ y ≤ W, 0 ≤ z ≤ H

원래 박스의 한쪽 끝은 항상 (0,0,0)에 위치하며 다른 쪽은 (L,W,H)에 위치한다. 평면은 수직이 되지 않으며 (C ≥ 1.0) 항상 박스 안쪽을 지나간다.

출력

각각의 데이터 세트에 대해 한 줄씩 천장을 덮기 위해 필요한 황금잎을 제곱준민 단위(정수)를 공백으로 구분하여 출력한다. (제곱준민 단위를 올림)

예제 입력 1

3
10 12 15 -1.3 1 1.1 3.5
10 12 10 -1.3 1 1.1 11
13 9 10 -1.3 1 1.1 0

예제 출력 1

166
164
144
W3sicHJvYmxlbV9pZCI6IjI2ODMiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQ2NjlcdWFlMDggXHVjYzljXHVjN2E1IiwiZGVzY3JpcHRpb24iOiI8cD5cclxuXHRcdWJjMzFcdWJjOTRcdWI4NWNcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzExY1x1YWMxNSBcdWM3NDBcdWQ1ODlcdWM3NTggXHViY2Y4XHVjMGFjXHViMjk0IDIwMDJcdWIxNDRcdWM1ZDAgXHVjOWMwXHVjNWI0XHVjODRjXHViMmU0LiAyMDEzXHViMTQ0LCBcdWM3NThcdWM3YTVcdWM3NzggXHVjZDVjXHVjOTAwXHViYmZjXHVjNzQwIFx1Yzc0MFx1ZDU4OSBcdWM1NDRcdWQyYjhcdWI5YWNcdWM2YzBcdWM3NTggXHVjYzljXHVjN2E1XHVjNzQ0IFx1ZDY2OVx1YWUwOFx1Yzc4ZVx1YzczY1x1Yjg1YyBcdWM3YWNcdWIyZThcdWM3YTVcdWQ1NThcdWFlMzBcdWI4NWMgXHVhY2IwXHVjMmVjXHVkNTg4XHViMmU0LiAoXHVjNWJjXHViOWM4IFx1ZDZjNCBcdWFkZjhcdWIyOTQgXHVjMThjXHViOWFjXHVjMThjXHViYjM4XHVjNWM2XHVjNzc0IFx1YzdhMFx1YzgwMVx1ZDU3NFx1YmM4NFx1YjgzOFx1YjJlNC4pPFwvcD5cclxuXHJcbjxwPlxyXG5cdFx1YzBjOCBcdWNjOWNcdWM3YTVcdWM3NDAgXHVkM2M5XHViYzk0XHVkNTU4XHVjOWMwIFx1YzU0YVx1YzU0NFx1YzExYywgXHVjNTQ0XHVkMmI4XHViOWFjXHVjNmMwXHVjNzU4IFx1Yzc3Y1x1YmQ4MFx1YWMwMCBcdWFlMzBcdWM2YjhcdWM1YjRcdWM4MzggXHVjNzg4XHVjNWM4XHViMmU0LiAoXHVhZGY4XHViNzk4XHVjMTFjIFx1YzU0NFx1ZDJiOFx1YjlhY1x1YzZjMFx1Yzc0MCBcdWIzNTQgXHVjZWU0XHViY2Y0XHVjNjAwXHViMmU0KSBcdWM1NDRcdWQyYjhcdWI5YWNcdWM2YzBcdWM3NTggXHVkMDZjXHVhZTMwXHVjNjQwIFx1YWUzMFx1YzZiOFx1YzViNFx1YzljNCBcdWNjOWNcdWM3YTVcdWM3NTggXHVjNzA0XHVjZTU4LCBcdWFjYmRcdWMwYWNcdWIzYzRcdWIyOTQgXHVjODE1XHVkNTc0XHVjOWMwXHVjOWMwIFx1YzU0YVx1YzU1OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHJcblx0XHVjOTAwXHViYmZjXHVjNzc0XHViMjk0IFx1YzBjMVx1YmM5NFx1YjljOFx1YmM5NVx1ZDY2OVx1YWUwOFx1Yzc4ZVx1ZDY4Y1x1YzBhY1x1YzVkMFx1YzExYyBcdWNjOWNcdWM3YTVcdWFjZmMgXHVhZTMwXHVjNmI4XHVjNWI0XHVjOWM0IFx1YmE3NFx1Yzc0NCBcdWM3YTVcdWMyZGRcdWQ1NjAgXHVkNjY5XHVhZTA4XHVjNzhlXHVjNzQ0IFx1YzViY1x1YjljOFx1YjA5OCBcdWM4ZmNcdWJiMzhcdWQ1NzRcdWM1N2NcdWQ1NThcdWIyOTRcdWM5YzAgXHVjNTRjXHVhY2UwIFx1YzJmNlx1YzVjOFx1YjJlNC4gXHViNjEwXHVkNTVjIFx1YWRmOFx1YjI5NCBcdWJlNDRcdWMyYTRcdWI0ZWNcdWQ1NWMgXHViZDgwXHViZDg0XHVjNzc0IFx1Y2M5Y1x1YzdhNVx1Yzc3NFx1YjA5OCBcdWJjMTRcdWIyZTVcdWFjZmMgXHViMmZmXHViMjk0IFx1YWM4M1x1YjNjNCBcdWQ1YzhcdWFjMDBcdWQ1ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxyXG5cdFx1YjJlNFx1Yzc0Y1x1Yzc0MCBcdWM1NDRcdWQyYjhcdWI5YWNcdWM2YzBcdWM3NTggXHVjNjA4XHVjODFjXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cclxuXHQ8aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2NlaWwucG5nXCIgc3R5bGU9XCJ3aWR0aDogNjAzcHg7IGhlaWdodDogMjAycHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlxyXG5cdE5vdGU6IFx1YzgxMFx1YzEyMFx1YzczY1x1Yjg1YyBcdWFkZjhcdWI5YjAgXHViZDgwXHViZDg0XHVjNzQwIFx1YzZkMFx1Yjc5OCBcdWJjMTVcdWMyYTRcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViYTcwLCBcdWJlNTdcdWFlMDhcdWNlNWMgXHViZDgwXHViZDg0XHVjNzQwIFx1YWUzMFx1YzZiOFx1YzViNFx1YzljNCBcdWJkODBcdWJkODRcdWM3NDQgXHVkNDVjXHVjMmRjXHVkNTVjXHViMmU0LjxcL3A+XHJcbjxwPlxyXG5cdFx1YmU1N1x1YWUwOFx1Yzc3NCBcdWI0NTBcdWJjODggXHVjY2QwXHVjOWM0IFx1YmQ4MFx1YmQ4NFx1Yzc0MCBcdWM2ZDBcdWI3OTggXHVjYzljXHVjN2E1IFx1YmQ4MFx1YmQ4NFx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuIFx1YmNiZFx1YWNmYyBcdWJjMTRcdWIyZTVcdWM3NDAgXHVkMjJjXHViYTg1XHVkNTU4XHViMmU0LjxcL3A+XHJcbjxwPlxyXG5cdFx1ZDY2OVx1YWUwOFx1Yzc4ZVx1YzczY1x1Yjg1YyBcdWIzNmVcdWM3NDQgXHViZDgwXHViZDg0XHVjNzQwIFx1Y2M5Y1x1YzdhNVx1YWNmYyBcdWFlMzBcdWM2YjhcdWM1YjRcdWM5YzQgXHViZDgwXHViZDg0XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cclxuXHRcdWNjOWNcdWM3YTVcdWM3NDQgXHViMzZlXHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWM1YmNcdWI5YzhcdWIwOTggXHVkNjY5XHVhZTA4XHVjNzhlXHVjNzc0IFx1ZDU0NFx1YzY5NFx1ZDU1Y1x1YzljMCBcdWFjYzRcdWMwYjBcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IlxyXG48cD5cclxuXHRcdWNjYWJcdWM5ZjggXHVjOTA0XHVjNzQwIFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWMxMzhcdWQyYjhcdWM3NTggXHVhYzFjXHVjMjE4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCBQKDEgJmxlOyBQICZsZTsgMTAwMClcdWFjMDAgXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YjRlNFx1YzViNFx1YzYyOFx1YjJlNC4gXHVhYzAxXHVhYzAxXHVjNzU4IFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWMxMzhcdWQyYjhcdWIyOTQgXHVkNTVjIFx1YzkwNFx1Yjg1YyBcdWFkNmNcdWMxMzFcdWI0MThcdWM1YjQgXHVjNzg4XHVjNzNjXHViYTcwIEwsIFcsIEgsIEEsIEIsIEMsIERcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWI0ZTRcdWM1YjRcdWM2MjhcdWIyZTQuIEwsVyxIXHViMjk0IFx1YWMwMFx1Yjg1YywgXHVjMTM4XHViODVjLCBcdWIxOTJcdWM3NzRcdWI5N2MgXHViNzNiXHVkNTU4XHViYTcwIFx1YjJlOFx1YzcwNFx1YjI5NCBcdWM5MDBcdWJiZmNcdWM3NzRcdWIyZTQuIChcdWJhYThcdWI0NTAgXHVjNTkxXHVjMjE4KSBBLEIsQyxEXHViMjk0IFx1YjJlNFx1Yzc0YyBcdWQzYzlcdWJhNzRcdWM3NTggXHViYzI5XHVjODE1XHVjMmRkXHVjNzU4IFx1YWNjNFx1YzIxOFx1Yjg1YywgXHVkM2M5XHViYTc0XHVjNzQwIFx1YWUzMFx1YzZiOFx1YzViNFx1YzljNCBcdWJkODBcdWJkODRcdWM3NDQgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cclxuXHRBeCArIEJ5ICsgQ3ogPSBEPFwvcD5cclxuPHA+XHJcblx0MCAmbGU7IHggJmxlOyBMLCAwICZsZTsgeSAmbGU7IFcsIDAgJmxlOyB6ICZsZTsgSDxcL3A+XHJcblxyXG48cD5cclxuXHQ8cD5cclxuXHRcdFx1YzZkMFx1Yjc5OCBcdWJjMTVcdWMyYTRcdWM3NTggXHVkNTVjXHVjYWJkIFx1YjA1ZFx1Yzc0MCBcdWQ1NmRcdWMwYzEgKDAsMCwwKVx1YzVkMCBcdWM3MDRcdWNlNThcdWQ1NThcdWJhNzAgXHViMmU0XHViOTc4IFx1Y2FiZFx1Yzc0MCAoTCxXLEgpXHVjNWQwIFx1YzcwNFx1Y2U1OFx1ZDU1Y1x1YjJlNC4gXHVkM2M5XHViYTc0XHVjNzQwIFx1YzIxOFx1YzljMVx1Yzc3NCBcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzNjXHViYTcwIChDICZnZTsmbmJzcDsxLjApIFx1ZDU2ZFx1YzBjMSBcdWJjMTVcdWMyYTQgXHVjNTQ4XHVjYWJkXHVjNzQ0IFx1YzljMFx1YjA5OFx1YWMwNFx1YjJlNC48XC9wPlxyXG48XC9wPlxyXG5cclxuXHJcbiIsIm91dHB1dCI6IjxwPlxyXG5cdFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWIzNzBcdWM3NzRcdWQxMzAgXHVjMTM4XHVkMmI4XHVjNWQwIFx1YjMwMFx1ZDU3NCBcdWQ1NWMgXHVjOTA0XHVjNTI5IFx1Y2M5Y1x1YzdhNVx1Yzc0NCBcdWIzNmVcdWFlMzAgXHVjNzA0XHVkNTc0IFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWQ2NjlcdWFlMDhcdWM3OGVcdWM3NDQgXHVjODFjXHVhY2YxXHVjOTAwXHViYmZjIFx1YjJlOFx1YzcwNChcdWM4MTVcdWMyMTgpXHViOTdjIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWQ1NThcdWM1ZWMgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiAoXHVjODFjXHVhY2YxXHVjOTAwXHViYmZjIFx1YjJlOFx1YzcwNFx1Yjk3YyBcdWM2MmNcdWI5YmMpPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiMjY4MyIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlRoZSBHb2xkZW4gQ2VpbGluZyIsImRlc2NyaXB0aW9uIjoiPHA+VGhlIG1haW4gb2ZmaWNlIG9mIHRoZSBCYW5rIG9mIFpvcmsgd2FzIGJ1aWx0IGluIHRoZSBBcmFnYWluIFZpbGxhZ2UgKGxhdGVyIGtub3duIGFzIEZsYXRoZWFkaWEpIGluIHRoZSB5ZWFyIDcyMiBvZiB0aGUgR3JlYXQgVW5kZXJncm91bmQgRW1waXJlIChHVUUpLiBJbiA3ODggR1VFLCB0aGUgY2hhaXJtYW4sIEouIFBpZXJwb250IEZsYXRoZWFkLCBkZWNpZGVkIChzaG9ydGx5IGJlZm9yZSBoaXMgdW5leHBsYWluZWQgZGlzYXBwZWFyYW5jZSBpbiA3ODkpLCB0aGF0IGl0IHdhcyB0aW1lIHRvIGNvbXBsZXRlbHkgcmVkZXNpZ24gdGhlIGFscmVhZHkgb3JuYXRlIGJhbmsgYXRyaXVtIHdpdGggYSBjZWlsaW5nIGNvdmVyZWQgaW4gYnJpbGxpYW50IGdvbGQgbGVhZi48XC9wPlxyXG5cclxuPHA+VGhpcyBuZXcgY2VpbGluZyB3YXMgbm90IHlvdXIgb3JkaW5hcnkgY2VpbGluZy4gQWx0aG91Z2ggdGhlIGF0cml1bSBpcyBlc3NlbnRpYWxseSBhIGJpZyBib3gsIHRoZSBjZWlsaW5nIHdvdWxkIGJlIHNsYW50ZWQgKHN1cHBvc2VkbHksIG1ha2luZyB0aGUgYXRyaXVtIGxvb2sgYmlnZ2VyKS4gQXQgdGhlIHRpbWUsIHRoZSBleGFjdCBkaW1lbnNpb25zIG9mIHRoZSByZWN0YW5ndWxhciBhdHJpdW0gYW5kIHRoZSBzbG9wZSBhbmQgbG9jYXRpb24gb2YgdGhlIHNsYW50ZWQgY2VpbGluZyBoYWQgbm90IGJlZW4gZmluYWxpemVkLiBGbGF0aGVhZCB3YW50ZWQgdG8ga25vdyBob3cgbXVjaCBnb2xkIGxlYWYgaGUgd291bGQgaGF2ZSB0byBvcmRlciBmcm9tIHRoZSBGcm9ib3p6IE1hZ2ljIEdvbGQgTGVhZiBDb21wYW55IHRvIGNvdmVyIHRoZSBjZWlsaW5nIGZvciBkaWZmZXJlbnQgYXRyaXVtIGRpbWVuc2lvbnMgYW5kIGNlaWxpbmcgc2xhbnRzLiBIZSBhbHNvIHdhbnRlZCB0byBhbGxvdyB0aGUgc2xhbnRlZCBwYXJ0IHRvIHBvc3NpYmx5IGhpdCB0aGUgZmxvb3Igb2YgdGhlIGJveCBhbmRcL29yIHRoZSB0b3Agb2YgdGhlIGJveC48XC9wPlxyXG5cclxuPHA+Q29uc2lkZXIgdGhlIGZvbGxvd2luZyByb3VnaCBza2V0Y2hlcyBvZiBzb21lIHBvc3NpYmxlIGF0cml1bSBjb25maWd1cmF0aW9uczo8XC9wPlxyXG5cclxuPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJcL3VwbG9hZFwvaW1hZ2VzXC9jZWlsLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjIwMnB4OyB3aWR0aDo2MDNweFwiIFwvPjxcL3A+XHJcblxyXG48cD5Ob3RlOiBUaGUgZGFzaGVkIG91dGxpbmUgcmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgYm94LCB0aGUgaG9yaXpvbnRhbGx5IHJ1bGVkIHN1cmZhY2UgaXMgdGhlIHNsYW50ZWQgcGFydCBvZiB0aGUgY2VpbGluZyBhbmQgdGhlIGNyb3NzIGhhdGNoZWQgc3VyZmFjZSBpcyB0aGUgcGFydCBvZiB0aGUgdG9wIG9mIHRoZSBib3ggbm90IGN1dCBvZmYgYnkgdGhlIHBsYW5lLiBUaGUgd2FsbHMgYW5kIGZsb29yIG9mIHRoZSBhdHJpdW0gYXJlIHRyYW5zcGFyZW50LiBUaGUgdG90YWwgYXJlYSB0byBiZSBjb3ZlcmVkICh0aGUgY2VpbGluZykgaXMgdGhlIHNsYW50ZWQgcGFydCBwbHVzIGFueSBwYXJ0IG9mIHRoZSB0b3Agb2YgdGhlIG9yaWdpbmFsIGJveCB0aGF0IGlzIG5vdCBjdXQgb2ZmIGJ5IHRoZSBwbGFuZS48XC9wPlxyXG5cclxuPHA+WW91ciBqb2IgaXMgdG8gd3JpdGUgYSBwcm9ncmFtIHRoYXQgRmxhdGhlYWQgY291bGQgaGF2ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgYW1vdW50IGdvbGQgbGVhZiByZXF1aXJlZCB0byBjb3ZlciB0aGUgY2VpbGluZyBmb3IgYSBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24uPFwvcD5cclxuXHJcbjxwPkFzIGEgc2FkIGVwaWxvZ3VlLCB0aGUgbWFpbiBicmFuY2ggd2FzIGJyb3VnaHQgdG8gcnVpbnMgd2hlbiB0aGUgQ3Vyc2Ugb2YgTWVnYWJveiBiZWZlbGwgaXQgaW4gODgzR1VFLiBCZXR3ZWVuIHRoZSBiYXJiYXJpYW4gaW52YXNpb25zIG9mIHRoZSA4ODAmIzM5O3MgYW5kIHRoZSBjb3VudGxlc3MgbG9vdGVycyB0aGF0IGhhZCB0cmVhZCB0aGUgdW5kZXJncm91bmQgcnVpbnMgaW4gdGhlIHllYXJzIHRoYXQgZm9sbG93ZWQsIHRoZSBlbnRpcmUgYmFuayB3aXRoIGFsbCBpdHMgdmFsdWFibGVzLCBhcyB3ZWxsIGFzIGl0cyB2ZXJ5IGV4cGVuc2l2ZSBnb2xkIGxlYWYgY2VpbGluZywgaGFkIGJlZW4gcmVtb3ZlZCBvciB2YW5kYWxpemVkLiBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBvbi1saW5lIGF0OiBodHRwOlwvXC93d3cudGhlem9ya2xpYnJhcnkuY29yblwvaGlzdG9yeVwvYmFua19vZl96b3JrLmh0bWwuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBjb250YWlucyBhIHNpbmdsZSBpbnRlZ2VyIFAsICgxICZsZTsgUCAmbGU7IDEwMDApLCB3aGljaCBpcyB0aGUgbnVtYmVyIG9mIGRhdGEgc2V0cyB0aGF0IGZvbGxvdy4gRWFjaCBkYXRhIHNldCBpcyBhIHNpbmdsZSBsaW5lIHRoYXQgY29udGFpbnMgdGhlIGRhdGEgc2V0IG51bWJlciwgTiwgZm9sbG93ZWQgYnkgYSBzcGFjZSwgZm9sbG93ZWQgYnkgc2V2ZW4gc3BhY2Ugc2VwYXJhdGVkIGRvdWJsZSBwcmVjaXNpb24gZmxvYXRpbmcgcG9pbnQgdmFsdWVzLCBMLCBXLCBILCBBLCBCLCBDIGFuZCBELiBUaGUgdmFsdWVzIEwsIFcgYW5kIEggc3BlY2lmeSB0aGUgbGVuZ3RoLCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBhdHJpdW0gaW4gRmxhdGhlYWQgVW5pdHMgKEZVJiMzOTtzKSwgcmVzcGVjdGl2ZWx5LCBhbmQgYXJlIGFsd2F5cyBwb3NpdGl2ZSB2YWx1ZXMuIFRoZSB2YWx1ZXMgQSwgQiwgQyBhbmQgRCBzcGVjaWZ5IHRoZSBjb2VmZmljaWVudHMgb2YgdGhlIHBsYW5lIGVxdWF0aW9uIGZvciB0aGUgc2xhbnRlZCBwYXJ0IG9mIHRoZSBjZWlsaW5nOjxcL3A+XHJcblxyXG48cHJlPlxyXG5BeCArIEJ5ICsgQ3ogPSBEPFwvcHJlPlxyXG5cclxuPHA+d2hlcmU6IDAgJmxlOyB4ICZsZTsgTCwgMCAmbGU7IHkgJmxlOyBXLCAwICZsZTsgeiAmbGU7IEguPFwvcD5cclxuXHJcbjxwPk9uZSBjb3JuZXIgb2YgdGhlIG9yaWdpbmFsIGJveCBpcyBhbHdheXMgYXQgdGhlIG9yaWdpbiAoMCwgMCwgMCkgYW5kIHRoZSBvdGhlciBhdCAoTCwgVywgSCkuIFRoZSBwbGFuZSB3aWxsIG5ldmVyIGJlIHZlcnRpY2FsIChDIHdpbGwgYmUgJmdlOyAxLjApIGFuZCB0aGUgcGxhbmUgd2lsbCBhbHdheXMgcGFzcyB0aHJvdWdoIHRoZSBpbnRlcmlvciBvZiB0aGUgYm94ICh0aGVyZSB3aWxsIGJlIHBvaW50cyAoeCwgeSwgeikgaW4gdGhlIGJveCBhbmQgc3RyaWN0bHkgYWJvdmUgdGhlIHBsYW5lICggQXggKyBCWSArIEN6ICZndDsgRCkgYW5kIG90aGVycyBzdHJpY3RseSBiZWxvdyB0aGUgcGxhbmUgKCBBeCArIEJ5ICsgQ3ogJmx0OyBEKS48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5Gb3IgZWFjaCBkYXRhIHNldCB0aGVyZSBpcyBvbmUgbGluZSBvZiBvdXRwdXQuIEl0IGNvbnRhaW5zIHRoZSBkYXRhIHNldCBudW1iZXIgKE4pIGZvbGxvd2VkIGJ5IGEgc2luZ2xlIHNwYWNlLCBmb2xsb3dlZCBieSBhbiBpbnRlZ2VyIHZhbHVlIHRoYXQgaXMgdGhlIG51bWJlciBvZiBzcXVhcmUgRlUmIzM5O3MgcmVxdWlyZWQgdG8gY292ZXIgdGhlIGNlaWxpbmcgaW4gZ29sZCBsZWFmIChyb3VuZGVkIHVwIHRvIHRoZSBuZXh0IHNxdWFyZSBGVSkuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVjNjAxXHVjNWI0In1d