I2lmbmRlZiBfTElCX0NISVBfc2FtYTVkNF8NCiNkZWZpbmUgX0xJQl9DSElQX3NhbWE1ZDRfDQoNCi8qDQogKiBQZXJpcGhlcmFscyByZWdpc3RlcnMgZGVmaW5pdGlvbnMNCiAqLw0KI2lmIGRlZmluZWQgc2FtYTVkNHgNCiAgICAjaW5jbHVkZSAiaW5jbHVkZS9zYW1hNWQ0LmgiDQojZWxzZQ0KICAgICN3YXJuaW5nIExpYnJhcnkgZG9lcyBub3Qgc3VwcG9ydCB0aGUgc3BlY2lmaWVkIGNoaXAsIHNwZWNpZnlpbmcgc2FtYTVkNHgNCiAgICAjZGVmaW5lIHNhbWE1ZDR4DQogICAgI2luY2x1ZGUgImluY2x1ZGUvc2FtYTVkNC5oIg0KI2VuZGlmDQoNCg0KLyogRGVmaW5lIGF0dHJpYnV0ZSAqLw0KI2lmIGRlZmluZWQgICAoIF9fQ0NfQVJNICAgKSAvKiBLZWlsILVWaXNpb24gNCAqLw0KICAgICNkZWZpbmUgV0VBSyBfX2F0dHJpYnV0ZV9fICgod2VhaykpDQojZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApIC8qIElBUiBFd2FybSA1LjQxKyAqLw0KICAgICNkZWZpbmUgV0VBSyBfX3dlYWsNCiNlbGlmIGRlZmluZWQgKCAgX19HTlVDX18gICkgLyogR0NDIENTMyAyMDA5cTMtNjggKi8NCiAgICAjZGVmaW5lIFdFQUsgX19hdHRyaWJ1dGVfXyAoKHdlYWspKQ0KI2VuZGlmDQoNCi8qIERlZmluZSBOT19JTklUIGF0dHJpYnV0ZSBhbmQgY29tcGlsZXIgc3BlY2lmaWMgc3ltYm9scyAqLw0KI2lmIGRlZmluZWQgICAoIF9fQ0NfQVJNICAgKQ0KICAgICNkZWZpbmUgTk9fSU5JVA0KICAgICNkZWZpbmUgX19BU00gICAgICAgICAgICBfX2FzbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYXNtIGtleXdvcmQgZm9yIEFSTSBDb21waWxlciAgICAgICAgICAqLw0KICAgICNkZWZpbmUgX19JTkxJTkUgICAgICAgICBfX2lubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgaW5saW5lIGtleXdvcmQgZm9yIEFSTSBDb21waWxlciAgICAgICAqLw0KI2VsaWYgZGVmaW5lZCAoIF9fSUNDQVJNX18gKQ0KICAgICNkZWZpbmUgTk9fSU5JVCBfX25vX2luaXQNCiAgICAjZGVmaW5lIF9fQVNNICAgICAgICAgICBfX2FzbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGFzbSBrZXl3b3JkIGZvciBJQVIgQ29tcGlsZXIgICAgICAgICAgICovDQogICAgI2RlZmluZSBfX0lOTElORSAgICAgICAgaW5saW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBpbmxpbmUga2V5d29yZCBmb3IgSUFSIENvbXBpbGVyLiBPbmx5IGF2YWlhYmxlIGluIEhpZ2ggb3B0aW1pemF0aW9uIG1vZGUhICovDQojZWxpZiBkZWZpbmVkICggIF9fR05VQ19fICApDQogICAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgIGFzbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBhc20ga2V5d29yZCBmb3IgR05VIENvbXBpbGVyICAgICAgICAgICovDQogICAgI2RlZmluZSBfX0lOTElORSAgICAgICAgIGlubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBpbmxpbmUga2V5d29yZCBmb3IgR05VIENvbXBpbGVyICAgICAgICovDQogICAgI2RlZmluZSBOT19JTklUDQojZW5kaWYNCg0KI2RlZmluZSBDUDE1X1BSRVNFTlQNCg0KLyoNCiAqIFBlcmlwaGVyYWxzDQogKi8NCiNpbmNsdWRlICJpbmNsdWRlL2FkYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvYXN5bmMuaCINCiNpbmNsdWRlICJpbmNsdWRlL21tdS5oIg0KI2luY2x1ZGUgImNwMTUvY3AxNS5oIg0KI2luY2x1ZGUgImNwMTUvY3AxNV9wbXUuaCINCiNpbmNsdWRlICJ0ei9tb25fbWFjcm9zLmgiDQojaW5jbHVkZSAidHovbW9uLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9sMmNjLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9haWMuaCINCiNpbmNsdWRlICJpbmNsdWRlL3Bpby5oIg0KI2luY2x1ZGUgImluY2x1ZGUvcGlvX2l0LmgiDQojaW5jbHVkZSAiaW5jbHVkZS9wbWMuaCINCiNpbmNsdWRlICJpbmNsdWRlL3B3bWMuaCINCiNpbmNsdWRlICJpbmNsdWRlL3VzYXJ0LmgiDQojaW5jbHVkZSAiaW5jbHVkZS94ZG1hYy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvc3BpLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9waXQuaCIgDQojaW5jbHVkZSAiaW5jbHVkZS93ZHQuaCINCiNpbmNsdWRlICJpbmNsdWRlL3RjLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9zbWNOZmMuaCINCiNpbmNsdWRlICJpbmNsdWRlL3R3aS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvdHJhY2UuaCINCiNpbmNsdWRlICJpbmNsdWRlL2hzbWNpLmgiDQojaW5jbHVkZSAiaW5jbHVkZS90cm5nLmgiDQojaW5jbHVkZSAiaW5jbHVkZS90ZGVzLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9hZXMuaCINCiNpbmNsdWRlICJpbmNsdWRlL2Flc2IuaCINCiNpbmNsdWRlICJpbmNsdWRlL3NoYS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvaWNtLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9nbWFjLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9jYXRiLmgiDQojaW5jbHVkZSAiaW5jbHVkZS91ZHBocy5oIg0KI2luY2x1ZGUgImluY2x1ZGUvdmlkZW8uaCINCiNpbmNsdWRlICJpbmNsdWRlL2lzaS5oIg0KI2luY2x1ZGUgImluY2x1ZGUvc3NjLmgiDQojaW5jbHVkZSAiaW5jbHVkZS9ydGMuaCINCiNpbmNsdWRlICJpbmNsdWRlL3JzdGMuaCINCg0KI2VuZGlmIC8qIF9MSUJfQ0hJUF9zYW1hNWQ0XyAqLw0K