I2luY2x1ZGUgImFybV9hcmNoLmgiCgoudGV4dAouZnB1CW5lb24KLmNvZGUJMzIKLmdsb2JsCWdjbV9pbml0X3Y4Ci50eXBlCWdjbV9pbml0X3Y4LCVmdW5jdGlvbgouYWxpZ24JNApnY21faW5pdF92ODoKCXZsZDEuNjQJe3E5fSxbcjFdCQlAIGxvYWQgaW5wdXQgSAoJdm1vdi5pOAlxMTEsIzB4ZTEKCXZzaGwuaTY0CXExMSxxMTEsIzU3CQlAIDB4YzIuMAoJdmV4dC44CXEzLHE5LHE5LCM4Cgl2c2hyLnU2NAlxMTAscTExLCM2MwoJdmR1cC4zMglxOSxkMThbMV0KCXZleHQuOAlxOCxxMTAscTExLCM4CQlAIHQwPTB4YzIuLi4uMDEKCXZzaHIudTY0CXExMCxxMywjNjMKCXZzaHIuczMyCXE5LHE5LCMzMQkJQCBicm9hZGNhc3QgY2FycnkgYml0Cgl2YW5kCXExMCxxMTAscTgKCXZzaGwuaTY0CXEzLHEzLCMxCgl2ZXh0LjgJcTEwLHExMCxxMTAsIzgKCXZhbmQJcTgscTgscTkKCXZvcnIJcTMscTMscTEwCQlAIEg8PDw9MQoJdmVvcglxMTIscTMscTgJCUAgdHdpc3RlZCBICgl2c3QxLjY0CXtxMTJ9LFtyMF0hCQlAIHN0b3JlIEh0YWJsZVswXQoKCUAgY2FsY3VsYXRlIEheMgoJdmV4dC44CXE4LHExMixxMTIsIzgJCUAgS2FyYXRzdWJhIHByZS1wcm9jZXNzaW5nCi5ieXRlCTB4YTgsMHgwZSwweGE4LDB4ZjIJQCBwbXVsbCBxMCxxMTIscTEyCgl2ZW9yCXE4LHE4LHExMgouYnl0ZQkweGE5LDB4NGUsMHhhOSwweGYyCUAgcG11bGwyIHEyLHExMixxMTIKLmJ5dGUJMHhhMCwweDJlLDB4YTAsMHhmMglAIHBtdWxsIHExLHE4LHE4CgoJdmV4dC44CXE5LHEwLHEyLCM4CQlAIEthcmF0c3ViYSBwb3N0LXByb2Nlc3NpbmcKCXZlb3IJcTEwLHEwLHEyCgl2ZW9yCXExLHExLHE5Cgl2ZW9yCXExLHExLHExMAouYnl0ZQkweDI2LDB4NGUsMHhlMCwweGYyCUAgcG11bGwgcTEwLHEwLHExMQkJQCAxc3QgcGhhc2UKCgl2bW92CWQ0LGQzCQlAIFhofFhtIC0gMjU2LWJpdCByZXN1bHQKCXZtb3YJZDMsZDAJCUAgWG0gaXMgcm90YXRlZCBYbAoJdmVvcglxMCxxMSxxMTAKCgl2ZXh0LjgJcTEwLHEwLHEwLCM4CQlAIDJuZCBwaGFzZQouYnl0ZQkweDI2LDB4MGUsMHhhMCwweGYyCUAgcG11bGwgcTAscTAscTExCgl2ZW9yCXExMCxxMTAscTIKCXZlb3IJcTE0LHEwLHExMAoKCXZleHQuOAlxOSxxMTQscTE0LCM4CQlAIEthcmF0c3ViYSBwcmUtcHJvY2Vzc2luZwoJdmVvcglxOSxxOSxxMTQKCXZleHQuOAlxMTMscTgscTksIzgJCUAgcGFjayBLYXJhdHN1YmEgcHJlLXByb2Nlc3NlZAoJdnN0MS42NAl7cTEzLHExNH0sW3IwXQkJQCBzdG9yZSBIdGFibGVbMS4uMl0KCglieAlscgouc2l6ZQlnY21faW5pdF92OCwuLWdjbV9pbml0X3Y4Ci5nbG9ibAlnY21fZ211bHRfdjgKLnR5cGUJZ2NtX2dtdWx0X3Y4LCVmdW5jdGlvbgouYWxpZ24JNApnY21fZ211bHRfdjg6Cgl2bGQxLjY0CXtxOX0sW3IwXQkJQCBsb2FkIFhpCgl2bW92Lmk4CXExMSwjMHhlMQoJdmxkMS42NAl7cTEyLHExM30sW3IxXQlAIGxvYWQgdHdpc3RlZCBILCAuLi4KCXZzaGwudTY0CXExMSxxMTEsIzU3CiNpZm5kZWYgX19BUk1FQl9fCgl2cmV2NjQuOAlxOSxxOQojZW5kaWYKCXZleHQuOAlxMyxxOSxxOSwjOAoKLmJ5dGUJMHg4NiwweDBlLDB4YTgsMHhmMglAIHBtdWxsIHEwLHExMixxMwkJQCBILmxvt1hpLmxvCgl2ZW9yCXE5LHE5LHEzCQlAIEthcmF0c3ViYSBwcmUtcHJvY2Vzc2luZwouYnl0ZQkweDg3LDB4NGUsMHhhOSwweGYyCUAgcG11bGwyIHEyLHExMixxMwkJQCBILmhpt1hpLmhpCi5ieXRlCTB4YTIsMHgyZSwweGFhLDB4ZjIJQCBwbXVsbCBxMSxxMTMscTkJCUAgKEgubG8rSC5oaSm3KFhpLmxvK1hpLmhpKQoKCXZleHQuOAlxOSxxMCxxMiwjOAkJQCBLYXJhdHN1YmEgcG9zdC1wcm9jZXNzaW5nCgl2ZW9yCXExMCxxMCxxMgoJdmVvcglxMSxxMSxxOQoJdmVvcglxMSxxMSxxMTAKLmJ5dGUJMHgyNiwweDRlLDB4ZTAsMHhmMglAIHBtdWxsIHExMCxxMCxxMTEJCUAgMXN0IHBoYXNlIG9mIHJlZHVjdGlvbgoKCXZtb3YJZDQsZDMJCUAgWGh8WG0gLSAyNTYtYml0IHJlc3VsdAoJdm1vdglkMyxkMAkJQCBYbSBpcyByb3RhdGVkIFhsCgl2ZW9yCXEwLHExLHExMAoKCXZleHQuOAlxMTAscTAscTAsIzgJCUAgMm5kIHBoYXNlIG9mIHJlZHVjdGlvbgouYnl0ZQkweDI2LDB4MGUsMHhhMCwweGYyCUAgcG11bGwgcTAscTAscTExCgl2ZW9yCXExMCxxMTAscTIKCXZlb3IJcTAscTAscTEwCgojaWZuZGVmIF9fQVJNRUJfXwoJdnJldjY0LjgJcTAscTAKI2VuZGlmCgl2ZXh0LjgJcTAscTAscTAsIzgKCXZzdDEuNjQJe3EwfSxbcjBdCQlAIHdyaXRlIG91dCBYaQoKCWJ4CWxyCi5zaXplCWdjbV9nbXVsdF92OCwuLWdjbV9nbXVsdF92OAouZ2xvYmwJZ2NtX2doYXNoX3Y4Ci50eXBlCWdjbV9naGFzaF92OCwlZnVuY3Rpb24KLmFsaWduCTQKZ2NtX2doYXNoX3Y4OgoJdnN0bWRiCXNwISx7ZDgsZDksZDEwLGQxMSxkMTIsZDEzLGQxNCxkMTV9CQlAIDMyLWJpdCBBQkkgc2F5cyBzbwoJdmxkMS42NAl7cTB9LFtyMF0JCUAgbG9hZCBbcm90YXRlZF0gWGkKCQkJCQkJQCAiW3JvdGF0ZWRdIiBtZWFucyB0aGF0CgkJCQkJCUAgbG9hZGVkIHZhbHVlIHdvdWxkIGhhdmUKCQkJCQkJQCB0byBiZSByb3RhdGVkIGluIG9yZGVyIHRvCgkJCQkJCUAgbWFrZSBpdCBhcHBlYXIgYXMgaW4KCQkJCQkJQCBhbG9yaXRobSBzcGVjaWZpY2F0aW9uCglzdWJzCXIzLHIzLCMzMgkJQCBzZWUgaWYgcjMgaXMgMzIgb3IgbGFyZ2VyCgltb3YJcjEyLCMxNgkJQCByMTIgaXMgdXNlZCBhcyBwb3N0LQoJCQkJCQlAIGluY3JlbWVudCBmb3IgaW5wdXQgcG9pbnRlcjsKCQkJCQkJQCBhcyBsb29wIGlzIG1vZHVsby1zY2hlZHVsZWQKCQkJCQkJQCByMTIgaXMgemVyb2VkIGp1c3QgaW4gdGltZQoJCQkJCQlAIHRvIHByZWNsdWRlIG92ZXJzdGVwaW5nCgkJCQkJCUAgaW5wW2xlbl0sIHdoaWNoIG1lYW5zIHRoYXQKCQkJCQkJQCBsYXN0IGJsb2NrW3NdIGFyZSBhY3R1YWxseQoJCQkJCQlAIGxvYWRlZCB0d2ljZSwgYnV0IGxhc3QKCQkJCQkJQCBjb3B5IGlzIG5vdCBwcm9jZXNzZWQKCXZsZDEuNjQJe3ExMixxMTN9LFtyMV0hCUAgbG9hZCB0d2lzdGVkIEgsIC4uLiwgSF4yCgl2bW92Lmk4CXExMSwjMHhlMQoJdmxkMS42NAl7cTE0fSxbcjFdCgltb3ZlcQlyMTIsIzAJCQlAIGlzIGl0IHRpbWUgdG8gemVybyByMTI/Cgl2ZXh0LjgJcTAscTAscTAsIzgJCUAgcm90YXRlIFhpCgl2bGQxLjY0CXtxOH0sW3IyXSEJQCBsb2FkIFtyb3RhdGVkXSBJWzBdCgl2c2hsLnU2NAlxMTEscTExLCM1NwkJQCBjb21wb3NlIDB4YzIuMCBjb25zdGFudAojaWZuZGVmIF9fQVJNRUJfXwoJdnJldjY0LjgJcTgscTgKCXZyZXY2NC44CXEwLHEwCiNlbmRpZgoJdmV4dC44CXEzLHE4LHE4LCM4CQlAIHJvdGF0ZSBJWzBdCglibG8JLkxvZGRfdGFpbF92OAkJQCByMyB3YXMgbGVzcyB0aGFuIDMyCgl2bGQxLjY0CXtxOX0sW3IyXSxyMTIJQCBsb2FkIFtyb3RhdGVkXSBJWzFdCiNpZm5kZWYgX19BUk1FQl9fCgl2cmV2NjQuOAlxOSxxOQojZW5kaWYKCXZleHQuOAlxNyxxOSxxOSwjOAoJdmVvcglxMyxxMyxxMAkJQCBJW2ldXj1YaQouYnl0ZQkweDhlLDB4OGUsMHhhOCwweGYyCUAgcG11bGwgcTQscTEyLHE3CQlAIEi3SWkrMQoJdmVvcglxOSxxOSxxNwkJQCBLYXJhdHN1YmEgcHJlLXByb2Nlc3NpbmcKLmJ5dGUJMHg4ZiwweGNlLDB4YTksMHhmMglAIHBtdWxsMiBxNixxMTIscTcKCWIJLkxvb3BfbW9kMnhfdjgKCi5hbGlnbgk0Ci5Mb29wX21vZDJ4X3Y4OgoJdmV4dC44CXExMCxxMyxxMywjOAoJc3VicwlyMyxyMywjMzIJCUAgaXMgdGhlcmUgbW9yZSBkYXRhPwouYnl0ZQkweDg2LDB4MGUsMHhhYywweGYyCUAgcG11bGwgcTAscTE0LHEzCQlAIEheMi5sb7dYaS5sbwoJbW92bG8JcjEyLCMwCQkJQCBpcyBpdCB0aW1lIHRvIHplcm8gcjEyPwoKLmJ5dGUJMHhhMiwweGFlLDB4YWEsMHhmMglAIHBtdWxsIHE1LHExMyxxOQoJdmVvcglxMTAscTEwLHEzCQlAIEthcmF0c3ViYSBwcmUtcHJvY2Vzc2luZwouYnl0ZQkweDg3LDB4NGUsMHhhZCwweGYyCUAgcG11bGwyIHEyLHExNCxxMwkJQCBIXjIuaGm3WGkuaGkKCXZlb3IJcTAscTAscTQJCUAgYWNjdW11bGF0ZQouYnl0ZQkweGE1LDB4MmUsMHhhYiwweGYyCUAgcG11bGwyIHExLHExMyxxMTAJCUAgKEheMi5sbytIXjIuaGkptyhYaS5sbytYaS5oaSkKCXZsZDEuNjQJe3E4fSxbcjJdLHIxMglAIGxvYWQgW3JvdGF0ZWRdIElbaSsyXQoKCXZlb3IJcTIscTIscTYKCW1vdmVxCXIxMiwjMAkJCUAgaXMgaXQgdGltZSB0byB6ZXJvIHIxMj8KCXZlb3IJcTEscTEscTUKCgl2ZXh0LjgJcTkscTAscTIsIzgJCUAgS2FyYXRzdWJhIHBvc3QtcHJvY2Vzc2luZwoJdmVvcglxMTAscTAscTIKCXZlb3IJcTEscTEscTkKCXZsZDEuNjQJe3E5fSxbcjJdLHIxMglAIGxvYWQgW3JvdGF0ZWRdIElbaSszXQojaWZuZGVmIF9fQVJNRUJfXwoJdnJldjY0LjgJcTgscTgKI2VuZGlmCgl2ZW9yCXExLHExLHExMAouYnl0ZQkweDI2LDB4NGUsMHhlMCwweGYyCUAgcG11bGwgcTEwLHEwLHExMQkJQCAxc3QgcGhhc2Ugb2YgcmVkdWN0aW9uCgojaWZuZGVmIF9fQVJNRUJfXwoJdnJldjY0LjgJcTkscTkKI2VuZGlmCgl2bW92CWQ0LGQzCQlAIFhofFhtIC0gMjU2LWJpdCByZXN1bHQKCXZtb3YJZDMsZDAJCUAgWG0gaXMgcm90YXRlZCBYbAoJdmV4dC44CXE3LHE5LHE5LCM4Cgl2ZXh0LjgJcTMscTgscTgsIzgKCXZlb3IJcTAscTEscTEwCi5ieXRlCTB4OGUsMHg4ZSwweGE4LDB4ZjIJQCBwbXVsbCBxNCxxMTIscTcJCUAgSLdJaSsxCgl2ZW9yCXEzLHEzLHEyCQlAIGFjY3VtdWxhdGUgcTMgZWFybHkKCgl2ZXh0LjgJcTEwLHEwLHEwLCM4CQlAIDJuZCBwaGFzZSBvZiByZWR1Y3Rpb24KLmJ5dGUJMHgyNiwweDBlLDB4YTAsMHhmMglAIHBtdWxsIHEwLHEwLHExMQoJdmVvcglxMyxxMyxxMTAKCXZlb3IJcTkscTkscTcJCUAgS2FyYXRzdWJhIHByZS1wcm9jZXNzaW5nCgl2ZW9yCXEzLHEzLHEwCi5ieXRlCTB4OGYsMHhjZSwweGE5LDB4ZjIJQCBwbXVsbDIgcTYscTEyLHE3CgliaHMJLkxvb3BfbW9kMnhfdjgJCUAgdGhlcmUgd2FzIGF0IGxlYXN0IDMyIG1vcmUgYnl0ZXMKCgl2ZW9yCXEyLHEyLHExMAoJdmV4dC44CXEzLHE4LHE4LCM4CQlAIHJlLWNvbnN0cnVjdCBxMwoJYWRkcwlyMyxyMywjMzIJCUAgcmUtY29uc3RydWN0IHIzCgl2ZW9yCXEwLHEwLHEyCQlAIHJlLWNvbnN0cnVjdCBxMAoJYmVxCS5MZG9uZV92OAkJQCBpcyByMyB6ZXJvPwouTG9kZF90YWlsX3Y4OgoJdmV4dC44CXExMCxxMCxxMCwjOAoJdmVvcglxMyxxMyxxMAkJQCBpbnBePVhpCgl2ZW9yCXE5LHE4LHExMAkJQCBxOSBpcyByb3RhdGVkIGlucF5YaQoKLmJ5dGUJMHg4NiwweDBlLDB4YTgsMHhmMglAIHBtdWxsIHEwLHExMixxMwkJQCBILmxvt1hpLmxvCgl2ZW9yCXE5LHE5LHEzCQlAIEthcmF0c3ViYSBwcmUtcHJvY2Vzc2luZwouYnl0ZQkweDg3LDB4NGUsMHhhOSwweGYyCUAgcG11bGwyIHEyLHExMixxMwkJQCBILmhpt1hpLmhpCi5ieXRlCTB4YTIsMHgyZSwweGFhLDB4ZjIJQCBwbXVsbCBxMSxxMTMscTkJCUAgKEgubG8rSC5oaSm3KFhpLmxvK1hpLmhpKQoKCXZleHQuOAlxOSxxMCxxMiwjOAkJQCBLYXJhdHN1YmEgcG9zdC1wcm9jZXNzaW5nCgl2ZW9yCXExMCxxMCxxMgoJdmVvcglxMSxxMSxxOQoJdmVvcglxMSxxMSxxMTAKLmJ5dGUJMHgyNiwweDRlLDB4ZTAsMHhmMglAIHBtdWxsIHExMCxxMCxxMTEJCUAgMXN0IHBoYXNlIG9mIHJlZHVjdGlvbgoKCXZtb3YJZDQsZDMJCUAgWGh8WG0gLSAyNTYtYml0IHJlc3VsdAoJdm1vdglkMyxkMAkJQCBYbSBpcyByb3RhdGVkIFhsCgl2ZW9yCXEwLHExLHExMAoKCXZleHQuOAlxMTAscTAscTAsIzgJCUAgMm5kIHBoYXNlIG9mIHJlZHVjdGlvbgouYnl0ZQkweDI2LDB4MGUsMHhhMCwweGYyCUAgcG11bGwgcTAscTAscTExCgl2ZW9yCXExMCxxMTAscTIKCXZlb3IJcTAscTAscTEwCgouTGRvbmVfdjg6CiNpZm5kZWYgX19BUk1FQl9fCgl2cmV2NjQuOAlxMCxxMAojZW5kaWYKCXZleHQuOAlxMCxxMCxxMCwjOAoJdnN0MS42NAl7cTB9LFtyMF0JCUAgd3JpdGUgb3V0IFhpCgoJdmxkbWlhCXNwISx7ZDgsZDksZDEwLGQxMSxkMTIsZDEzLGQxNCxkMTV9CQlAIDMyLWJpdCBBQkkgc2F5cyBzbwoJYngJbHIKLnNpemUJZ2NtX2doYXNoX3Y4LC4tZ2NtX2doYXNoX3Y4Ci5ieXRlCTcxLDcyLDY1LDgzLDcyLDMyLDEwMiwxMTEsMTE0LDMyLDY1LDgyLDc3LDExOCw1Niw0NCwzMiw2Nyw4Miw4OSw4MCw4NCw3OSw3MSw2NSw3Nyw4MywzMiw5OCwxMjEsMzIsNjAsOTcsMTEyLDExMiwxMTQsMTExLDY0LDExMSwxMTIsMTAxLDExMCwxMTUsMTE1LDEwOCw0NiwxMTEsMTE0LDEwMyw2MiwwCi5hbGlnbgkyCi5hbGlnbgkyCg==