LyogJElkOiB0cGFtLmgsdiAxLjEuMi4xIDIwMDEvMDYvMDggMDg6MjM6NDYga2FpIEV4cCAkCiAqCiAqIFR1cmJvIFBBTSBJU0ROIGRyaXZlciBmb3IgTGludXguIChLZXJuZWwgRHJpdmVyKQogKgogKiBDb3B5cmlnaHQgMjAwMSBTdGVsaWFuIFBvcCA8c3RlbGlhbi5wb3BAZnIuYWxjb3ZlLmNvbT4sIEFsY/R2ZQogKgogKiBGb3IgYWxsIHN1cHBvcnQgcXVlc3Rpb25zIHBsZWFzZSBjb250YWN0OiA8c3VwcG9ydEBhdXZlcnRlY2guZnI+CiAqCiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKICogYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogKgogKi8KCiNpZm5kZWYgX1RQQU1fSF8KI2RlZmluZSBfVFBBTV9IXwoKI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiNpbmNsdWRlIDxsaW51eC9wY2kuaD4KCi8qIElPQ1RMIGNvbW1hbmRzICovCiNkZWZpbmUgVFBBTV9DTURfRFNQTE9BRAkweDAwMDEKI2RlZmluZSBUUEFNX0NNRF9EU1BTQVZFCTB4MDAwMgojZGVmaW5lIFRQQU1fQ01EX0RTUFJVTgkJMHgwMDAzCiNkZWZpbmUgVFBBTV9DTURfTE9PUE1PREVPTgkweDAwMDQKI2RlZmluZSBUUEFNX0NNRF9MT09QTU9ERU9GRgkweDAwMDUKCi8qIGFkZHJlc3NlcyBvZiBkZWJ1ZyBpbmZvcm1hdGlvbiB6b25lcyBvbiBib2FyZCAqLwojZGVmaW5lIFRQQU1fVFJBUEFVRElUX1JFR0lTVEVSCQkweDAwNTQ5M2U0CiNkZWZpbmUgVFBBTV9OQ09BVURJVF9SRUdJU1RFUgkJMHgwMDUwMDAwMAojZGVmaW5lIFRQQU1fTVNHQVVESVRfUkVHSVNURVIJCTB4MDA4RTMwRjAKCi8qIGxlbmd0aCBvZiBkZWJ1ZyBpbmZvcm1hdGlvbiB6b25lcyBvbiBib2FyZCAqLwojZGVmaW5lIFRQQU1fVFJBUEFVRElUX0xFTkdUSAkJMTAwMDAKI2RlZmluZSBUUEFNX05DT0FVRElUX0xFTkdUSAkJMzAwMDAwCiNkZWZpbmUgVFBBTV9OQ09BVURJVF9DT1VOVAkJMzAKI2RlZmluZSBUUEFNX01TR0FVRElUX0xFTkdUSAkJNjAwMDAKCi8qIElPQ1RMIGxvYWQvc2F2ZSBwYXJhbWV0ZXIgKi8KdHlwZWRlZiBzdHJ1Y3QgdHBhbV9kc3BfaW9jdGwgewoJX191MzIgYWRkcmVzczsJLyogYWRkcmVzcyB0byBsb2FkL3NhdmUgZGF0YSAqLwoJX191MzIgZGF0YV9sZW47CS8qIHNpemUgb2YgZGF0YSB0byBiZSBsb2FkZWQvc2F2ZWQgKi8KCV9fdTggZGF0YVswXTsJLyogZGF0YSAqLwp9IHRwYW1fZHNwX2lvY3RsOwoKI2VuZGlmIC8qIF9UUEFNX0hfICovCg==