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

문제

EDSAC (ElectronicDelay Storage Automatic Calculator)은 프로그램을 주기억장치에 두고 실행할 수 있는 최초의 디지털 컴퓨터이다. EDSAC에는 가산기를 사용하는 명령어가 내장되어 있으며, 17비트 word 타입과 35비트 double word 타입을 기반으로 계산한다. 또한 입출력을 위해 5비트 텔레타이프 코드를 사용한다.

EDSAC 프로그램은 매우 간단한 어셈블리어로 만들 수 있다. 이 어셈블리어의 각 명령어는 문자 하나와 음이 아닌 십진수 주소값, 그리고 F나 D로 이뤄져 있다. F는 full word타입, D는 double word타입을 의미한다. 예를 들어 명령어 "A 128 F"는 가산기에 메모리 상에서 128 주소에 있는 full word 타입 변수값을 더하라는 의미이다. 이 연산은 이진수로 11100000100000000으로 표현된다. 앞의 11100은 "add"를 의미하는 5비트의 opcode이고, 다음 11비트 00010000000(=128)은 피연산자를 나타내며, 마지막의 0은 full word타입을 연산한다는 것을 의미한다. (double word 타입이라면 마지막 자리는 1이 된다.)

EDSAC 연산은 부동소수점 2의 보수 연산이지만, 단순한 정수 사칙연산이 아닌 현대 컴퓨터와 비슷한 방법으로 수를 연산한다. EDSAC의 연산 장치는 소수점이 가장 높은 자릿수(가장 왼쪽에 있는 자릿수)와 그 다음 자릿수(바로 오른쪽에 있는 자릿수) 사이에 있다고 가정한다. 따라서 17비트 word 타입 x의 표현 범위는 -1.0 ≤ x < 1.0이다.

이진수 표현
-1.0 10000000000000000
1/2 01000000000000000
3/4 01100000000000000
-1/2 11000000000000000

따라서 가능한 가장 큰 양의 실수는 01111111111111111 = 0.9999847412109375이고, 가장 작은 양의 실수는 00000000000000001 = 2^(-16) = 0.0000152587890625이다.

우연의 일치인지 의도적인 설계인지, opcode add 연산과 텔레타이프 코드 'A'는 11100으로 일치하며, subtract 연산과 'S' 역시 01100으로 일치한다. 또한 텔레타이프 코드로 표현할 수 있는 알파벳은 "PQWERTYUIOJ#SZK*[email protected]!HNM&LXGABCV"로 모두 32자인데, 5비트 opcode로 표현할 수 있는 수의 갯수도 32개이다. (텔레타이프 코드로 P는 00000, Q는 00001로 위 순서대로 증가하여 V는 11111으로 표현된다.) 이 특성 덕분에 EDSAC 어셈블러를 만들기가 쉬워졌다.

그러나 EDSAC 어셈블러에는 특별히 데이터 값을 표현하는 특별한 코드가 없다. 그래서 한 EDSAC 프로그래머는 일반 명령어를 데이터 값 표현에 쓰기로 했다. 예를 들어 상수 3/4(01100000000000000)는 “S 0 F로 표현되며, 1/3(약 00101010101010101)은 “T 682 D”로 표현된다. (T=00101, 682=010101010101)

EDSAC 명령어가 주어졌을 때 이를 해당하는 십진수로 출력하는 프로그램을 작성하시오.

입력

입력의 첫 줄에 테스트 케이스의 수 P(1 ≤ P ≤ 1000)가 주어진다. 각 테스트 케이스는 "c d s" 형태의 EDSAC 명령어가 한 줄에 주어진다. c는 EDSAC 알파벳 문자 한 개이며, d는 부호 없는 십진수(0 <= d < 2^11), s는 'D' 또는 'F'이다.

출력

각 테스트 케이스마다 입력으로 주어진 EDSAC 명령어에 해당하는 하나의 십진수를 sb.ddd...의 형태로 출력한다. s는 마이너스 부호이며 음수일 경우에만 쓴다. b는 1 또는 0이며, d는 십진수 자리(0-9)이다. 소수점 아래 자리는 최소 1자리 이상, 최대 16자리 이하이다. 끝의 필요없는 0(Trailing zeros)은 출력하지 않는다.

예제 입력 1

13
P 0 F
I 0 F
& 0 F
? 0 F
Q 1228 D
P 0 D
V 2047 D
* 2047 D
? 0 D
P 256 F
V 1536 F
T 682 D
T 54 F

예제 출력 1

0.0
0.5
-0.5
-1.0
0.0999908447265625
0.0000152587890625
-0.0000152587890625
0.9999847412109375
-0.9999847412109375
0.0078125
-0.015625
0.3333282470703125
0.31414794921875
W3sicHJvYmxlbV9pZCI6IjI2NzgiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM1ZDBcdWI0ZGNcdWMwYWQgXHViMzcwXHVjNzc0XHVkMTMwIFx1YjUxNFx1Y2Y1NFx1YjUyOVx1ZDU1OFx1YWUzMCIsImRlc2NyaXB0aW9uIjoiPHA+RURTQUMgKEVsZWN0cm9uaWNEZWxheSBTdG9yYWdlIEF1dG9tYXRpYyBDYWxjdWxhdG9yKVx1Yzc0MCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjOGZjXHVhZTMwXHVjNWI1XHVjN2E1XHVjZTU4XHVjNWQwIFx1YjQ1MFx1YWNlMCBcdWMyZTRcdWQ1ODlcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWNkNWNcdWNkMDhcdWM3NTggXHViNTE0XHVjOWMwXHVkMTM4IFx1Y2VmNFx1ZDRlOFx1ZDEzMFx1Yzc3NFx1YjJlNC4gRURTQUNcdWM1ZDBcdWIyOTQgXHVhYzAwXHVjMGIwXHVhZTMwXHViOTdjIFx1YzBhY1x1YzZhOVx1ZDU1OFx1YjI5NCBcdWJhODVcdWI4MzlcdWM1YjRcdWFjMDAgXHViMGI0XHVjN2E1XHViNDE4XHVjNWI0IFx1Yzc4OFx1YzczY1x1YmE3MCwgMTdcdWJlNDRcdWQyYjggd29yZCBcdWQwYzBcdWM3ODVcdWFjZmMgMzVcdWJlNDRcdWQyYjggZG91YmxlIHdvcmQgXHVkMGMwXHVjNzg1XHVjNzQ0IFx1YWUzMFx1YmMxOFx1YzczY1x1Yjg1YyBcdWFjYzRcdWMwYjBcdWQ1NWNcdWIyZTQuIFx1YjYxMFx1ZDU1YyBcdWM3ODVcdWNkOWNcdWI4MjVcdWM3NDQgXHVjNzA0XHVkNTc0IDVcdWJlNDRcdWQyYjggXHVkMTU0XHViODA4XHVkMGMwXHVjNzc0XHVkNTA0IFx1Y2Y1NFx1YjRkY1x1Yjk3YyBcdWMwYWNcdWM2YTlcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPkVEU0FDIFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0MCBcdWI5ZTRcdWM2YjAgXHVhYzA0XHViMmU4XHVkNTVjIFx1YzViNFx1YzE0OFx1YmUxNFx1YjlhY1x1YzViNFx1Yjg1YyBcdWI5Y2NcdWI0ZTQgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXHVjNzc0IFx1YzViNFx1YzE0OFx1YmUxNFx1YjlhY1x1YzViNFx1Yzc1OCBcdWFjMDEgXHViYTg1XHViODM5XHVjNWI0XHViMjk0IFx1YmIzOFx1Yzc5MCBcdWQ1NThcdWIwOThcdWM2NDAgXHVjNzRjXHVjNzc0IFx1YzU0NFx1YjJjYyBcdWMyZWRcdWM5YzRcdWMyMTggXHVjOGZjXHVjMThjXHVhYzEyLCBcdWFkZjhcdWI5YWNcdWFjZTAgRlx1YjA5OCBEXHViODVjIFx1Yzc3NFx1YjkwNFx1YzgzOCBcdWM3ODhcdWIyZTQuIEZcdWIyOTQgZnVsbCB3b3JkXHVkMGMwXHVjNzg1LCBEXHViMjk0IGRvdWJsZSB3b3JkXHVkMGMwXHVjNzg1XHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCBcdWJhODVcdWI4MzlcdWM1YjQgJnF1b3Q7QSAxMjggRiZxdW90O1x1YjI5NCBcdWFjMDBcdWMwYjBcdWFlMzBcdWM1ZDAgXHViYTU0XHViYWE4XHViOWFjIFx1YzBjMVx1YzVkMFx1YzExYyAxMjggXHVjOGZjXHVjMThjXHVjNWQwIFx1Yzc4OFx1YjI5NCBmdWxsIHdvcmQgXHVkMGMwXHVjNzg1IFx1YmNjMFx1YzIxOFx1YWMxMlx1Yzc0NCBcdWIzNTRcdWQ1NThcdWI3N2NcdWIyOTQgXHVjNzU4XHViYmY4XHVjNzc0XHViMmU0LiBcdWM3NzQgXHVjNWYwXHVjMGIwXHVjNzQwIFx1Yzc3NFx1YzljNFx1YzIxOFx1Yjg1YyAxMTEwMDAwMDEwMDAwMDAwMFx1YzczY1x1Yjg1YyBcdWQ0NWNcdWQ2MDRcdWI0MWNcdWIyZTQuIFx1YzU1ZVx1Yzc1OCAxMTEwMFx1Yzc0MCAmcXVvdDthZGQmcXVvdDtcdWI5N2MgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IDVcdWJlNDRcdWQyYjhcdWM3NTggb3Bjb2RlXHVjNzc0XHVhY2UwLCBcdWIyZTRcdWM3NGMgMTFcdWJlNDRcdWQyYjggMDAwMTAwMDAwMDAoPTEyOClcdWM3NDAgXHVkNTNjXHVjNWYwXHVjMGIwXHVjNzkwXHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YmE3MCwgXHViOWM4XHVjOWMwXHViOWM5XHVjNzU4IDBcdWM3NDAgZnVsbCB3b3JkXHVkMGMwXHVjNzg1XHVjNzQ0IFx1YzVmMFx1YzBiMFx1ZDU1Y1x1YjJlNFx1YjI5NCBcdWFjODNcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LiAoZG91YmxlIHdvcmQgXHVkMGMwXHVjNzg1XHVjNzc0XHViNzdjXHViYTc0IFx1YjljOFx1YzljMFx1YjljOSBcdWM3OTBcdWI5YWNcdWIyOTQgMVx1Yzc3NCBcdWI0MWNcdWIyZTQuKTxcL3A+XHJcblxyXG48cD5FRFNBQyBcdWM1ZjBcdWMwYjBcdWM3NDAgXHViZDgwXHViM2Q5XHVjMThjXHVjMjE4XHVjODEwIDJcdWM3NTggXHViY2Y0XHVjMjE4IFx1YzVmMFx1YzBiMFx1Yzc3NFx1YzljMFx1YjljYywgXHViMmU4XHVjMjFjXHVkNTVjIFx1YzgxNVx1YzIxOCBcdWMwYWNcdWNlNTlcdWM1ZjBcdWMwYjBcdWM3NzQgXHVjNTQ0XHViMmNjIFx1ZDYwNFx1YjMwMCBcdWNlZjRcdWQ0ZThcdWQxMzBcdWM2NDAgXHViZTQ0XHVjMmI3XHVkNTVjIFx1YmMyOVx1YmM5NVx1YzczY1x1Yjg1YyBcdWMyMThcdWI5N2MgXHVjNWYwXHVjMGIwXHVkNTVjXHViMmU0LiBFRFNBQ1x1Yzc1OCBcdWM1ZjBcdWMwYjAgXHVjN2E1XHVjZTU4XHViMjk0IFx1YzE4Y1x1YzIxOFx1YzgxMFx1Yzc3NCBcdWFjMDBcdWM3YTUgXHViMTkyXHVjNzQwIFx1Yzc5MFx1YjliZlx1YzIxOChcdWFjMDBcdWM3YTUgXHVjNjdjXHVjYWJkXHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWM3OTBcdWI5YmZcdWMyMTgpXHVjNjQwIFx1YWRmOCBcdWIyZTRcdWM3NGMgXHVjNzkwXHViOWJmXHVjMjE4KFx1YmMxNFx1Yjg1YyBcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDAgXHVjNzg4XHViMjk0IFx1Yzc5MFx1YjliZlx1YzIxOCkgXHVjMGFjXHVjNzc0XHVjNWQwIFx1Yzc4OFx1YjJlNFx1YWNlMCBcdWFjMDBcdWM4MTVcdWQ1NWNcdWIyZTQuIFx1YjUzMFx1Yjc3Y1x1YzExYyAxN1x1YmU0NFx1ZDJiOCB3b3JkIFx1ZDBjMFx1Yzc4NSB4XHVjNzU4IFx1ZDQ1Y1x1ZDYwNCBcdWJjOTRcdWM3MDRcdWIyOTQgLTEuMCAmbGU7IHggJmx0OyAxLjBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmVkXCIgc3R5bGU9XCJ3aWR0aDozMCVcIj5cclxuXHQ8dGhlYWQ+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0aD5cdWFjMTI8XC90aD5cclxuXHRcdFx0PHRoPlx1Yzc3NFx1YzljNFx1YzIxOCBcdWQ0NWNcdWQ2MDQ8XC90aD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3RoZWFkPlxyXG5cdDx0Ym9keT5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPi0xLjA8XC90ZD5cclxuXHRcdFx0PHRkPjEwMDAwMDAwMDAwMDAwMDAwPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjFcLzI8XC90ZD5cclxuXHRcdFx0PHRkPjAxMDAwMDAwMDAwMDAwMDAwPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjNcLzQ8XC90ZD5cclxuXHRcdFx0PHRkPjAxMTAwMDAwMDAwMDAwMDAwPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPi0xXC8yPFwvdGQ+XHJcblx0XHRcdDx0ZD4xMTAwMDAwMDAwMDAwMDAwMDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+XHViNTMwXHViNzdjXHVjMTFjIFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWFjMDBcdWM3YTUgXHVkMDcwIFx1YzU5MVx1Yzc1OCBcdWMyZTRcdWMyMThcdWIyOTQgMDExMTExMTExMTExMTExMTEgPSAwLjk5OTk4NDc0MTIxMDkzNzVcdWM3NzRcdWFjZTAsIFx1YWMwMFx1YzdhNSBcdWM3OTFcdWM3NDAgXHVjNTkxXHVjNzU4IFx1YzJlNFx1YzIxOFx1YjI5NCAwMDAwMDAwMDAwMDAwMDAwMSA9IDJeKC0xNikgPSAwLjAwMDAxNTI1ODc4OTA2MjVcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzZiMFx1YzVmMFx1Yzc1OCBcdWM3N2NcdWNlNThcdWM3NzhcdWM5YzAgXHVjNzU4XHViM2M0XHVjODAxXHVjNzc4IFx1YzEyNFx1YWNjNFx1Yzc3OFx1YzljMCwgb3Bjb2RlIGFkZCBcdWM1ZjBcdWMwYjBcdWFjZmMgXHVkMTU0XHViODA4XHVkMGMwXHVjNzc0XHVkNTA0IFx1Y2Y1NFx1YjRkYyAmIzM5O0EmIzM5O1x1YjI5NCAxMTEwMFx1YzczY1x1Yjg1YyBcdWM3N2NcdWNlNThcdWQ1NThcdWJhNzAsIHN1YnRyYWN0IFx1YzVmMFx1YzBiMFx1YWNmYyAmIzM5O1MmIzM5OyBcdWM1ZWRcdWMyZGMgMDExMDBcdWM3M2NcdWI4NWMgXHVjNzdjXHVjZTU4XHVkNTVjXHViMmU0LiBcdWI2MTBcdWQ1NWMgXHVkMTU0XHViODA4XHVkMGMwXHVjNzc0XHVkNTA0IFx1Y2Y1NFx1YjRkY1x1Yjg1YyBcdWQ0NWNcdWQ2MDRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWM1NGNcdWQzMGNcdWJjYjNcdWM3NDAgJnF1b3Q7UFFXRVJUWVVJT0ojU1pLKj9GQEQhSE5NJmFtcDtMWEdBQkNWJnF1b3Q7XHViODVjIFx1YmFhOFx1YjQ1MCAzMlx1Yzc5MFx1Yzc3OFx1YjM3MCwgNVx1YmU0NFx1ZDJiOCBvcGNvZGVcdWI4NWMgXHVkNDVjXHVkNjA0XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjMjE4XHVjNzU4IFx1YWMyZlx1YzIxOFx1YjNjNCAzMlx1YWMxY1x1Yzc3NFx1YjJlNC4gKFx1ZDE1NFx1YjgwOFx1ZDBjMFx1Yzc3NFx1ZDUwNCBcdWNmNTRcdWI0ZGNcdWI4NWMgUFx1YjI5NCAwMDAwMCwgUVx1YjI5NCAwMDAwMVx1Yjg1YyBcdWM3MDQgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1Yzk5ZFx1YWMwMFx1ZDU1OFx1YzVlYyBWXHViMjk0IDExMTExXHVjNzNjXHViODVjIFx1ZDQ1Y1x1ZDYwNFx1YjQxY1x1YjJlNC4pIFx1Yzc3NCBcdWQyYjlcdWMxMzEgXHViMzU1XHViZDg0XHVjNWQwIEVEU0FDIFx1YzViNFx1YzE0OFx1YmUxNFx1YjdlY1x1Yjk3YyBcdWI5Y2NcdWI0ZTRcdWFlMzBcdWFjMDAgXHVjMjZjXHVjNmNjXHVjODRjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFkZjhcdWI3ZWNcdWIwOTggRURTQUMgXHVjNWI0XHVjMTQ4XHViZTE0XHViN2VjXHVjNWQwXHViMjk0IFx1ZDJiOVx1YmNjNFx1ZDc4OCBcdWIzNzBcdWM3NzRcdWQxMzAgXHVhYzEyXHVjNzQ0IFx1ZDQ1Y1x1ZDYwNFx1ZDU1OFx1YjI5NCBcdWQyYjlcdWJjYzRcdWQ1NWMgXHVjZjU0XHViNGRjXHVhYzAwIFx1YzVjNlx1YjJlNC4gXHVhZGY4XHViNzk4XHVjMTFjIFx1ZDU1YyBFRFNBQyBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3OThcdWJhMzhcdWIyOTQgXHVjNzdjXHViYzE4IFx1YmE4NVx1YjgzOVx1YzViNFx1Yjk3YyBcdWIzNzBcdWM3NzRcdWQxMzAgXHVhYzEyIFx1ZDQ1Y1x1ZDYwNFx1YzVkMCBcdWM0ZjBcdWFlMzBcdWI4NWMgXHVkNTg4XHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0IFx1YzBjMVx1YzIxOCAzXC80KDAxMTAwMDAwMDAwMDAwMDAwKVx1YjI5NCAmbGRxdW87UyAwIEZcdWI4NWMgXHVkNDVjXHVkNjA0XHViNDE4XHViYTcwLCAxXC8zKFx1YzU3ZCAwMDEwMTAxMDEwMTAxMDEwMSlcdWM3NDAgJmxkcXVvO1QgNjgyIEQmcmRxdW87XHViODVjIFx1ZDQ1Y1x1ZDYwNFx1YjQxY1x1YjJlNC4gKFQ9MDAxMDEsIDY4Mj0wMTAxMDEwMTAxMDEpPFwvcD5cclxuXHJcbjxwPkVEU0FDIFx1YmE4NVx1YjgzOVx1YzViNFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjIFx1Yzc3NFx1Yjk3YyBcdWQ1NzRcdWIyZjlcdWQ1NThcdWIyOTQgXHVjMmVkXHVjOWM0XHVjMjE4XHViODVjIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjNzg1XHViODI1XHVjNzU4IFx1Y2NhYiBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWMyMTggUCgxICZsZTsgUCAmbGU7IDEwMDApXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWIyOTQgJnF1b3Q7YyBkIHMmcXVvdDsgXHVkNjE1XHVkMGRjXHVjNzU4IEVEU0FDIFx1YmE4NVx1YjgzOVx1YzViNFx1YWMwMCBcdWQ1NWMgXHVjOTA0XHVjNWQwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4mbmJzcDtjXHViMjk0Jm5ic3A7RURTQUMgXHVjNTRjXHVkMzBjXHViY2IzJm5ic3A7XHViYjM4XHVjNzkwIFx1ZDU1YyBcdWFjMWNcdWM3NzRcdWJhNzAsIGRcdWIyOTQgXHViZDgwXHVkNjM4IFx1YzVjNlx1YjI5NCBcdWMyZWRcdWM5YzRcdWMyMTgoMCAmbHQ7PSBkICZsdDsgMl4xMSksIHNcdWIyOTQgJiMzOTtEJiMzOTsgXHViNjEwXHViMjk0ICYjMzk7RiYjMzk7XHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViOWM4XHViMmU0IFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzQgRURTQUMgXHViYTg1XHViODM5XHVjNWI0XHVjNWQwIFx1ZDU3NFx1YjJmOVx1ZDU1OFx1YjI5NCZuYnNwO1x1ZDU1OFx1YjA5OFx1Yzc1OCBcdWMyZWRcdWM5YzRcdWMyMThcdWI5N2Mgc2IuZGRkLi4uXHVjNzU4IFx1ZDYxNVx1ZDBkY1x1Yjg1YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIHNcdWIyOTQgXHViOWM4XHVjNzc0XHViMTA4XHVjMmE0IFx1YmQ4MFx1ZDYzOFx1Yzc3NFx1YmE3MCBcdWM3NGNcdWMyMThcdWM3N2MgXHVhY2JkXHVjNmIwXHVjNWQwXHViOWNjIFx1YzRmNFx1YjJlNC4gYlx1YjI5NCAxIFx1YjYxMFx1YjI5NCAwXHVjNzc0XHViYTcwLCBkXHViMjk0IFx1YzJlZFx1YzljNFx1YzIxOCBcdWM3OTBcdWI5YWMoMC05KVx1Yzc3NFx1YjJlNC4gXHVjMThjXHVjMjE4XHVjODEwIFx1YzU0NFx1Yjc5OCBcdWM3OTBcdWI5YWNcdWIyOTQgXHVjZDVjXHVjMThjIDFcdWM3OTBcdWI5YWMgXHVjNzc0XHVjMGMxLCBcdWNkNWNcdWIzMDAgMTZcdWM3OTBcdWI5YWMgXHVjNzc0XHVkNTU4XHVjNzc0XHViMmU0LiBcdWIwNWRcdWM3NTggXHVkNTQ0XHVjNjk0XHVjNWM2XHViMjk0IDAoVHJhaWxpbmcgemVyb3MpXHVjNzQwIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiMjY3OCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkVEU0FDIFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWI1MTRcdWNmNTRcdWI1MjlcdWQ1NThcdWFlMzAiLCJkZXNjcmlwdGlvbiI6IjxwPlRoZSB3b3JsZCYjMzk7cyBmaXJzdCBmdWxsLXNjYWxlLCBzdG9yZWQtcHJvZ3JhbSwgZWxlY3Ryb25pYywgZGlnaXRhbCBjb21wdXRlciB3YXMgdGhlIEVEU0FDIChFbGVjdHJvbmljRGVsYXkgU3RvcmFnZSBBdXRvbWF0aWMgQ2FsY3VsYXRvcikuIFRoZSBFRFNBQyBoYWQgYW4gYWNjdW11bGF0b3ItYmFzZWQgaW5zdHJ1Y3Rpb24gc2V0LG9wZXJhdGluZyBvbiAxNy1iaXQgd29yZHMgKGFuZCAzNS1iaXQgZG91YmxlIHdvcmRzKSwgYW5kIHVzZWQgYSA1LWJpdCB0ZWxldHlwZXdyaXRlciBjb2RlIGZvciBpbnB1dGFuZCBvdXRwdXQuPFwvcD5cclxuXHJcbjxwPlRoZSBFRFNBQyB3YXMgcHJvZ3JhbW1lZCB1c2luZyBhIHZlcnkgc2ltcGxlIGFzc2VtYmx5IGxhbmd1YWdlOiBhIHNpbmdsZSBsZXR0ZXIgb3Bjb2RlZm9sbG93ZWQgYnkgYW4gdW5zaWduZWQgZGVjaW1hbCBhZGRyZXNzLCBmb2xsb3dlZCBieSB0aGUgdGhlIGxldHRlciAmIzM5O0YmIzM5OyAoZm9yIGZ1bGwgd29yZCkgb3IgJiMzOTtEJiMzOTsgKGZvciBkb3VibGUgd29yZCkuIEZvciBleGFtcGxlLCB0aGUgaW5zdHJ1Y3Rpb24gJnF1b3Q7QSAxMjggRiZxdW90OyB3b3VsZCBtZWFuICZxdW90O2FkZCB0aGUgZnVsbCB3b3JkIGF0IGxvY2F0aW9uIDEyOCB0byB0aGUgYWNjdW11bGF0b3ImcXVvdDssIGFuZCB3b3VsZCBiZSBhc3NlbWJsZWQgaW50byB0aGUgMTctYml0IGJpbmFyeSB2YWx1ZSwgMTExMDAwMDAxMDAwMDAwMDAsY29uc2lzdGluZyBvZiBhIDUtYml0IG9wY29kZSAoMTExMDAgPSAmcXVvdDthZGQmcXVvdDspLCBhbiAxMS1iaXQgb3BlcmFuZCAoMDAwMTAwMDAwMDAgPSAxMjgpLCBhbmQgYSBzaW5nbGUgMCBiaXQgZGVub3RpbmcgYSBmdWxsIHdvcmQgb3BlcmF0aW9uIChhIDEgYml0IHdvdWxkIGluZGljYXRlIGEgZG91YmxlIHdvcmQgb3BlcmF0aW9uKS48XC9wPlxyXG5cclxuPHA+QWx0aG91Z2ggYXJpdGhtZXRpYyBvbiB0aGUgRURTQUMgd2FzIGZpeGVkIHBvaW50IHR3byYjMzk7cyBjb21wbGVtZW50IGJpbmFyeSwgaXQgd2FzIG5vdCBtZXJlIGludGVnZXIgYXJpdGhtZXRpYyAoYXMgaXMgY29tbW9uIHdpdGggbW9kZXJuIG1hY2hpbmVzKS4gVGhlIEVEU0FDIGhhcmR3YXJlIGFzc3VtZWQgYSBiaW5hcnkgcG9pbnQgYmV0d2VlbiB0aGUgbGVmdG1vc3QgYml0IGFuZCBpdHMgaW1tZWRpYXRlIHN1Y2Nlc3Nvci4gVGh1cyB0aGUgaGFyZHdhcmUgY291bGQgaGFuZGxlIG9ubHkgdmFsdWVzIGluIHRoZSByYW5nZSAtMS4wICZsdDs9IHggJmx0OyAxLjAuIEZvciBleGFtcGxlOjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6MzI5cHhcIj5cclxuXHQ8dGhlYWQ+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0aD5WYWx1ZTxcL3RoPlxyXG5cdFx0XHQ8dGg+QmluYXJ5IFJlcHJlc2VudGF0aW9uPFwvdGg+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90aGVhZD5cclxuXHQ8dGJvZHk+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4tMS4wPFwvdGQ+XHJcblx0XHRcdDx0ZD4xMDAwMDAwMDAwMDAwMDAwMDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xXC8yPFwvdGQ+XHJcblx0XHRcdDx0ZD4wMTAwMDAwMDAwMDAwMDAwMDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4zXC80PFwvdGQ+XHJcblx0XHRcdDx0ZD4wMTEwMDAwMDAwMDAwMDAwMDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4tMVwvMjxcL3RkPlxyXG5cdFx0XHQ8dGQ+MTEwMDAwMDAwMDAwMDAwMDA8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3Rib2R5PlxyXG48XC90YWJsZT5cclxuXHJcbjxwPkFzIHlvdSBjYW4gc2VlLCB0aGUgbGFyZ2VzdCBwb3NzaWJsZSBwb3NpdGl2ZSB2YWx1ZSB3YXM6PFwvcD5cclxuXHJcbjxwPjAxMTExMTExMTExMTExMTExID0gMC45OTk5ODQ3NDEyMTA5Mzc1PFwvcD5cclxuXHJcbjxwPmFuZCB0aGUgc21hbGxlc3QgcG9zc2libGUgcG9zaXRpdmUgdmFsdWUgd2FzOjxcL3A+XHJcblxyXG48cD4wMDAwMDAwMDAwMDAwMDAwMSA9IDI8c3VwPi0xNjxcL3N1cD4mbmJzcDs9IDAuMDAwMDE1MjU4Nzg5MDYyNTxcL3A+XHJcblxyXG48cD4oVGhpcyBhbHNvIGhhcHBlbnMgdG8gYmUgdGhlIGluY3JlbWVudCBiZXR3ZWVuIHN1Y2Nlc3NpdmUgdmFsdWVzIG9uIHRoZSBFRFNBQykuPFwvcD5cclxuXHJcbjxwPkJ5IGEgY3VyaW91cyBjb2luY2lkZW5jZSAob3IgYW4gZWxlZ2FudCBkZXNpZ24gZGVjaXNpb24pLCB0aGUgb3Bjb2RlIGZvciB0aGUgYWRkIG9wZXJhdGlvbiAoMTExMDApIHdhcyB0aGUgc2FtZSBhcyB0aGUgdGVsZXByaW50ZXIgY29kZSBmb3IgdGhlIGxldHRlciAmIzM5O0EmIzM5Oy4gVGhlIG9wY29kZSBmb3Igc3VidHJhY3Qgd2FzIHRoZSBzYW1lIGFzIHRoZSB0ZWxlcHJpbnRlciBjb2RlIGZvciAmIzM5O1MmIzM5OyAoMDExMDApLCBhbmQgc28gb24uIFRoaXMgc2ltcGxpZmllZCB0aGUgcHJvZ3JhbW1pbmcgZm9yIHRoZSBhc3NlbWJsZXIgKHdoaWNoLCBpbmNpZGVudGFsbHksIHdhcyBhIG1lcmUgMzEgaW5zdHJ1Y3Rpb25zIGxvbmcpLiBUaGUgRURTQUMgdGVsZXByaW50ZXIgYWxwaGFiZXQgd2FzICZxdW90O1BRV0VSVFlVSU9KI1NaSyo/RkBEIUhOTSZhbXA7TFhHQUJDViZxdW90OyAod2l0aCAmIzM5O1AmIzM5OyA9IDAwMDAwLCAmIzM5O1EmIzM5OyA9IDAwMDAxLCBhbmQgc28gb24sIHVwIHRvICYjMzk7ViYjMzk7PSAxMTExMSkuPFwvcD5cclxuXHJcbjxwPlVuZm9ydHVuYXRlbHksIHRoZSBFRFNBQyBhc3NlbWJsZXIgaGFkIG5vIHNwZWNpYWwgZGlyZWN0aXZlcyBmb3IgZGF0YSB2YWx1ZXMuIE9uIHRoZSBvdGhlciBoYW5kLCB0aGVyZSB3YXMgbm8gcmVhc29uIHRoYXQgb3JkaW5hcnkgaW5zdHJ1Y3Rpb25zIGNvdWxkbiYjMzk7dCBiZSB1c2VkIGZvciB0aGlzLCB0aHVzLCBhbiBFRFNBQyBwcm9ncmFtbWVyIGRlc2lyaW5nIHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBjb25zdGFudCAzXC80IChyZXByZXNlbnRlZCBhcyAwMTEwMDAwMDAwMDAwMDAwMCkgd291bGQgdXNlIHRoZWluc3RydWN0aW9uICZxdW90O1MgMCBGJnF1b3Q7IGFuZCBmb3IgMVwvMyAod2hpY2ggaXMgYXBwcm94aW1hdGVseSByZXByZXNlbnRlZCBhcyAwMDEwMTAxMDEwMTAxMDEwMSkgJnF1b3Q7VCA2ODIgRCZxdW90OywgYW5kIHNvIG9uLjxcL3A+XHJcblxyXG48cD5Zb3VyIGpvYiBpcyB0byB3cml0ZSBhIHByb2dyYW0gdGhhdCB3aWxsIHRyYW5zbGF0ZSBFRFNBQyBpbnN0cnVjdGlvbnMgaW50byB0aGUgYXBwcm9wcmlhdGUgZGVjaW1hbCBmcmFjdGlvbnMuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBjb250YWlucyBhIHNpbmdsZSBpbnRlZ2VyIFAsICgxICZsZTsgUCAmbGU7IDEwMDApLCB3aGljaCBpcyB0aGUgbnVtYmVyIG9mIGRhdGEgc2V0cyB0aGF0IGZvbGxvdy4gRWFjaCBkYXRhIHNldCBpcyBhIHNpbmdsZSBsaW5lIHRoYXQgY29udGFpbnMgTiAodGhlIGRhdGFzZXQgbnVtYmVyKSwgZm9sbG93ZWQgYnkgYSBzcGFjZSwgZm9sbG93ZWQgYnkgYW4gRURTQUMgaW5zdHJ1Y3Rpb24gb2YgdGhlIGZvcm06IGNcdTMxNDFkXHUzMTQxcywgd2hlcmUgYyBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgaW4gdGhlIEVEU0FDIGFscGhhYmV0LCBkIGlzIGFuIHVuc2lnbmVkIGRlY2ltYWwgbnVtYmVyICgwICZsdDs9IGQgJmx0OyAyPHN1cD4xMTxcL3N1cD4pLCBhbmQgcyBpcyBlaXRoZXIgYSAmIzM5O0QmIzM5OyBvciAmIzM5O0YmIzM5Oy4gTm90ZTogXHUzMTQxIHJlcHJlc2VudHMgYSBzaW5nbGUgc3BhY2UuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggZGF0YSBzZXQgdGhlcmUgaXMgb25lIGxpbmUgb2Ygb3V0cHV0LiBJdCBjb250YWlucyB0aGUgZXhhY3QgZGVjaW1hbCBmcmFjdGlvbiByZXByZXNlbnRlZCBieSB0aGUgYnkgdGhlIEVEU0FDIGluc3RydWN0aW9uLCBpbmNsdWRpbmcgYSBtaW51cyBzaWduIChmb3IgbmVnYXRpdmUgdmFsdWVzKS4gVGhlIGZvcm1hdCBmb3IgdGhlIGRlY2ltYWwgZnJhY3Rpb24gaXM6IHNiLmRkZCZoZWxsaXA7LCB3aGVyZSBzIGlzIGFuIG9wdGlvbmFsIG1pbnVzIHNpZ24sIGIgaXMgZWl0aGVyIGEgMSBvciAwLCBhbmQgZCBpcyBhbnkgZGVjaW1hbCBkaWdpdCAoMC05KS4gVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGFuZCBhdCBtb3N0IDE2IGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4gVHJhaWxpbmcgemVyb3MgaW4gdGhlIGZyYWN0aW9uIG11c3QgYmUgc3VwcHJlc3NlZC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=