LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjEwMXg2LmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEB2ZXJzaW9uIFY0LjIuMA0KICAqIEBkYXRlICAgIDMxLU1hcmNoLTIwMTcNCiAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlLiANCiAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHRoZSBwZXJpcGhlcmFsIHJlZ2lzdGVyJ3MgZGVmaW5pdGlvbnMsIGJpdHMgDQogICogICAgICAgICAgZGVmaW5pdGlvbnMgYW5kIG1lbW9yeSBtYXBwaW5nIGZvciBTVE0zMkYxeHggZGV2aWNlcy4gICAgICAgICAgICANCiAgKiAgICAgICAgICAgIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoNCiAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscw0KICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24NCiAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUNCiAgKiAgDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBhdHRlbnRpb24NCiAgKg0KICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPg0KICAqDQogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCiAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQogICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbg0KICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQogICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMNCiAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQ0KICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQogICoNCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQoNCi8qKiBAYWRkdG9ncm91cCBDTVNJUw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBzdG0zMmYxMDF4Ng0KICAqIEB7DQogICovDQogICAgDQojaWZuZGVmIF9fU1RNMzJGMTAxeDZfSA0KI2RlZmluZSBfX1NUTTMyRjEwMXg2X0gNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogZXh0ZXJuICJDIiB7DQojZW5kaWYgDQoNCi8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTMgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzIA0KICovDQojZGVmaW5lIF9fQ00zX1JFViAgICAgICAgICAgICAgICAgIDB4MDIwMFUgIC8qITwgQ29yZSBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUgICAgICAgLyohPCBPdGhlciBTVE0zMiBkZXZpY2VzIGRvZXMgbm90IHByb3ZpZGUgYW4gTVBVICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgICA0VSAgICAgICAvKiE8IFNUTTMyIHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgIDBVICAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfaW50ZXJydXB0X251bWJlcl9kZWZpbml0aW9uDQogICogQHsNCiAgKi8NCg0KLyoqDQogKiBAYnJpZWYgU1RNMzJGMTB4IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiwgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBkZXZpY2UgDQogKiAgICAgICAgaW4gQHJlZiBMaWJyYXJ5X2NvbmZpZ3VyYXRpb25fc2VjdGlvbiANCiAqLw0KDQogLyohPCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24gKi8NCnR5cGVkZWYgZW51bQ0Kew0KLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgPSAtMTMsICAgIC8qITwgMyBDb3J0ZXgtTTMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAqLw0KICBNZW1vcnlNYW5hZ2VtZW50X0lSUW4gICAgICAgPSAtMTIsICAgIC8qITwgNCBDb3J0ZXgtTTMgTWVtb3J5IE1hbmFnZW1lbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAqLw0KICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgPSAtMTAsICAgIC8qITwgNiBDb3J0ZXgtTTMgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAqLw0KICBTVkNhbGxfSVJRbiAgICAgICAgICAgICAgICAgPSAtNSwgICAgIC8qITwgMTEgQ29ydGV4LU0zIFNWIENhbGwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0zIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTeXNUaWNrX0lSUW4gICAgICAgICAgICAgICAgPSAtMSwgICAgIC8qITwgMTUgQ29ydGV4LU0zIFN5c3RlbSBUaWNrIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLw0KDQovKioqKioqICBTVE0zMiBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICovDQogIFRBTVBFUl9JUlFuICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgLyohPCBSVEMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJDQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBSQ0MgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgLyohPCBFWFRJIExpbmUwIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkyX0lSUW4gICAgICAgICAgICAgICAgICA9IDgsICAgICAgLyohPCBFWFRJIExpbmUyIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDksICAgICAgLyohPCBFWFRJIExpbmUzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDExLCAgICAgLyohPCBETUExIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDEyLCAgICAgLyohPCBETUExIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDE0LCAgICAgLyohPCBETUExIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDE1LCAgICAgLyohPCBETUExIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDZfSVJRbiAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIENoYW5uZWwgNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDdfSVJRbiAgICAgICAgICA9IDE3LCAgICAgLyohPCBETUExIENoYW5uZWwgNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyohPCBBREMxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk5XzVfSVJRbiAgICAgICAgICAgICAgICA9IDIzLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzk6NV0gSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyohPCBUSU0yIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI5LCAgICAgLyohPCBUSU0zIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMxLCAgICAgLyohPCBJMkMxIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDMyLCAgICAgLyohPCBJMkMxIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyohPCBTUEkxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMV9JUlFuICAgICAgICAgICAgICAgICA9IDM3LCAgICAgLyohPCBVU0FSVDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMl9JUlFuICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyohPCBVU0FSVDIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxNV8xMF9JUlFuICAgICAgICAgICAgICA9IDQwLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzE1OjEwXSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19BbGFybV9JUlFuICAgICAgICAgICAgICA9IDQxLCAgICAgLyohPCBSVEMgQWxhcm0gdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICovDQp9IElSUW5fVHlwZTsNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KI2luY2x1ZGUgImNvcmVfY20zLmgiDQojaW5jbHVkZSAic3lzdGVtX3N0bTMyZjF4eC5oIg0KI2luY2x1ZGUgPHN0ZGludC5oPg0KDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9yZWdpc3RlcnNfc3RydWN0dXJlcw0KICAqIEB7DQogICovICAgDQoNCi8qKiANCiAgKiBAYnJpZWYgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBDUjE7DQogIF9fSU8gdWludDMyX3QgQ1IyOw0KICBfX0lPIHVpbnQzMl90IFNNUFIxOw0KICBfX0lPIHVpbnQzMl90IFNNUFIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIxOw0KICBfX0lPIHVpbnQzMl90IEpPRlIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIzOw0KICBfX0lPIHVpbnQzMl90IEpPRlI0Ow0KICBfX0lPIHVpbnQzMl90IEhUUjsNCiAgX19JTyB1aW50MzJfdCBMVFI7DQogIF9fSU8gdWludDMyX3QgU1FSMTsNCiAgX19JTyB1aW50MzJfdCBTUVIyOw0KICBfX0lPIHVpbnQzMl90IFNRUjM7DQogIF9fSU8gdWludDMyX3QgSlNRUjsNCiAgX19JTyB1aW50MzJfdCBKRFIxOw0KICBfX0lPIHVpbnQzMl90IEpEUjI7DQogIF9fSU8gdWludDMyX3QgSkRSMzsNCiAgX19JTyB1aW50MzJfdCBKRFI0Ow0KICBfX0lPIHVpbnQzMl90IERSOw0KfSBBRENfVHlwZURlZjsNCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBzdGF0dXMgcmVnaXN0ZXIsICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAxLCB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDA0ICAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMiwgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHgwOCAgKi8NCiAgdWludDMyX3QgIFJFU0VSVkVEWzE2XTsNCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIHJlZ2lzdGVyLCAgICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4NEMgICovDQp9IEFEQ19Db21tb25fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBCYWNrdXAgUmVnaXN0ZXJzICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgdWludDMyX3QgIFJFU0VSVkVEMDsNCiAgX19JTyB1aW50MzJfdCBEUjE7DQogIF9fSU8gdWludDMyX3QgRFIyOw0KICBfX0lPIHVpbnQzMl90IERSMzsNCiAgX19JTyB1aW50MzJfdCBEUjQ7DQogIF9fSU8gdWludDMyX3QgRFI1Ow0KICBfX0lPIHVpbnQzMl90IERSNjsNCiAgX19JTyB1aW50MzJfdCBEUjc7DQogIF9fSU8gdWludDMyX3QgRFI4Ow0KICBfX0lPIHVpbnQzMl90IERSOTsNCiAgX19JTyB1aW50MzJfdCBEUjEwOw0KICBfX0lPIHVpbnQzMl90IFJUQ0NSOw0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCn0gQktQX1R5cGVEZWY7DQogIA0KDQovKiogDQogICogQGJyaWVmIENSQyBjYWxjdWxhdGlvbiB1bml0IA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgICAgLyohPCBDUkMgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQ4X3QgIElEUjsgICAgICAgICAgLyohPCBDUkMgSW5kZXBlbmRlbnQgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICB1aW50OF90ICAgICAgIFJFU0VSVkVEMDsgICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNSAqLw0KICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTsgICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNiAqLyAgDQogIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgICAvKiE8IENSQyBDb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovIA0KfSBDUkNfVHlwZURlZjsNCg0KDQovKiogDQogICogQGJyaWVmIERlYnVnIE1DVQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElEQ09ERTsNCiAgX19JTyB1aW50MzJfdCBDUjsNCn1EQkdNQ1VfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBETUEgQ29udHJvbGxlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENDUjsNCiAgX19JTyB1aW50MzJfdCBDTkRUUjsNCiAgX19JTyB1aW50MzJfdCBDUEFSOw0KICBfX0lPIHVpbnQzMl90IENNQVI7DQp9IERNQV9DaGFubmVsX1R5cGVEZWY7DQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSVNSOw0KICBfX0lPIHVpbnQzMl90IElGQ1I7DQp9IERNQV9UeXBlRGVmOw0KDQoNCg0KLyoqIA0KICAqIEBicmllZiBFeHRlcm5hbCBJbnRlcnJ1cHQvRXZlbnQgQ29udHJvbGxlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElNUjsNCiAgX19JTyB1aW50MzJfdCBFTVI7DQogIF9fSU8gdWludDMyX3QgUlRTUjsNCiAgX19JTyB1aW50MzJfdCBGVFNSOw0KICBfX0lPIHVpbnQzMl90IFNXSUVSOw0KICBfX0lPIHVpbnQzMl90IFBSOw0KfSBFWFRJX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRkxBU0ggUmVnaXN0ZXJzDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQUNSOw0KICBfX0lPIHVpbnQzMl90IEtFWVI7DQogIF9fSU8gdWludDMyX3QgT1BUS0VZUjsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBDUjsNCiAgX19JTyB1aW50MzJfdCBBUjsNCiAgX19JTyB1aW50MzJfdCBSRVNFUlZFRDsNCiAgX19JTyB1aW50MzJfdCBPQlI7DQogIF9fSU8gdWludDMyX3QgV1JQUjsNCn0gRkxBU0hfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBPcHRpb24gQnl0ZXMgUmVnaXN0ZXJzDQogICovDQogIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MTZfdCBSRFA7DQogIF9fSU8gdWludDE2X3QgVVNFUjsNCiAgX19JTyB1aW50MTZfdCBEYXRhMDsNCiAgX19JTyB1aW50MTZfdCBEYXRhMTsNCiAgX19JTyB1aW50MTZfdCBXUlAwOw0KICBfX0lPIHVpbnQxNl90IFdSUDE7DQogIF9fSU8gdWludDE2X3QgV1JQMjsNCiAgX19JTyB1aW50MTZfdCBXUlAzOw0KfSBPQl9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkw7DQogIF9fSU8gdWludDMyX3QgQ1JIOw0KICBfX0lPIHVpbnQzMl90IElEUjsNCiAgX19JTyB1aW50MzJfdCBPRFI7DQogIF9fSU8gdWludDMyX3QgQlNSUjsNCiAgX19JTyB1aW50MzJfdCBCUlI7DQogIF9fSU8gdWludDMyX3QgTENLUjsNCn0gR1BJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEFsdGVybmF0ZSBGdW5jdGlvbiBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBFVkNSOw0KICBfX0lPIHVpbnQzMl90IE1BUFI7DQogIF9fSU8gdWludDMyX3QgRVhUSUNSWzRdOw0KICB1aW50MzJfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDMyX3QgTUFQUjI7ICANCn0gQUZJT19UeXBlRGVmOw0KLyoqIA0KICAqIEBicmllZiBJbnRlciBJbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOw0KICBfX0lPIHVpbnQzMl90IENSMjsNCiAgX19JTyB1aW50MzJfdCBPQVIxOw0KICBfX0lPIHVpbnQzMl90IE9BUjI7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgU1IxOw0KICBfX0lPIHVpbnQzMl90IFNSMjsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgVFJJU0U7DQp9IEkyQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEluZGVwZW5kZW50IFdBVENIRE9HDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgS1I7ICAgICAgICAgICAvKiE8IEtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgUFI7ICAgICAgICAgICAvKiE8IFByZXNjYWxlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgUkxSOyAgICAgICAgICAvKiE8IFJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQp9IElXREdfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBQb3dlciBDb250cm9sDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KfSBQV1JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENGR1I7DQogIF9fSU8gdWludDMyX3QgQ0lSOw0KICBfX0lPIHVpbnQzMl90IEFQQjJSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFQQjFSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFIQkVOUjsNCiAgX19JTyB1aW50MzJfdCBBUEIyRU5SOw0KICBfX0lPIHVpbnQzMl90IEFQQjFFTlI7DQogIF9fSU8gdWludDMyX3QgQkRDUjsNCiAgX19JTyB1aW50MzJfdCBDU1I7DQoNCg0KfSBSQ0NfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZWFsLVRpbWUgQ2xvY2sNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkg7DQogIF9fSU8gdWludDMyX3QgQ1JMOw0KICBfX0lPIHVpbnQzMl90IFBSTEg7DQogIF9fSU8gdWludDMyX3QgUFJMTDsNCiAgX19JTyB1aW50MzJfdCBESVZIOw0KICBfX0lPIHVpbnQzMl90IERJVkw7DQogIF9fSU8gdWludDMyX3QgQ05USDsNCiAgX19JTyB1aW50MzJfdCBDTlRMOw0KICBfX0lPIHVpbnQzMl90IEFMUkg7DQogIF9fSU8gdWludDMyX3QgQUxSTDsNCn0gUlRDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgU0QgaG9zdCBJbnRlcmZhY2UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBQT1dFUjsNCiAgX19JTyB1aW50MzJfdCBDTEtDUjsNCiAgX19JTyB1aW50MzJfdCBBUkc7DQogIF9fSU8gdWludDMyX3QgQ01EOw0KICBfX0kgdWludDMyX3QgUkVTUENNRDsNCiAgX19JIHVpbnQzMl90IFJFU1AxOw0KICBfX0kgdWludDMyX3QgUkVTUDI7DQogIF9fSSB1aW50MzJfdCBSRVNQMzsNCiAgX19JIHVpbnQzMl90IFJFU1A0Ow0KICBfX0lPIHVpbnQzMl90IERUSU1FUjsNCiAgX19JTyB1aW50MzJfdCBETEVOOw0KICBfX0lPIHVpbnQzMl90IERDVFJMOw0KICBfX0kgdWludDMyX3QgRENPVU5UOw0KICBfX0kgdWludDMyX3QgU1RBOw0KICBfX0lPIHVpbnQzMl90IElDUjsNCiAgX19JTyB1aW50MzJfdCBNQVNLOw0KICB1aW50MzJfdCAgUkVTRVJWRUQwWzJdOw0KICBfX0kgdWludDMyX3QgRklGT0NOVDsNCiAgdWludDMyX3QgIFJFU0VSVkVEMVsxM107DQogIF9fSU8gdWludDMyX3QgRklGTzsNCn0gU0RJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgQ1JDUFI7DQogIF9fSU8gdWludDMyX3QgUlhDUkNSOw0KICBfX0lPIHVpbnQzMl90IFRYQ1JDUjsNCiAgX19JTyB1aW50MzJfdCBJMlNDRkdSOw0KfSBTUElfVHlwZURlZjsNCg0KLyoqDQogICogQGJyaWVmIFRJTSBUaW1lcnMNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU01DUjsgICAgICAgICAgICAvKiE8IFRJTSBzbGF2ZSBNb2RlIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgRElFUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEvaW50ZXJydXB0IGVuYWJsZSByZWdpc3RlciwgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgRUdSOyAgICAgICAgICAgICAvKiE8IFRJTSBldmVudCBnZW5lcmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjE7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMSwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjI7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMiwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgQ0NFUjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgZW5hYmxlIHJlZ2lzdGVyLCAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQogIF9fSU8gdWludDMyX3QgQ05UOyAgICAgICAgICAgICAvKiE8IFRJTSBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgUFNDOyAgICAgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICovDQogIF9fSU8gdWludDMyX3QgQVJSOyAgICAgICAgICAgICAvKiE8IFRJTSBhdXRvLXJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDJDICovDQogIF9fSU8gdWludDMyX3QgUkNSOyAgICAgICAgICAgICAvKiE8IFRJTSAgcmVwZXRpdGlvbiBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovDQogIF9fSU8gdWludDMyX3QgQ0NSMTsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM4ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMzsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMywgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovDQogIF9fSU8gdWludDMyX3QgQ0NSNDsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovDQogIF9fSU8gdWludDMyX3QgQkRUUjsgICAgICAgICAgICAvKiE8IFRJTSBicmVhayBhbmQgZGVhZC10aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ0ICovDQogIF9fSU8gdWludDMyX3QgRENSOyAgICAgICAgICAgICAvKiE8IFRJTSBETUEgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovDQogIF9fSU8gdWludDMyX3QgRE1BUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEgYWRkcmVzcyBmb3IgZnVsbCB0cmFuc2ZlciByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovDQogIF9fSU8gdWludDMyX3QgT1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBvcHRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovDQp9VElNX1R5cGVEZWY7DQoNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyDQogICovDQogDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgIC8qITwgVVNBUlQgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgVVNBUlQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IEJSUjsgICAgICAgIC8qITwgVVNBUlQgQmF1ZCByYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMzsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IEdUUFI7ICAgICAgIC8qITwgVVNBUlQgR3VhcmQgdGltZSBhbmQgcHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KfSBVU0FSVF9UeXBlRGVmOw0KDQoNCg0KLyoqIA0KICAqIEBicmllZiBXaW5kb3cgV0FUQ0hET0cNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsgICAvKiE8IFdXREcgQ29udHJvbCByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBDRlI7ICAvKiE8IFdXREcgQ29uZmlndXJhdGlvbiByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBTUjsgICAvKiE8IFdXREcgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCn0gV1dER19UeXBlRGVmOw0KDQovKioNCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX21lbW9yeV9tYXANCiAgKiBAew0KICAqLw0KDQoNCiNkZWZpbmUgRkxBU0hfQkFTRSAgICAgICAgICAgIDB4MDgwMDAwMDBVIC8qITwgRkxBU0ggYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8NCiNkZWZpbmUgRkxBU0hfQkFOSzFfRU5EICAgICAgIDB4MDgwMDdGRkZVIC8qITwgRkxBU0ggRU5EIGFkZHJlc3Mgb2YgYmFuazEgKi8NCiNkZWZpbmUgU1JBTV9CQVNFICAgICAgICAgICAgIDB4MjAwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkFTRSAgICAgICAgICAgMHg0MDAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQoNCiNkZWZpbmUgU1JBTV9CQl9CQVNFICAgICAgICAgIDB4MjIwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGJpdC1iYW5kIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkJfQkFTRSAgICAgICAgMHg0MjAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQoNCg0KLyohPCBQZXJpcGhlcmFsIG1lbW9yeSBtYXAgKi8NCiNkZWZpbmUgQVBCMVBFUklQSF9CQVNFICAgICAgIFBFUklQSF9CQVNFDQojZGVmaW5lIEFQQjJQRVJJUEhfQkFTRSAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDEwMDAwVSkNCiNkZWZpbmUgQUhCUEVSSVBIX0JBU0UgICAgICAgIChQRVJJUEhfQkFTRSArIDB4MDAwMjAwMDBVKQ0KDQojZGVmaW5lIFRJTTJfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDAwMFUpDQojZGVmaW5lIFRJTTNfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMDQwMFUpDQojZGVmaW5lIFJUQ19CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMjgwMFUpDQojZGVmaW5lIFdXREdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMkMwMFUpDQojZGVmaW5lIElXREdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwMzAwMFUpDQojZGVmaW5lIFVTQVJUMl9CQVNFICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNDQwMFUpDQojZGVmaW5lIEkyQzFfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNTQwMFUpDQojZGVmaW5lIEJLUF9CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNkMwMFUpDQojZGVmaW5lIFBXUl9CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNzAwMFUpDQojZGVmaW5lIEFGSU9fQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMDAwMFUpDQojZGVmaW5lIEVYVElfQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMDQwMFUpDQojZGVmaW5lIEdQSU9BX0JBU0UgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMDgwMFUpDQojZGVmaW5lIEdQSU9CX0JBU0UgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMEMwMFUpDQojZGVmaW5lIEdQSU9DX0JBU0UgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMTAwMFUpDQojZGVmaW5lIEdQSU9EX0JBU0UgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMTQwMFUpDQojZGVmaW5lIEFEQzFfQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMjQwMFUpDQojZGVmaW5lIFNQSTFfQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMzAwMFUpDQojZGVmaW5lIFVTQVJUMV9CQVNFICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwMzgwMFUpDQoNCiNkZWZpbmUgU0RJT19CQVNFICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArIDB4MDAwMTgwMDBVKQ0KDQojZGVmaW5lIERNQTFfQkFTRSAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDAwVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMV9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDhVKQ0KI2RlZmluZSBETUExX0NoYW5uZWwyX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAxQ1UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDNfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDMwVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNF9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwNDRVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw1X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA1OFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDZfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDZDVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsN19CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwODBVKQ0KI2RlZmluZSBSQ0NfQkFTRSAgICAgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMTAwMFUpDQojZGVmaW5lIENSQ19CQVNFICAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAzMDAwVSkNCg0KI2RlZmluZSBGTEFTSF9SX0JBU0UgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMjAwMFUpIC8qITwgRmxhc2ggcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KI2RlZmluZSBGTEFTSFNJWkVfQkFTRSAgICAgICAgMHgxRkZGRjdFMFUgICAgLyohPCBGTEFTSCBTaXplIHJlZ2lzdGVyIGJhc2UgYWRkcmVzcyAqLw0KI2RlZmluZSBVSURfQkFTRSAgICAgICAgICAgICAgMHgxRkZGRjdFOFUgICAgLyohPCBVbmlxdWUgZGV2aWNlIElEIHJlZ2lzdGVyIGJhc2UgYWRkcmVzcyAqLw0KI2RlZmluZSBPQl9CQVNFICAgICAgICAgICAgICAgMHgxRkZGRjgwMFUgICAgLyohPCBGbGFzaCBPcHRpb24gQnl0ZXMgYmFzZSBhZGRyZXNzICovDQoNCg0KDQojZGVmaW5lIERCR01DVV9CQVNFICAgICAgICAgIDB4RTAwNDIwMDBVIC8qITwgRGVidWcgTUNVIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8NCg0KDQoNCi8qKg0KICAqIEB9DQogICovDQogIA0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfZGVjbGFyYXRpb24NCiAgKiBAew0KICAqLyAgDQoNCiNkZWZpbmUgVElNMiAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMl9CQVNFKQ0KI2RlZmluZSBUSU0zICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0zX0JBU0UpDQojZGVmaW5lIFJUQyAgICAgICAgICAgICAgICAgKChSVENfVHlwZURlZiAqKVJUQ19CQVNFKQ0KI2RlZmluZSBXV0RHICAgICAgICAgICAgICAgICgoV1dER19UeXBlRGVmICopV1dER19CQVNFKQ0KI2RlZmluZSBJV0RHICAgICAgICAgICAgICAgICgoSVdER19UeXBlRGVmICopSVdER19CQVNFKQ0KI2RlZmluZSBVU0FSVDIgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUMl9CQVNFKQ0KI2RlZmluZSBJMkMxICAgICAgICAgICAgICAgICgoSTJDX1R5cGVEZWYgKilJMkMxX0JBU0UpDQojZGVmaW5lIEJLUCAgICAgICAgICAgICAgICAgKChCS1BfVHlwZURlZiAqKUJLUF9CQVNFKQ0KI2RlZmluZSBQV1IgICAgICAgICAgICAgICAgICgoUFdSX1R5cGVEZWYgKilQV1JfQkFTRSkNCiNkZWZpbmUgQUZJTyAgICAgICAgICAgICAgICAoKEFGSU9fVHlwZURlZiAqKUFGSU9fQkFTRSkNCiNkZWZpbmUgRVhUSSAgICAgICAgICAgICAgICAoKEVYVElfVHlwZURlZiAqKUVYVElfQkFTRSkNCiNkZWZpbmUgR1BJT0EgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9BX0JBU0UpDQojZGVmaW5lIEdQSU9CICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPQl9CQVNFKQ0KI2RlZmluZSBHUElPQyAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0NfQkFTRSkNCiNkZWZpbmUgR1BJT0QgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9EX0JBU0UpDQojZGVmaW5lIEFEQzEgICAgICAgICAgICAgICAgKChBRENfVHlwZURlZiAqKUFEQzFfQkFTRSkNCiNkZWZpbmUgQURDMV9DT01NT04gICAgICAgICAoKEFEQ19Db21tb25fVHlwZURlZiAqKUFEQzFfQkFTRSkNCiNkZWZpbmUgU1BJMSAgICAgICAgICAgICAgICAoKFNQSV9UeXBlRGVmICopU1BJMV9CQVNFKQ0KI2RlZmluZSBVU0FSVDEgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUMV9CQVNFKQ0KI2RlZmluZSBTRElPICAgICAgICAgICAgICAgICgoU0RJT19UeXBlRGVmICopU0RJT19CQVNFKQ0KI2RlZmluZSBETUExICAgICAgICAgICAgICAgICgoRE1BX1R5cGVEZWYgKilETUExX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDEgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsMV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwyICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDJfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMyAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWwzX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDQgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsNF9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw1ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDVfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw2X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDcgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsN19CQVNFKQ0KI2RlZmluZSBSQ0MgICAgICAgICAgICAgICAgICgoUkNDX1R5cGVEZWYgKilSQ0NfQkFTRSkNCiNkZWZpbmUgQ1JDICAgICAgICAgICAgICAgICAoKENSQ19UeXBlRGVmICopQ1JDX0JBU0UpDQojZGVmaW5lIEZMQVNIICAgICAgICAgICAgICAgKChGTEFTSF9UeXBlRGVmICopRkxBU0hfUl9CQVNFKQ0KI2RlZmluZSBPQiAgICAgICAgICAgICAgICAgICgoT0JfVHlwZURlZiAqKU9CX0JBU0UpDQojZGVmaW5lIERCR01DVSAgICAgICAgICAgICAgKChEQkdNQ1VfVHlwZURlZiAqKURCR01DVV9CQVNFKQ0KDQoNCi8qKg0KICAqIEB9DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBFeHBvcnRlZF9jb25zdGFudHMNCiAgKiBAew0KICAqLw0KICANCiAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbg0KICAqIEB7DQogICovDQogICAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgUGVyaXBoZXJhbCBSZWdpc3RlcnNfQml0c19EZWZpbml0aW9uICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgIENSQyBjYWxjdWxhdGlvbiB1bml0IChDUkMpICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgQ1JDX0RSX0RSX1BvcykgICAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBDUkNfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgICBDUkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19JRFJfSURSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19JRFJfSURSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBDUkNfSURSX0lEUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIENSQ19JRFJfSURSICAgICAgICAgICAgICAgICAgICAgICAgIENSQ19JRFJfSURSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsLXB1cnBvc2UgOC1iaXQgZGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IENSQ19DUl9SRVNFVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIENSQ19DUl9SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgIENSQ19DUl9SRVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSRVNFVCBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG93ZXIgQ29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFBXUl9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFBXUl9DUl9MUERTX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9MUERTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9MUERTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFBXUl9DUl9MUERTICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9MUERTX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBMb3ctUG93ZXIgRGVlcHNsZWVwICovDQojZGVmaW5lIFBXUl9DUl9QRERTX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QRERTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QRERTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFBXUl9DUl9QRERTICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QRERTX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQb3dlciBEb3duIERlZXBzbGVlcCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1dVRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfQ1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfQ1dVRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1dVRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfQ1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgV2FrZXVwIEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NSX0NTQkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0NTQkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0NTQkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUFdSX0NSX0NTQkYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0NTQkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFN0YW5kYnkgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1JfUFZERV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUFZERV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUFZERV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBQV1JfQ1JfUFZERSAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUFZERV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUG93ZXIgVm9sdGFnZSBEZXRlY3RvciBFbmFibGUgKi8NCg0KI2RlZmluZSBQV1JfQ1JfUExTX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUExTX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDBFMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTICAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUExTWzI6MF0gYml0cyAoUFZEIExldmVsIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KLyohPCBQVkQgbGV2ZWwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjJWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuM1YgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYyICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi40ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA2MFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjVWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuNlYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY1ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi43ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBDMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjhWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEUwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuOVYgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18yVjIgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMA0KI2RlZmluZSBQV1JfQ1JfUExTXzJWMyAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYxDQojZGVmaW5lIFBXUl9DUl9QTFNfMlY0ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjINCiNkZWZpbmUgUFdSX0NSX1BMU18yVjUgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMw0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNiAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY0DQojZGVmaW5lIFBXUl9DUl9QTFNfMlY3ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjUNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjggICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNg0KI2RlZmluZSBQV1JfQ1JfUExTXzJWOSAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY3DQoNCiNkZWZpbmUgUFdSX0NSX0RCUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0RCUF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUFdSX0NSX0RCUCAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IERpc2FibGUgQmFja3VwIERvbWFpbiB3cml0ZSBwcm90ZWN0aW9uICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBQV1JfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9XVUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdha2V1cCBGbGFnICovDQojZGVmaW5lIFBXUl9DU1JfU0JGX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfU0JGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFBXUl9DU1JfU0JGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTdGFuZGJ5IEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NTUl9QVkRPX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9QVkRPX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9QVkRPX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUFdSX0NTUl9QVkRPICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9QVkRPX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBPdXRwdXQgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9FV1VQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9FV1VQX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9FV1VQX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBXS1VQIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhY2t1cCByZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMV9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjJfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjJfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjJfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzX0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzX0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNF9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNF9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjVfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjVfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjVfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI2X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI2X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI2X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSN19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSN19EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSN19EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSN19EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSN19EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSOCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjhfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjhfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjhfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI5X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI5X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI5X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTBfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTBfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTBfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCiNkZWZpbmUgUlRDX0JLUF9OVU1CRVIgMTANCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9SVENDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IEJLUF9SVENDUl9DQUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTCAgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENhbGlicmF0aW9uIHZhbHVlICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9DQ09fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ08gICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDYWxpYnJhdGlvbiBDbG9jayBPdXRwdXQgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX1JUQ0NSX0FTT0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0UgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIG9yIFNlY29uZCBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9BU09TX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBvciBTZWNvbmQgT3V0cHV0IFNlbGVjdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfQ1JfVFBFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1JfVFBFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBCS1BfQ1JfVFBFICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVEFNUEVSIHBpbiBlbmFibGUgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NSX1RQQUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUwgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBwaW4gYWN0aXZlIGxldmVsICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9DU1JfQ1RFX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfQ1RFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEJLUF9DU1JfQ1RFICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBUYW1wZXIgZXZlbnQgKi8NCiNkZWZpbmUgQktQX0NTUl9DVElfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9DVElfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NTUl9DVEkgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFRhbXBlciBJbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9UUElFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBQaW4gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX1RFRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRiAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVGFtcGVyIEV2ZW50IEZsYWcgKi8NCiNkZWZpbmUgQktQX0NTUl9USUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9USUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQktQX0NTUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRhbXBlciBJbnRlcnJ1cHQgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0IGFuZCBDbG9jayBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0lPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNJUkRZX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBSQ0NfQ1JfSFNJVFJJTV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRjggKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU0gICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lUUklNX01zayAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgdHJpbW1pbmcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQ2FsaWJyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFUkRZX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VCWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VCWVBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQnlwYXNzICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfQ1NTT05fUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfQ1NTT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMT05fUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBQTEwgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMUkRZX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBQTEwgY2xvY2sgcmVhZHkgZmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQovKiE8IFNXIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1cgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1NXX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNXWzE6MF0gYml0cyAoU3lzdGVtIGNsb2NrIFN3aXRjaCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0kgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0UgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19QTEwgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KDQovKiE8IFNXUyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFJDQ19DRkdSX1NXUyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9TV1NfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTV1NbMTowXSBiaXRzIChTeXN0ZW0gQ2xvY2sgU3dpdGNoIFN0YXR1cykgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfSFNJICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIG9zY2lsbGF0b3IgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTRSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19QTEwgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4VSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KLyohPCBIUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0hQUkVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEhQUkVbMzowXSBiaXRzIChBSEIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMSAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYyICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY0ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwOTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY4ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxNiAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDE2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNjQgICAgICAgICAgICAgICAgICAweDAwMDAwMEMwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA2NCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEyOCAgICAgICAgICAgICAgICAgMHgwMDAwMDBEMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTI4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMjU2ICAgICAgICAgICAgICAgICAweDAwMDAwMEUwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyNTYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY1MTIgICAgICAgICAgICAgICAgIDB4MDAwMDAwRjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDUxMiAqLw0KDQovKiE8IFBQUkUxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA3MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTEgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAvKiE8IFBSRTFbMjowXSBiaXRzIChBUEIxIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYyICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWNCAgICAgICAgICAgICAgICAgIDB4MDAwMDA1MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjggICAgICAgICAgICAgICAgICAweDAwMDAwNjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxNiAgICAgICAgICAgICAgICAgMHgwMDAwMDcwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovDQoNCi8qITwgUFBSRTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMzgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUFJFMlsyOjBdIGJpdHMgKEFQQjIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjEgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjIgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVY0ICAgICAgICAgICAgICAgICAgMHgwMDAwMjgwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWOCAgICAgICAgICAgICAgICAgIDB4MDAwMDMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjE2ICAgICAgICAgICAgICAgICAweDAwMDAzODAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCg0KLyohPCBBRENQUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX0FEQ1BSRV9Qb3MpICAgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0FEQ1BSRV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQ1BSRVsxOjBdIGJpdHMgKEFEQyBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWNCAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY2ICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjggICAgICAgICAgICAgICAgIDB4MDAwMEMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgOCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExTUkNfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExTUkNfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgZW50cnkgY2xvY2sgc291cmNlICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfUG9zICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTFhUUFJFX1BvcykgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkUgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTFhUUFJFX01zayAgICAgICAgICAgICAvKiE8IEhTRSBkaXZpZGVyIGZvciBQTEwgZW50cnkgKi8NCg0KLyohPCBQTExNVUwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX01zayAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDNDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTF9Nc2sgICAgICAgICAgICAgIC8qITwgUExMTVVMWzM6MF0gYml0cyAoUExMIG11bHRpcGxpY2F0aW9uIGZhY3RvcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8zICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9IU0UgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0UgY2xvY2sgbm90IGRpdmlkZWQgZm9yIFBMTCBlbnRyeSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9IU0VfRElWMiAgICAgICAgICAgMHgwMDAyMDAwMFUgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0UgY2xvY2sgZGl2aWRlZCBieSAyIGZvciBQTEwgZW50cnkgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDNfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDNfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEwzX1BvcykgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDMgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwzX01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayozICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0X1BvcyAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMNF9Qb3MpICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMNF9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNV9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDVfUG9zKSAgIC8qITwgMHgwMDBDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDVfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjUgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDZfUG9zICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDZfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEw2X1BvcykgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDYgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw2X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo2ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3X01zayAgICAgICAgICAgICAgICAoMHg1VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMN19Qb3MpICAgLyohPCAweDAwMTQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMN19Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOF9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDhfUG9zKSAgIC8qITwgMHgwMDE4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOCAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDhfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjggKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDlfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDlfTXNrICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BMTE1VTEw5X1BvcykgICAvKiE8IDB4MDAxQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDkgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw5X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo5ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMF9Qb3MgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTBfUG9zKSAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMCAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTBfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTFfUG9zICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTFfTXNrICAgICAgICAgICAgICAgKDB4OVUgPDwgUkNDX0NGR1JfUExMTVVMTDExX1BvcykgIC8qITwgMHgwMDI0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTEgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDExX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjExICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMl9Qb3MgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMl9Nc2sgICAgICAgICAgICAgICAoMHg1VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTJfUG9zKSAgLyohPCAweDAwMjgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMiAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTJfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzX1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzX01zayAgICAgICAgICAgICAgICgweEJVIDw8IFJDQ19DRkdSX1BMTE1VTEwxM19Qb3MpICAvKiE8IDB4MDAyQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxM19Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTRfUG9zICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTRfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDE0X1BvcykgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTQgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDE0X01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNV9Qb3MgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNV9Nc2sgICAgICAgICAgICAgICAoMHhEVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTVfUG9zKSAgLyohPCAweDAwMzQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTVfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTUgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2X1BvcyAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2X01zayAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BMTE1VTEwxNl9Qb3MpICAvKiE8IDB4MDAzODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2ICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxNl9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNiAqLw0KDQovKiE8IE1DTyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX01DT19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9NQ09fUG9zKSAgICAgICAgLyohPCAweDA3MDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DTyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fTXNrICAgICAgICAgICAgICAgICAgLyohPCBNQ09bMjowXSBiaXRzIChNaWNyb2NvbnRyb2xsZXIgQ2xvY2sgT3V0cHV0KSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMiAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX01DT19OT0NMT0NLICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX1NZU0NMSyAgICAgICAgICAgICAgICAgIDB4MDQwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNJICAgICAgICAgICAgICAgICAgICAgMHgwNTAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTSSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19IU0UgICAgICAgICAgICAgICAgICAgICAweDA2MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19QTExDTEtfRElWMiAgICAgICAgICAgICAweDA3MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIGRpdmlkZWQgYnkgMiBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQoNCiAvKiBSZWZlcmVuY2UgZGVmaW5lcyAqLw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DTw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18wDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzENCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8yICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMg0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19OT0NMT0NLDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfU1lTQ0xLICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX1NZU0NMSw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0hTSSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19IU0kNCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0UgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fSFNFDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfUExMX0RJVjIgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX1BMTENMS19ESVYyDQoNCi8qITwqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0lSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfQ1NTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0NTU0ZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTRiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0NTU0ZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUlFX1BvcykgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlDX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlDX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlDX1BvcykgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlDX1BvcykgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUNfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlDX1BvcykgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBDbGVhciAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0NfUG9zICAgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0NTU0NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NDX1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0MgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIEludGVycnVwdCBDbGVhciAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIyUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQUZJT1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0FGSU9SU1RfTXNrICAgICAgICAgIC8qITwgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Qb3MgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEFSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BBUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEEgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1RfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BCUlNUX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BCUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBCIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUX1BvcyAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQ1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUENSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgQyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Qb3MgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUERSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUERSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BEUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEQgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1RfUG9zICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9BREMxUlNUX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BREMxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Nc2sgICAgICAgICAgLyohPCBBREMgMSBpbnRlcmZhY2UgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUX1BvcyAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1RJTTFSU1RfTXNrICAgICAgICAgIC8qITwgVElNMSBUaW1lciByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1NQSTFSU1RfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NQSTFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9TUEkxUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAxIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX01zayAgICAgICAgLyohPCBVU0FSVDEgcmVzZXQgKi8NCg0KDQoNCg0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIxUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTJSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU0zUlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Nc2sgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Qb3MgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVCAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAvKiE8IFVTQVJUIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfUG9zICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Nc2sgICAgICAgICAgLyohPCBJMkMgMSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Qb3MgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9CS1BSU1RfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9CS1BSU1RfTXNrICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Qb3MgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAvKiE8IFBvd2VyIGludGVyZmFjZSByZXNldCAqLw0KDQoNCg0KDQoNCg0KDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BSEJFTlJfRE1BMUVOX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfRE1BMUVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0RNQTFFTl9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BSEJFTlJfRE1BMUVOICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0RNQTFFTl9Nc2sgICAgICAgICAgICAgLyohPCBETUExIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTl9Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9TUkFNRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTiAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9TUkFNRU5fTXNrICAgICAgICAgICAgIC8qITwgU1JBTSBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfRkxJVEZFTl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfRkxJVEZFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zKSAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BSEJFTlJfRkxJVEZFTiAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAgICAgLyohPCBGTElURiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9DUkNFTl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9DUkNFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfQ1JDRU5fUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9DUkNFTiAgICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfQ1JDRU5fTXNrICAgICAgICAgICAgICAvKiE8IENSQyBjbG9jayBlbmFibGUgKi8NCg0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIyRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0FGSU9FTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0FGSU9FTl9Nc2sgICAgICAgICAgICAvKiE8IEFsdGVybmF0ZSBGdW5jdGlvbiBJL08gY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTl9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BBRU5fUG9zKSAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BBRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBBIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU5fUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QQkVOX1BvcykgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QQkVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgQiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUENFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUENFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTl9Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BERU5fUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BERU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBEIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfQURDMUVOX1BvcykgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfQURDMUVOX01zayAgICAgICAgICAgIC8qITwgQURDIDEgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTFFTl9Qb3MpICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1RJTTFFTl9Nc2sgICAgICAgICAgICAvKiE8IFRJTTEgVGltZXIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTl9Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9TUEkxRU5fUG9zKSAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9TUEkxRU5fTXNrICAgICAgICAgICAgLyohPCBTUEkgMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fUG9zICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1VTQVJUMUVOX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Nc2sgICAgICAgICAgLyohPCBVU0FSVDEgY2xvY2sgZW5hYmxlICovDQoNCg0KDQoNCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMUVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNMkVOX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNMkVOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgMiBjbG9jayBlbmFibGVkKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTNFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTNFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9XV0RHRU5fUG9zKSAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9XV0RHRU5fTXNrICAgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX1BvcyAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNBUlQyRU5fTXNrICAgICAgICAgIC8qITwgVVNBUlQgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX1BvcyAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAvKiE8IEkyQyAxIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fUG9zICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0JLUEVOX1BvcykgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0JLUEVOX01zayAgICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX1BvcyAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MpICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCg0KDQoNCg0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQkRDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFT05fUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFT05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRU9OX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFT04gICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRU9OX01zayAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFUkRZX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VSRFkgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfTFNFUkRZX01zayAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgUmVhZHkgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFQllQX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFQllQX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRUJZUF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFQllQICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRUJZUF9Nc2sgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIEJ5cGFzcyAqLw0KDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9SVENTRUxfTXNrICAgICAgICAgICAgICAgLyohPCBSVENTRUxbMTowXSBiaXRzIChSVEMgY2xvY2sgc291cmNlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KLyohPCBSVEMgY29uZ2lndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTk9DTE9DSyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTRSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0kgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0kgb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfSFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDMwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIG9zY2lsbGF0b3IgY2xvY2sgZGl2aWRlZCBieSAxMjggdXNlZCBhcyBSVEMgY2xvY2sgKi8NCg0KI2RlZmluZSBSQ0NfQkRDUl9SVENFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9SVENFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfUlRDRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENFTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfUlRDRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgUlRDIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9CRFJTVF9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9CRFJTVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfQkRSU1RfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9CRFJTVCAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfQkRSU1RfTXNrICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRvbWFpbiBzb2Z0d2FyZSByZXNldCAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8gIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MU0lPTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MU0lPTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xTSVJEWV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xTSVJEWV9Nc2sgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBSZWFkeSAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JNVkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1JNVkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9STVZGX1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JNVkYgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9STVZGX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVtb3ZlIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGX1BvcyAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUElOUlNURl9Qb3MpICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUElOUlNURl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBJTiByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1BPUlJTVEZfUG9zKSAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1BPUlJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBQT1IvUERSIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGX1BvcyAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfU0ZUUlNURl9Qb3MpICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfU0ZUUlNURl9Nc2sgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIFJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURl9Qb3MgICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfSVdER1JTVEZfUG9zKSAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURiAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfSVdER1JTVEZfTXNrICAgICAgICAgICAgICAvKiE8IEluZGVwZW5kZW50IFdhdGNoZG9nIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9XV0RHUlNURl9Qb3MgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9XV0RHUlNURl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfV1dER1JTVEZfUG9zKSAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9XV0RHUlNURiAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfV1dER1JTVEZfTXNrICAgICAgICAgICAgICAvKiE8IFdpbmRvdyB3YXRjaGRvZyByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfTFBXUlJTVEZfUG9zICAgICAgICAgICAgICAgICAoMzFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFBXUlJTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xQV1JSU1RGX1BvcykgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfTFBXUlJTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xQV1JSU1RGX01zayAgICAgICAgICAgICAgLyohPCBMb3ctUG93ZXIgcmVzZXQgZmxhZyAqLw0KDQoNCiANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgR2VuZXJhbCBQdXJwb3NlIGFuZCBBbHRlcm5hdGUgRnVuY3Rpb24gSS9PICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQ1JMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MzMzMzMzMzNVIDw8IEdQSU9fQ1JMX01PREVfUG9zKSAvKiE8IDB4MzMzMzMzMzMgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBtb2RlIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTBfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTBbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMCkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFMV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTFfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTFbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFMl9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTJfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTJbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMikgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFM19Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTNfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTNbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMykgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTRfUG9zKSAgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTRfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTRbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNCkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFNV9Qb3MgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTVfUG9zKSAgICAgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTVfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTVbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFNl9Qb3MgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTZfUG9zKSAgICAgIC8qITwgMHgwMzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTZfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTZbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNikgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9NT0RFN19Qb3MgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9NT0RFN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfTU9ERTdfUG9zKSAgICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERTdfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTdbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gNykgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MzMzMzMzMzNVIDw8IEdQSU9fQ1JMX0NORl9Qb3MpIC8qITwgMHhDQ0NDQ0NDQyAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYwX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYwWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDApICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjBfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GMV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjFbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GMlsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAyKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYzX1BvcykgICAgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYzX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYzWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDMpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYzX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYzX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjRfUG9zKSAgICAgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjRbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNCkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjRfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjRfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY1X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GNV9Qb3MpICAgICAgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GNVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA1KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY1XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GNV9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY1XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GNV9Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY2X1BvcykgICAgICAgLyohPCAweDBDMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY2X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY2WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDYpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY2X1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjZfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY2X1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GN19Qb3MgICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjdfUG9zKSAgICAgICAvKiE8IDB4QzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjdbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNykgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GN18wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjdfUG9zKSAgICAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GN18xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjdfUG9zKSAgICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0NSSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSSF9NT0RFX1BvcykgLyohPCAweDMzMzMzMzMzICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggbW9kZSBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERThfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERThfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREU4X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTggICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREU4X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU4WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDgpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTlfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTlfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREU5X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTkgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREU5X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU5WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDkpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxMF9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxMFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEwXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTExX1BvcykgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTEgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTExX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTExWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDExKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTExX1BvcykgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTFfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTExX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTJfUG9zKSAgICAgLyohPCAweDAwMDMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMiAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTJfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTJbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTIpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTJfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTJfUG9zKSAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzX1BvcyAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxM19Qb3MpICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxM19Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxM1sxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMykgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxM19Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEzXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxM19Qb3MpICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTE0X1BvcykgICAgIC8qITwgMHgwMzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTQgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTE0X01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTE0WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDE0KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTE0X1BvcykgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTRfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTE0X1BvcykgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV9Qb3MgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTVfUG9zKSAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNSAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTVfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTVbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTUpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTVfUG9zKSAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTVfUG9zKSAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSSF9DTkZfUG9zKSAvKiE8IDB4Q0NDQ0NDQ0MgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkY4X1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkY4X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GOFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA4KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY4XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY4XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkY5X1BvcykgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkY5X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY5WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDkpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkY5X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjlfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkY5X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEwX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEwWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEwKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxMVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjExX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjExX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDBDMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTJbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTIpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEyXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxMl9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEyXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxMl9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfUG9zICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEzX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEzWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEzKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxM18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTNfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxM18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTNfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDBDMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxNFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxNCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTRfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjE0X1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTRfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjE0X1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHhDMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTVbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTUpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE1XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxNV9Qb3MpICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE1XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxNV9Qb3MpICAgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qITwqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjdfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDggKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEzX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEzICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX09EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAzICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA2ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDggKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA5ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjExX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0JTUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAzICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM1X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA1ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA2ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlM5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlM5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCA5ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDEyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDE1ICovDQoNCiNkZWZpbmUgR1BJT19CU1JSX0JSMF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMV9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIyX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSM19Qb3MgICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjNfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSNF9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjVfUG9zICAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI1X1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNl9Qb3MgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjZfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSN19Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjhfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI4X1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDggKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSOV9Qb3MgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjlfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTBfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTFfUG9zKSAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTJfUG9zKSAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTNfUG9zKSAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTRfUG9zKSAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMTVfUG9zKSAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQlJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JSUl9CUjBfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIwX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMSAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIyX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIyX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIyICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjNfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjMgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIzX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAzICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSNF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNCAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI1X1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI1X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI1ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjZfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjYgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI2X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA2ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSN19Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSN19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNyAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI4X1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI4X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI4ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjlfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjkgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI5X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA5ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTBfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTFfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDExICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTJfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjEyX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjEyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEyICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEzICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTVfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMTVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjE1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMTUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjE1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0xDS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0swX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0swX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0swICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0syX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0syX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAyICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0szX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0szX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLM19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0szICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s1X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLNl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s2ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzdfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzdfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s4X1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzggICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s4X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s5ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEwX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEwX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDEwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTFfUG9zKSAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMSAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEyX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMl9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEyICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEzX1BvcykgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTMgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEzX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDEzICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTRfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNCAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxNV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE1ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxNV9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxNSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDS0tfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLSyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDS0tfTXNrICAgICAgICAgICAgICAgIC8qITwgTG9jayBrZXkgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVZDUl9QSU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTiAgICAgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IFBJTlszOjBdIGJpdHMgKFBpbiBzZWxlY3Rpb24pICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qITwgUElOIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBpbiAwIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BYMV9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMV9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gMSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMl9Qb3MgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDJfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMiAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDJfTXNrICAgICAgICAgICAgIC8qITwgUGluIDIgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDNfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFgzX1BvcykgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDMgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgzX01zayAgICAgICAgICAgICAvKiE8IFBpbiAzIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg0X1BvcyAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg0X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BYNF9Qb3MpICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg0ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYNF9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNV9Nc2sgICAgICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FVkNSX1BJTl9QWDVfUG9zKSAgIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDVfTXNrICAgICAgICAgICAgIC8qITwgUGluIDUgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDZfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDZfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFg2X1BvcykgICAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDYgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg2X01zayAgICAgICAgICAgICAvKiE8IFBpbiA2IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg3X1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg3X01zayAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUElOX1BYN19Qb3MpICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg3ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYN19Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOF9Qb3MgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDhfUG9zKSAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOCAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDhfTXNrICAgICAgICAgICAgIC8qITwgUGluIDggc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDlfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDlfTXNrICAgICAgICAgICAgICAgICgweDlVIDw8IEFGSU9fRVZDUl9QSU5fUFg5X1BvcykgICAvKiE8IDB4MDAwMDAwMDkgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDkgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg5X01zayAgICAgICAgICAgICAvKiE8IFBpbiA5IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMF9Nc2sgICAgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VWQ1JfUElOX1BYMTBfUG9zKSAgLyohPCAweDAwMDAwMDBBICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMCAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTBfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTAgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDExX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDExX01zayAgICAgICAgICAgICAgICgweEJVIDw8IEFGSU9fRVZDUl9QSU5fUFgxMV9Qb3MpICAvKiE8IDB4MDAwMDAwMEIgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDExICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxMV9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTJfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTJfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FVkNSX1BJTl9QWDEyX1BvcykgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTIgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEyX01zayAgICAgICAgICAgIC8qITwgUGluIDEyIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxM19Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxM19Nc2sgICAgICAgICAgICAgICAoMHhEVSA8PCBBRklPX0VWQ1JfUElOX1BYMTNfUG9zKSAgLyohPCAweDAwMDAwMDBEICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMyAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTNfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTMgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE0X1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE0X01zayAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fRVZDUl9QSU5fUFgxNF9Qb3MpICAvKiE8IDB4MDAwMDAwMEUgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE0ICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxNF9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxNCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTVfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTVfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FVkNSX1BJTl9QWDE1X1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTUgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDE1X01zayAgICAgICAgICAgIC8qITwgUGluIDE1IHNlbGVjdGVkICovDQoNCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlQgICAgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX01zayAgICAgICAgICAgICAgICAvKiE8IFBPUlRbMjowXSBiaXRzIChQb3J0IHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFGSU9fRVZDUl9QT1JUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyohPCBQT1JUIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEEgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgQSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQl9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUEJfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQiAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUEJfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBCIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BDX1BvcyAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BDX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9QQ19Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BDICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QQ19Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEMgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUERfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUERfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QT1JUX1BEX1BvcykgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEQgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BEX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgRCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRV9Qb3MgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUEVfUG9zKSAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUEVfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBFIHNlbGVjdGVkICovDQoNCiNkZWZpbmUgQUZJT19FVkNSX0VWT0VfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX0VWT0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9FVk9FX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX0VWT0UgICAgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9FVk9FX01zayAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE91dHB1dCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fTUFQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NQSTFfUkVNQVBfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NQSTFfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TUEkxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfU1BJMV9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBTUEkxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfSTJDMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfSTJDMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX0kyQzFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9JMkMxX1JFTUFQX01zayAgICAgICAgICAvKiE8IEkyQzEgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDFfUkVNQVBfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDFfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVVNBUlQxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDFfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQxX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDEgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDJfUkVNQVBfUG9zICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDJfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVVNBUlQyX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDJfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQyX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDIgcmVtYXBwaW5nICovDQoNCg0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTFfUkVNQVBbMTowXSBiaXRzIChUSU0xIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFRJTTFfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKEVUUi9QQTEyLCBDSDEvUEE4LCBDSDIvUEE5LCBDSDMvUEExMCwgQ0g0L1BBMTEsIEJLSU4vUEIxMiwgQ0gxTi9QQjEzLCBDSDJOL1BCMTQsIENIM04vUEIxNSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX1BvcyAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChFVFIvUEExMiwgQ0gxL1BBOCwgQ0gyL1BBOSwgQ0gzL1BBMTAsIENINC9QQTExLCBCS0lOL1BBNiwgQ0gxTi9QQTcsIENIMk4vUEIwLCBDSDNOL1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKEVUUi9QRTcsIENIMS9QRTksIENIMi9QRTExLCBDSDMvUEUxMywgQ0g0L1BFMTQsIEJLSU4vUEUxNSwgQ0gxTi9QRTgsIENIMk4vUEUxMCwgQ0gzTi9QRTEyKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNMl9SRU1BUFsxOjBdIGJpdHMgKFRJTTIgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgVElNMl9SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoQ0gxL0VUUi9QQTAsIENIMi9QQTEsIENIMy9QQTIsIENINC9QQTMpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMSAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL0VUUi9QQTE1LCBDSDIvUEIzLCBDSDMvUEEyLCBDSDQvUEEzKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcyAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDIgICBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKENIMS9FVFIvUEEwLCBDSDIvUEExLCBDSDMvUEIxMCwgQ0g0L1BCMTEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Qb3MgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9GVUxMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQICAgICAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgLyohPCBGdWxsIHJlbWFwIChDSDEvRVRSL1BBMTUsIENIMi9QQjMsIENIMy9QQjEwLCBDSDQvUEIxMSkgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0zX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTNfUkVNQVBbMTowXSBiaXRzIChUSU0zIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KDQovKiE8IFRJTTNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKENIMS9QQTYsIENIMi9QQTcsIENIMy9QQjAsIENINC9QQjEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUCAgICBBRklPX01BUFJfVElNM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL1BCNCwgQ0gyL1BCNSwgQ0gzL1BCMCwgQ0g0L1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKENIMS9QQzYsIENIMi9QQzcsIENIMy9QQzgsIENINC9QQzkpICovDQoNCg0KDQojZGVmaW5lIEFGSU9fTUFQUl9QRDAxX1JFTUFQX1BvcyAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9QRDAxX1JFTUFQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfUEQwMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1BEMDFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgUG9ydCBEMC9Qb3J0IEQxIG1hcHBpbmcgb24gT1NDX0lOL09TQ19PVVQgKi8NCg0KLyohPCBTV0pfQ0ZHIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTXNrICAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkcgICAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX01zayAgICAgICAgICAgICAvKiE8IFNXSl9DRkdbMjowXSBiaXRzIChTZXJpYWwgV2lyZSBKVEFHIGNvbmZpZ3VyYXRpb24pICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDA0MDAwMDAwICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfUkVTRVQgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bGwgU1dKIChKVEFHLURQICsgU1ctRFApIDogUmVzZXQgU3RhdGUgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfUG9zICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfTXNrICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Nc2sgICAgLyohPCBGdWxsIFNXSiAoSlRBRy1EUCArIFNXLURQKSBidXQgd2l0aG91dCBKTlRSU1QgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfUG9zICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfTXNrICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX1BvcykgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFICAgICAgICBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Nc2sgLyohPCBKVEFHLURQIERpc2FibGVkIGFuZCBTVy1EUCBFbmFibGVkICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfUG9zICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfTXNrICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEUgICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX01zayAgICAgLyohPCBKVEFHLURQIERpc2FibGVkIGFuZCBTVy1EUCBEaXNhYmxlZCAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTEgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX01zayAgICAgICAgICAgIC8qITwgRVhUSSAxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9Qb3MpICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUG9zKSAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMyAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDMgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEkwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEJfTXNrICAgICAgICAgLyohPCBQQlswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX01zayAgICAgICAgIC8qITwgUENbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEVfTXNrICAgICAgICAgLyohPCBQRVswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX01zayAgICAgICAgIC8qITwgUEZbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzBdIHBpbiAqLw0KDQovKiE8IEVYVEkxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEJfTXNrICAgICAgICAgLyohPCBQQlsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX01zayAgICAgICAgIC8qITwgUENbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEVfTXNrICAgICAgICAgLyohPCBQRVsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX01zayAgICAgICAgIC8qITwgUEZbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzFdIHBpbiAqLw0KDQovKiE8IEVYVEkyIGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUENfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUENfTXNrICAgICAgICAgLyohPCBQQ1syXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX01zayAgICAgICAgIC8qITwgUERbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Qb3MgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEZfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEZfTXNrICAgICAgICAgLyohPCBQRlsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX01zayAgICAgICAgIC8qITwgUEdbMl0gcGluICovDQoNCi8qITwgRVhUSTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Nc2sgICAgICAgICAvKiE8IFBCWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUENfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUENfTXNrICAgICAgICAgLyohPCBQQ1szXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX01zayAgICAgICAgIC8qITwgUERbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Nc2sgICAgICAgICAvKiE8IFBFWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEZfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEZfTXNrICAgICAgICAgLyohPCBQRlszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX01zayAgICAgICAgIC8qITwgUEdbM10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTUgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X01zayAgICAgICAgICAgIC8qITwgRVhUSSA1IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9Qb3MpICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUG9zKSAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNyAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDcgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEk0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEJfTXNrICAgICAgICAgLyohPCBQQls0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX01zayAgICAgICAgIC8qITwgUENbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEVfTXNrICAgICAgICAgLyohPCBQRVs0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX01zayAgICAgICAgIC8qITwgUEZbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzRdIHBpbiAqLw0KDQovKiBFWFRJNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX01zayAgICAgICAgIC8qITwgUEJbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUERfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUERfTXNrICAgICAgICAgLyohPCBQRFs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX01zayAgICAgICAgIC8qITwgUEVbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEdfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEdfTXNrICAgICAgICAgLyohPCBQR1s1XSBwaW4gKi8NCg0KLyohPCBFWFRJNiBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEJfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEJfTXNrICAgICAgICAgLyohPCBQQls2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX01zayAgICAgICAgIC8qITwgUENbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEVfUG9zICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEVfTXNrICAgICAgICAgLyohPCBQRVs2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX01zayAgICAgICAgIC8qITwgUEZbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Nc2sgICAgICAgICAvKiE8IFBHWzZdIHBpbiAqLw0KDQovKiE8IEVYVEk3IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEJfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEJfTXNrICAgICAgICAgLyohPCBQQls3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX01zayAgICAgICAgIC8qITwgUENbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Nc2sgICAgICAgICAvKiE8IFBEWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEVfTXNrICAgICAgICAgLyohPCBQRVs3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX01zayAgICAgICAgIC8qITwgUEZbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Nc2sgICAgICAgICAvKiE8IFBHWzddIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTggICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X01zayAgICAgICAgICAgIC8qITwgRVhUSSA4IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9Qb3MpICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgOSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BvcykgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX01zayAgICAgICAgICAgLyohPCBFWFRJIDEwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUG9zKSAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMSAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTEgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEk4IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEJfTXNrICAgICAgICAgLyohPCBQQls4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX01zayAgICAgICAgIC8qITwgUENbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEVfTXNrICAgICAgICAgLyohPCBQRVs4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX01zayAgICAgICAgIC8qITwgUEZbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzhdIHBpbiAqLw0KDQovKiE8IEVYVEk5IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEJfTXNrICAgICAgICAgLyohPCBQQls5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX01zayAgICAgICAgIC8qITwgUENbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEVfTXNrICAgICAgICAgLyohPCBQRVs5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX01zayAgICAgICAgIC8qITwgUEZbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzldIHBpbiAqLw0KDQovKiE8IEVYVEkxMCBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfTXNrICAgICAgICAvKiE8IFBCWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUENfTXNrICAgICAgICAvKiE8IFBDWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUERfTXNrICAgICAgICAvKiE8IFBEWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfTXNrICAgICAgICAvKiE8IFBFWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfTXNrICAgICAgICAvKiE8IFBGWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfTXNrICAgICAgICAvKiE8IFBHWzEwXSBwaW4gKi8NCg0KLyohPCBFWFRJMTEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Nc2sgICAgICAgIC8qITwgUENbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Nc2sgICAgICAgIC8qITwgUERbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFX1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Nc2sgICAgICAgIC8qITwgUEdbMTFdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BvcykgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTMgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX01zayAgICAgICAgICAgLyohPCBFWFRJIDEzIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUG9zKSAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNCAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9Qb3MpIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1ICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxNSBjb25maWd1cmF0aW9uICovDQoNCi8qIEVYVEkxMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BCX01zayAgICAgICAgLyohPCBQQlsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BDX01zayAgICAgICAgLyohPCBQQ1sxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BEX01zayAgICAgICAgLyohPCBQRFsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BFX01zayAgICAgICAgLyohPCBQRVsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BGX01zayAgICAgICAgLyohPCBQRlsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BHX01zayAgICAgICAgLyohPCBQR1sxMl0gcGluICovDQoNCi8qIEVYVEkxMyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BCX01zayAgICAgICAgLyohPCBQQlsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BDX01zayAgICAgICAgLyohPCBQQ1sxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BEX01zayAgICAgICAgLyohPCBQRFsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfUG9zICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BFX01zayAgICAgICAgLyohPCBQRVsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BGX01zayAgICAgICAgLyohPCBQRlsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BHX01zayAgICAgICAgLyohPCBQR1sxM10gcGluICovDQoNCi8qITwgRVhUSTE0IGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Nc2sgICAgICAgIC8qITwgUENbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Nc2sgICAgICAgIC8qITwgUERbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFX1BvcyAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Nc2sgICAgICAgIC8qITwgUEdbMTRdIHBpbiAqLw0KDQovKiE8IEVYVEkxNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BCX01zayAgICAgICAgLyohPCBQQlsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BDX01zayAgICAgICAgLyohPCBQQ1sxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BEX01zayAgICAgICAgLyohPCBQRFsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BFX01zayAgICAgICAgLyohPCBQRVsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BGX01zayAgICAgICAgLyohPCBQRlsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BHX01zayAgICAgICAgLyohPCBQR1sxNV0gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX01BUFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQoNCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCBJbnRlcnJ1cHQvRXZlbnQgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0lNUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfSU1SX01SMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfSU1SX01SMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfSU1SX01SNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfSU1SX01SNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfSU1SX01SOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfSU1SX01SOCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI5X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjExICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjExX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjEzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE1X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE2X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE3X1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE3X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE4X1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE4X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjE4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxOCAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfSU1SX0lNMCBFWFRJX0lNUl9NUjANCiNkZWZpbmUgIEVYVElfSU1SX0lNMSBFWFRJX0lNUl9NUjENCiNkZWZpbmUgIEVYVElfSU1SX0lNMiBFWFRJX0lNUl9NUjINCiNkZWZpbmUgIEVYVElfSU1SX0lNMyBFWFRJX0lNUl9NUjMNCiNkZWZpbmUgIEVYVElfSU1SX0lNNCBFWFRJX0lNUl9NUjQNCiNkZWZpbmUgIEVYVElfSU1SX0lNNSBFWFRJX0lNUl9NUjUNCiNkZWZpbmUgIEVYVElfSU1SX0lNNiBFWFRJX0lNUl9NUjYNCiNkZWZpbmUgIEVYVElfSU1SX0lNNyBFWFRJX0lNUl9NUjcNCiNkZWZpbmUgIEVYVElfSU1SX0lNOCBFWFRJX0lNUl9NUjgNCiNkZWZpbmUgIEVYVElfSU1SX0lNOSBFWFRJX0lNUl9NUjkNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTAgRVhUSV9JTVJfTVIxMA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMSBFWFRJX0lNUl9NUjExDQojZGVmaW5lICBFWFRJX0lNUl9JTTEyIEVYVElfSU1SX01SMTINCiNkZWZpbmUgIEVYVElfSU1SX0lNMTMgRVhUSV9JTVJfTVIxMw0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNCBFWFRJX0lNUl9NUjE0DQojZGVmaW5lICBFWFRJX0lNUl9JTTE1IEVYVElfSU1SX01SMTUNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTYgRVhUSV9JTVJfTVIxNg0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNyBFWFRJX0lNUl9NUjE3DQojZGVmaW5lICBFWFRJX0lNUl9JTTE4IEVYVElfSU1SX01SMTgNCiNkZWZpbmUgIEVYVElfSU1SX0lNICAgMHgwMDA3RkZGRlUgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgQWxsICovDQogDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRU1SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfRU1SX01SMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfRU1SX01SMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjMgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfRU1SX01SNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfRU1SX01SNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjYgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfRU1SX01SOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfRU1SX01SOCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SOF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjlfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjkgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjExICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjExX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfRU1SX01SMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTIgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTVfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTUgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE3X1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE3X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfRU1SX01SMThfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMThfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMThfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTggICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMThfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0VNUl9FTTAgRVhUSV9FTVJfTVIwDQojZGVmaW5lICBFWFRJX0VNUl9FTTEgRVhUSV9FTVJfTVIxDQojZGVmaW5lICBFWFRJX0VNUl9FTTIgRVhUSV9FTVJfTVIyDQojZGVmaW5lICBFWFRJX0VNUl9FTTMgRVhUSV9FTVJfTVIzDQojZGVmaW5lICBFWFRJX0VNUl9FTTQgRVhUSV9FTVJfTVI0DQojZGVmaW5lICBFWFRJX0VNUl9FTTUgRVhUSV9FTVJfTVI1DQojZGVmaW5lICBFWFRJX0VNUl9FTTYgRVhUSV9FTVJfTVI2DQojZGVmaW5lICBFWFRJX0VNUl9FTTcgRVhUSV9FTVJfTVI3DQojZGVmaW5lICBFWFRJX0VNUl9FTTggRVhUSV9FTVJfTVI4DQojZGVmaW5lICBFWFRJX0VNUl9FTTkgRVhUSV9FTVJfTVI5DQojZGVmaW5lICBFWFRJX0VNUl9FTTEwIEVYVElfRU1SX01SMTANCiNkZWZpbmUgIEVYVElfRU1SX0VNMTEgRVhUSV9FTVJfTVIxMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMiBFWFRJX0VNUl9NUjEyDQojZGVmaW5lICBFWFRJX0VNUl9FTTEzIEVYVElfRU1SX01SMTMNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTQgRVhUSV9FTVJfTVIxNA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNSBFWFRJX0VNUl9NUjE1DQojZGVmaW5lICBFWFRJX0VNUl9FTTE2IEVYVElfRU1SX01SMTYNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTcgRVhUSV9FTVJfTVIxNw0KI2RlZmluZSAgRVhUSV9FTVJfRU0xOCBFWFRJX0VNUl9NUjE4DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1JUU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTQgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMTdfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTcgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMThfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMThfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1JUU1JfUlQwIEVYVElfUlRTUl9UUjANCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEgRVhUSV9SVFNSX1RSMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMiBFWFRJX1JUU1JfVFIyDQojZGVmaW5lICBFWFRJX1JUU1JfUlQzIEVYVElfUlRTUl9UUjMNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDQgRVhUSV9SVFNSX1RSNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNSBFWFRJX1JUU1JfVFI1DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ2IEVYVElfUlRTUl9UUjYNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDcgRVhUSV9SVFNSX1RSNw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUOCBFWFRJX1JUU1JfVFI4DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ5IEVYVElfUlRTUl9UUjkNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEwIEVYVElfUlRTUl9UUjEwDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMSBFWFRJX1JUU1JfVFIxMQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTIgRVhUSV9SVFNSX1RSMTINCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEzIEVYVElfUlRTUl9UUjEzDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNCBFWFRJX1JUU1JfVFIxNA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTUgRVhUSV9SVFNSX1RSMTUNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE2IEVYVElfUlRTUl9UUjE2DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNyBFWFRJX1JUU1JfVFIxNw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTggRVhUSV9SVFNSX1RSMTgNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRlRTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjExX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjExICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMiAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0X1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNSAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTZfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3X1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE3X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxOF9Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxOF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxOF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxOCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQwIEVYVElfRlRTUl9UUjANCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEgRVhUSV9GVFNSX1RSMQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMiBFWFRJX0ZUU1JfVFIyDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQzIEVYVElfRlRTUl9UUjMNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDQgRVhUSV9GVFNSX1RSNA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNSBFWFRJX0ZUU1JfVFI1DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ2IEVYVElfRlRTUl9UUjYNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDcgRVhUSV9GVFNSX1RSNw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUOCBFWFRJX0ZUU1JfVFI4DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ5IEVYVElfRlRTUl9UUjkNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEwIEVYVElfRlRTUl9UUjEwDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMSBFWFRJX0ZUU1JfVFIxMQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTIgRVhUSV9GVFNSX1RSMTINCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEzIEVYVElfRlRTUl9UUjEzDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNCBFWFRJX0ZUU1JfVFIxNA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTUgRVhUSV9GVFNSX1RSMTUNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE2IEVYVElfRlRTUl9UUjE2DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNyBFWFRJX0ZUU1JfVFIxNw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTggRVhUSV9GVFNSX1RSMTgNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfU1dJRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjBfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjAgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjFfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjFfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjMgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjQgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjRfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjVfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjUgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjZfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjYgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjdfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjcgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjdfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjhfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjggICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjlfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjkgICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcyAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEwX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEwICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEwX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMV9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMSAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMV9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTJfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTIgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTJfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcyAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEzX1BvcykgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEzICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEzX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTVfUG9zKSAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTUgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTVfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE2X1BvcykgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE2ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE2X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Qb3MgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxN19Qb3MpICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNyAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxN19Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMThfUG9zICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMThfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMThfUG9zKSAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTggICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMThfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTAgRVhUSV9TV0lFUl9TV0lFUjANCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMSBFWFRJX1NXSUVSX1NXSUVSMQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kyIEVYVElfU1dJRVJfU1dJRVIyDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTMgRVhUSV9TV0lFUl9TV0lFUjMNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNCBFWFRJX1NXSUVSX1NXSUVSNA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k1IEVYVElfU1dJRVJfU1dJRVI1DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTYgRVhUSV9TV0lFUl9TV0lFUjYNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNyBFWFRJX1NXSUVSX1NXSUVSNw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k4IEVYVElfU1dJRVJfU1dJRVI4DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTkgRVhUSV9TV0lFUl9TV0lFUjkNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTAgRVhUSV9TV0lFUl9TV0lFUjEwDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTExIEVYVElfU1dJRVJfU1dJRVIxMQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMiBFWFRJX1NXSUVSX1NXSUVSMTINCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTMgRVhUSV9TV0lFUl9TV0lFUjEzDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE0IEVYVElfU1dJRVJfU1dJRVIxNA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNSBFWFRJX1NXSUVSX1NXSUVSMTUNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTYgRVhUSV9TV0lFUl9TV0lFUjE2DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE3IEVYVElfU1dJRVJfU1dJRVIxNw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxOCBFWFRJX1NXSUVSX1NXSUVSMTgNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjBfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjBfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjBfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjBfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjJfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjIgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjNfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjMgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjRfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjQgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjVfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjUgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjZfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjYgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjdfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjdfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjcgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjdfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjhfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjhfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjggICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjhfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjlfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjlfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjkgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjlfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEwX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjEwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjEwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTJfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjEzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjEzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfUFJfUFIxNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTVfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE2X1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfUFJfUFIxN19Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxN19Qb3MpICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMThfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMThfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMThfUG9zKSAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMThfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1BSX1BJRjAgRVhUSV9QUl9QUjANCiNkZWZpbmUgIEVYVElfUFJfUElGMSBFWFRJX1BSX1BSMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYyIEVYVElfUFJfUFIyDQojZGVmaW5lICBFWFRJX1BSX1BJRjMgRVhUSV9QUl9QUjMNCiNkZWZpbmUgIEVYVElfUFJfUElGNCBFWFRJX1BSX1BSNA0KI2RlZmluZSAgRVhUSV9QUl9QSUY1IEVYVElfUFJfUFI1DQojZGVmaW5lICBFWFRJX1BSX1BJRjYgRVhUSV9QUl9QUjYNCiNkZWZpbmUgIEVYVElfUFJfUElGNyBFWFRJX1BSX1BSNw0KI2RlZmluZSAgRVhUSV9QUl9QSUY4IEVYVElfUFJfUFI4DQojZGVmaW5lICBFWFRJX1BSX1BJRjkgRVhUSV9QUl9QUjkNCiNkZWZpbmUgIEVYVElfUFJfUElGMTAgRVhUSV9QUl9QUjEwDQojZGVmaW5lICBFWFRJX1BSX1BJRjExIEVYVElfUFJfUFIxMQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMiBFWFRJX1BSX1BSMTINCiNkZWZpbmUgIEVYVElfUFJfUElGMTMgRVhUSV9QUl9QUjEzDQojZGVmaW5lICBFWFRJX1BSX1BJRjE0IEVYVElfUFJfUFIxNA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNSBFWFRJX1BSX1BSMTUNCiNkZWZpbmUgIEVYVElfUFJfUElGMTYgRVhUSV9QUl9QUjE2DQojZGVmaW5lICBFWFRJX1BSX1BJRjE3IEVYVElfUFJfUFIxNw0KI2RlZmluZSAgRVhUSV9QUl9QSUYxOCBFWFRJX1BSX1BSMTgNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0lTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9JU1JfR0lGMSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JU1JfVENJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjNfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjMgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNCAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjZfUG9zKSAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjYgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGN19Qb3MgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGN19Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjdfUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY3X1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY3X1BvcykgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSUZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjEgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjIgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjMgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjQgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Qb3MgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNF9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjUgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNV9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY1X1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Qb3MgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNV9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjZfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjYgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNl9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY2X1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Qb3MgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNl9Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjdfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjcgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Qb3MgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGN19Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY3X1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Qb3MgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGN19Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ0NSIHJlZ2lzdGVyICAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NDUl9FTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9FTl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0NDUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfVENJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfVENJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9DQ1JfVENJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc2ZlciBjb21wbGV0ZSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfSFRJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfSFRJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBIYWxmIFRyYW5zZmVyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9URUlFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9URUlFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9URUlFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0NDUl9URUlFICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9URUlFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGVycm9yIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVJfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9ESVJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVIgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfQ0lSQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfQ0lSQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaXJjdWxhciBtb2RlICovDQojZGVmaW5lIERNQV9DQ1JfUElOQ19Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUElOQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUElOQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9DQ1JfUElOQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUElOQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIGluY3JlbWVudCBtb2RlICovDQojZGVmaW5lIERNQV9DQ1JfTUlOQ19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTUlOQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTUlOQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9DQ1JfTUlOQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTUlOQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgaW5jcmVtZW50IG1vZGUgKi8NCg0KI2RlZmluZSBETUFfQ0NSX1BTSVpFX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BTSVpFX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BTSVpFX01zayAgICAgICAgICAgICAgICAgIC8qITwgUFNJWkVbMTowXSBiaXRzIChQZXJpcGhlcmFsIHNpemUpICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9NU0laRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE1TSVpFWzE6MF0gYml0cyAoTWVtb3J5IHNpemUpICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QTF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTCAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QTF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMWzE6MF0gYml0cyhDaGFubmVsIFByaW9yaXR5IGxldmVsKSAqLw0KI2RlZmluZSBETUFfQ0NSX1BMXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BMXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTV9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTUVNMk1FTV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTSAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTUVNMk1FTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgdG8gbWVtb3J5IG1vZGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTkRUUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgRE1BX0NORFRSX05EVF9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBkYXRhIHRvIFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ1BBUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DUEFSX1BBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUl9QQV9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DUEFSX1BBICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTUFSICByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NNQVJfTUFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DTUFSX01BX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUEgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NNQVJfTUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyIChBREMpICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKg0KICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBmYW1pbHkpDQogKi8NCi8qIE5vdGU6IE5vIHNwZWNpZmljIG1hY3JvIGZlYXR1cmUgb24gdGhpcyBkZXZpY2UgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NSX0FXRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0FXRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0FXRF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NSX0FXRCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0FXRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9FT1NfUG9zICAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9FT1NfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9FT1NfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUl9FT1MgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9FT1NfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfSkVPU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfSkVPU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfSkVPU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1JfSkVPUyAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfSkVPU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9KU1RSVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9KU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgY29udmVyc2lvbiBzdGFydCBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9TVFJUX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9TVFJUX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TUl9TVFJUICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIHN0YXJ0IGZsYWcgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIEFEQ19TUl9FT0MgICAgICAgICAgICAgICAgICAgICAgICAgIChBRENfU1JfRU9TKQ0KI2RlZmluZSAgQURDX1NSX0pFT0MgICAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19TUl9KRU9TKQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRENIX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRENIX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIG1vbml0b3JlZCBjaGFubmVsIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19DUjFfRU9TSUVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRU9TSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19DUjFfRU9TSUUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfQVdESUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdESUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkVPU0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkVPU0lFX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU5fUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX1NDQU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX1NDQU5fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU4gICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX1NDQU5fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIHNjYW4gbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXRFNHTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRFNHTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIG1vbml0b3JpbmcgYSBzaW5nbGUgY2hhbm5lbCBvciBhbGwgY2hhbm5lbHMgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KQVVUT19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUTyAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KQVVUT19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBhdXRvbWF0aWMgdHJpZ2dlciBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRElTQ0VOX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRElTQ0VOX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkRJU0NFTl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTiAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkRJU0NFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbW9kZSAqLw0KDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Qb3MgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDBFMDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTSAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRElTQ05VTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBudW1iZXIgb2YgcmFua3MgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTl9Qb3MgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pBV0RFTl9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTiAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pBV0RFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGVuYWJsZSBvbiBzY29wZSBBREMgZ3JvdXAgaW5qZWN0ZWQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RFTl9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RFTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBlbmFibGUgb24gc2NvcGUgQURDIGdyb3VwIHJlZ3VsYXIgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIEFEQ19DUjFfRU9DSUUgICAgICAgICAgICAgICAgICAgICAgIChBRENfQ1IxX0VPU0lFKQ0KI2RlZmluZSAgQURDX0NSMV9KRU9DSUUgICAgICAgICAgICAgICAgICAgICAgKEFEQ19DUjFfSkVPU0lFKQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfQ1IyX0FET05fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0FET05fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0FET05fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfQ1IyX0FET04gICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FET05fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0NPTlRfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0NPTlRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0NPTlRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfQ1IyX0NPTlQgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0NPTlRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udGludW91cyBjb252ZXJzaW9uIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMl9DQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9DQUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NSMl9DQUwgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjYWxpYnJhdGlvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1JTVENBTF9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1JTVENBTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1JTVENBTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfQ1IyX1JTVENBTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1JTVENBTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNhbGlicmF0aW9uIHJlc2V0ICovDQojZGVmaW5lIEFEQ19DUjJfRE1BX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRE1BX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0FMSUdOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25lbWVudCAqLw0KDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTCAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZXh0ZXJuYWwgdHJpZ2dlciBzb3VyY2UgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pFWFRUUklHX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0pFWFRUUklHX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGV4dGVybmFsIHRyaWdnZXIgZW5hYmxlICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwRTAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUwgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgc291cmNlICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHX1BvcyAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9FWFRUUklHX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9FWFRUUklHX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlRfUG9zICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSlNXU1RBUlRfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlQgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSlNXU1RBUlRfTXNrICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgY29udmVyc2lvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfUG9zICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1NXU1RBUlRfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlQgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1NXU1RBUlRfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkVfUG9zICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1RTVlJFRkVfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkUgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1RTVlJFRkVfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGludGVybmFsIHBhdGggdG8gVnJlZkludCBhbmQgdGVtcGVyYXR1cmUgc2Vuc29yIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTAgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDExX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDExIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMUMwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMiAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMEUwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTMgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTMgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0X1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE0X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE0IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDM4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNSAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTYgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTZfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTYgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3X1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDBFMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE3X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE3IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMV9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMl9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMiAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QM19Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QM19Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMEUwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMyAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAzODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNl9Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNiAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QN19Qb3MgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QN19Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMEUwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNyAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QOF9Qb3MgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QOF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgOCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QOV9Qb3MgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QOV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgzODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgOSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxX01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjFfSk9GRlNFVDFfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxICAgICAgICAgICAgICAgICAgQURDX0pPRlIxX0pPRkZTRVQxX01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxIG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDJfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDJfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSMl9KT0ZGU0VUMl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDIgICAgICAgICAgICAgICAgICBBRENfSk9GUjJfSk9GRlNFVDJfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlIzX0pPRkZTRVQzX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUMyAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSM19KT0ZGU0VUM19Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0X1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0X01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjRfSk9GRlNFVDRfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0ICAgICAgICAgICAgICAgICAgQURDX0pPRlI0X0pPRkZTRVQ0X01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0IG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19IVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSFRSX0hUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSFRSX0hUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19IVFJfSFRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSFRSX0hUICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfSFRSX0hUX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIHRocmVzaG9sZCBoaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0xUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19MVFJfTFRfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19MVFJfTFRfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0xUUl9MVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19MVFJfTFQgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19MVFJfTFRfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgdGhyZXNob2xkIGxvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTMgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM180ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE0X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTQgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTUgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTYgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9MX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9MX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMEYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9MX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHNjYW4gbGVuZ3RoICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMyAgICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIyX1NRN19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIyX1NRNyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA3ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1E4X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1E4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1E4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDggKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTlfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTkgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgOSAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAxRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1ExMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4M0UwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMiAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1ExMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1EyX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1EyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1EyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDIgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTMgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMyAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA0ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1E1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1E1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDFGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1E1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDUgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTZfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgzRTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTYgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KU1FSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1ExX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1ExX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1EyX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1EyX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1EyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1EzX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1EzX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1EzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM180ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1E0X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1E0X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0ICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1E0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciBzY2FuIGxlbmd0aCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSMV9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSMV9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSMV9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSMV9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSMV9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIyX0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIyX0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMiBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjNfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjNfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjNfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjNfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjNfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSNF9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSNF9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSNF9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSNF9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSNF9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19EUl9EQVRBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19EUl9EQVRBX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19EUl9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19EUl9EQVRBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIGRhdGEgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lcnMgKFRJTSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DUjFfQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ0VOX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ0VOX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DUjFfQ0VOICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ0VOX01zayAgICAgICAgICAgICAgICAgICAgLyohPENvdW50ZXIgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DUjFfVURJU19Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfVURJU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVURJU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9DUjFfVURJUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfVURJU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBkaXNhYmxlICovDQojZGVmaW5lIFRJTV9DUjFfVVJTX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfVVJTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVVJTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DUjFfVVJTICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfVVJTX01zayAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSByZXF1ZXN0IHNvdXJjZSAqLw0KI2RlZmluZSBUSU1fQ1IxX09QTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX09QTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX09QTV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ1IxX09QTSAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX09QTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxPbmUgcHVsc2UgbW9kZSAqLw0KI2RlZmluZSBUSU1fQ1IxX0RJUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0RJUl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0RJUiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxEaXJlY3Rpb24gKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0NNU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NNU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0NNU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDTVNbMTowXSBiaXRzIChDZW50ZXItYWxpZ25lZCBtb2RlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVNfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVNfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0FSUEVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0FSUEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0FSUEVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ1IxX0FSUEUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0FSUEVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxBdXRvLXJlbG9hZCBwcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQ0tEX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ0tEX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ0tEX01zayAgICAgICAgICAgICAgICAgICAgLyohPENLRFsxOjBdIGJpdHMgKGNsb2NrIGRpdmlzaW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DUjJfQ0NQQ19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NQQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NQQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DUjJfQ0NQQyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NQQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBQcmVsb2FkZWQgQ29udHJvbCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDVVNfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX0NDVVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX0NDVVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDVVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX0NDVVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgQ29udHJvbCBVcGRhdGUgU2VsZWN0aW9uICovDQojZGVmaW5lIFRJTV9DUjJfQ0NEU19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NEU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NEU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DUjJfQ0NEUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NEU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBETUEgU2VsZWN0aW9uICovDQoNCiNkZWZpbmUgVElNX0NSMl9NTVNfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9NTVNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NSMl9NTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9NTVNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8TU1TWzI6MF0gYml0cyAoTWFzdGVyIE1vZGUgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DUjJfVEkxU19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfVEkxU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfVEkxU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DUjJfVEkxUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfVEkxU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRJMSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMxX01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMSAoT0MxIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxTl9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMxTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxTiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMxTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMSAoT0MxTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDIgKE9DMiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMk5fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMk5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMk5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMk4gICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMk5fTXNrICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDIgKE9DMk4gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAzIChPQzMgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzNOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNOICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzNOX01zayAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAzIChPQzNOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVM0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVM0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVM0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVM0ICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVM0X01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgNCAoT0M0IG91dHB1dCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fU01DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxTTVNbMjowXSBiaXRzIChTbGF2ZSBtb2RlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9UU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9UU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fU01DUl9UUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9UU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxUU1syOjBdIGJpdHMgKFRyaWdnZXIgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX01TTV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX01TTV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX01TTV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9TTUNSX01TTSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX01TTV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE1hc3Rlci9zbGF2ZSBtb2RlICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRVRGX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRGX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRGX01zayAgICAgICAgICAgICAgICAgICAvKiE8RVRGWzM6MF0gYml0cyAoRXh0ZXJuYWwgdHJpZ2dlciBmaWx0ZXIpICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRVRQU19Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRQU19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQUyAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRQU19Nc2sgICAgICAgICAgICAgICAgICAvKiE8RVRQU1sxOjBdIGJpdHMgKEV4dGVybmFsIHRyaWdnZXIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX0VDRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VDRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VDRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VDRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VDRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEV4dGVybmFsIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVFBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVFBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVFBfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFeHRlcm5hbCB0cmlnZ2VyIHBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RJRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RJRVJfVUlFX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVUlFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVUlFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0RJRVJfVUlFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVUlFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUVfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MxSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MxSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJJRV9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzJJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzJJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzJJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDM0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDM0lFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUVfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0M0SUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0M0SUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01JRV9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DT01JRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DT01JRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01JRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DT01JRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDT00gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9USUVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9USUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9USUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fRElFUl9USUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9USUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQklFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQklFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQklFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQklFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQklFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9VREVfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VREVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9VREUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMURFX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzJERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDNERFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01ERV9Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DT01ERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DT01ERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01ERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DT01ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDT00gRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RERV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9ESUVSX1RERSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgRE1BIHJlcXVlc3QgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1NSX1VJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX1VJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX1VJRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX1NSX1VJRiAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX1VJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzFJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzFJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzFJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9TUl9DQzFJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzFJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzJJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzJJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzJJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9TUl9DQzJJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzJJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzNJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzNJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzNJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9TUl9DQzNJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzNJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzRJRl9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzRJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzRJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9TUl9DQzRJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzRJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DT01JRl9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DT01JRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DT01JRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9TUl9DT01JRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DT01JRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENPTSBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfVElGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfVElGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fU1JfVElGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9CSUZfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9CSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9CSUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9TUl9CSUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9CSUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzFPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMk9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MzT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzRPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IE92ZXJjYXB0dXJlIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRUdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRUdSX1VHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX1VHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX1VHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRUdSX1VHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX1VHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMUdfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDMUdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDMUdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMUcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDMUdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MyR19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MyR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MyR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9FR1JfQ0MyRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MyR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzNHX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzNHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzNHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0VHUl9DQzNHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzNHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDNEdfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDNEdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDNEdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDNEcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDNEdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ09NR19Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ09NR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ09NR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9FR1JfQ09NRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ09NR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBDb250cm9sIFVwZGF0ZSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfVEdfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfVEdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfVEdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9FR1JfVEcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfVEdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0JHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0JHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0JHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fRUdSX0JHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0JHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBHZW5lcmF0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NNUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVMgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0NDMVNfTXNrICAgICAgICAgICAgICAgICAvKiE8Q0MxU1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSAxIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkVfUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxRkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxRkVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxIEZhc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFQRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDEgUHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxTV9Nc2sgICAgICAgICAgICAgICAgIC8qITxPQzFNWzI6MF0gYml0cyAoT3V0cHV0IENvbXBhcmUgMSBNb2RlKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRV9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFDRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFDRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDFDbGVhciBFbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfQ0MyU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzJTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDIgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMlBFX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMlBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJNX01zayAgICAgICAgICAgICAgICAgLyohPE9DMk1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAyIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFX1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMkNFX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMkNFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBDbGVhciBFbmFibGUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzFQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDMVBTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMSBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUYgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMUZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUMxRlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMSBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ19Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMlBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMyUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMyRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzJGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ01SMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzNTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDMgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDMgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM1BFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgLyohPE9DM01bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAzIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM0NFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBDbGVhciBFbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0UyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzRTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDQgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDQgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNFBFX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgLyohPE9DNE1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSA0IE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNENFX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNENFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBDbGVhciBFbmFibGUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzNQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDM1BTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMyBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0YgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDM0ZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUMzRlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMyBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ19Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDNFBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUM0UFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSA0IFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0RiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUM0Rl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzRGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSA0IEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVBfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMVBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMVBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORV9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFORV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFORV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlBfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxTlBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxTlBfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyRV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyRSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyTkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkUgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyTkVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMk5QX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM0VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0UgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM05FX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM05FX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUF9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNOUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUCAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNOUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzRFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzRFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFBfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNFBfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNFBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBQb2xhcml0eSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DTlRfQ05UX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQ05UX0NOVF9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9DTlRfQ05UICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgLyohPENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fUFNDIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fUFNDX1BTQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fUFNDX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fUFNDX1BTQ19Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fUFNDX1BTQyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fUFNDX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxQcmVzY2FsZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQVJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQVJSX0FSUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQVJSX0FSUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgVElNX0FSUl9BUlJfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBUSU1fQVJSX0FSUiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQVJSX0FSUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxhY3R1YWwgYXV0by1yZWxvYWQgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fUkNSX1JFUF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fUkNSX1JFUF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVElNX1JDUl9SRVBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBUSU1fUkNSX1JFUCAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fUkNSX1JFUF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxSZXBldGl0aW9uIENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSMV9DQ1IxX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSMV9DQ1IxX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IyX0NDUjJfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjIgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjNfQ0NSM19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjNfQ0NSM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjNfQ0NSM19Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjNfQ0NSMyAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjNfQ0NSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0X1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0X01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSNF9DQ1I0X1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0ICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSNF9DQ1I0X01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9CRFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9CRFRSX0RUR19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0RUR19Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFRJTV9CRFRSX0RURyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0RUR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPERUR1swOjddIGJpdHMgKERlYWQtVGltZSBHZW5lcmF0b3Igc2V0LXVwKSAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNSAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNiAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNyAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgLyohPExPQ0tbMTowXSBiaXRzIChMb2NrIENvbmZpZ3VyYXRpb24pICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0JEVFJfT1NTSV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfT1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfT1NTSV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTSSAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfT1NTSV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T2ZmLVN0YXRlIFNlbGVjdGlvbiBmb3IgSWRsZSBtb2RlICovDQojZGVmaW5lIFRJTV9CRFRSX09TU1JfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX09TU1JfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX09TU1JfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9CRFRSX09TU1IgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX09TU1JfTXNrICAgICAgICAgICAgICAgICAgLyohPE9mZi1TdGF0ZSBTZWxlY3Rpb24gZm9yIFJ1biBtb2RlICovDQojZGVmaW5lIFRJTV9CRFRSX0JLRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0JLRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0JLRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0JLRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0JLRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS1BfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9CS1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS1AgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQkRUUl9BT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9BT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9BT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9BT0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9BT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxBdXRvbWF0aWMgT3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9NT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9NT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9NT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9NT0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9NT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxNYWluIE91dHB1dCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRENSX0RCQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRENSX0RCQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBUSU1fRENSX0RCQSAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRENSX0RCQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxEQkFbNDowXSBiaXRzIChETUEgQmFzZSBBZGRyZXNzKSAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8wICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8xICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8yICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8zICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV80ICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIFRJTV9EQ1JfREJMX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxRjAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9EQ1JfREJMX01zayAgICAgICAgICAgICAgICAgICAgLyohPERCTFs0OjBdIGJpdHMgKERNQSBCdXJzdCBMZW5ndGgpICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RNQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0RNQVJfRE1BQl9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQiAgICAgICAgICAgICAgICAgICAgICAgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8RE1BIHJlZ2lzdGVyIGZvciBidXJzdCBhY2Nlc3NlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFsLVRpbWUgQ2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ1JIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NSSF9TRUNJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9TRUNJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9TRUNJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0NSSF9TRUNJRSAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9TRUNJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNlY29uZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJUQ19DUkhfQUxSSUVfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkhfQUxSSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkhfQUxSSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19DUkhfQUxSSUUgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkhfQUxSSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJUQ19DUkhfT1dJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkhfT1dJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkhfT1dJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19DUkhfT1dJRSAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkhfT1dJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyZmxvVyBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DUkxfU0VDRl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfU0VDRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfU0VDRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19DUkxfU0VDRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfU0VDRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTZWNvbmQgRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX0FMUkZfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX0FMUkZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX0FMUkZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSVENfQ1JMX0FMUkYgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX0FMUkZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWxhcm0gRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX09XRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX09XRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX09XRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSVENfQ1JMX09XRiAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX09XRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcmZsb1cgRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX1JTRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX1JTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX1JTRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSVENfQ1JMX1JTRiAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX1JTRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUmVnaXN0ZXJzIFN5bmNocm9uaXplZCBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfQ05GX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19DUkxfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDb25maWd1cmF0aW9uIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9SVE9GRl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9SVE9GRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9SVE9GRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX0NSTF9SVE9GRiAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9SVE9GRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBvcGVyYXRpb24gT0ZGICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX1BSTEggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19QUkxIX1BSTF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19QUkxIX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFJUQ19QUkxIX1BSTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19QUkxIX1BSTCAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19QUkxIX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSVEMgUHJlc2NhbGVyIFJlbG9hZCBWYWx1ZSBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX1BSTEwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19QUkxMX1BSTF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19QUkxMX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19QUkxMX1BSTF9Qb3MpICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19QUkxMX1BSTCAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19QUkxMX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSVEMgUHJlc2NhbGVyIFJlbG9hZCBWYWx1ZSBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfRElWSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJVl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX0RJVkhfUlRDX0RJVl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJViAgICAgICAgICAgICAgICAgICAgUlRDX0RJVkhfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDbG9jayBEaXZpZGVyIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfRElWTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJVl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0RJVkxfUlRDX0RJVl9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJViAgICAgICAgICAgICAgICAgICAgUlRDX0RJVkxfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDbG9jayBEaXZpZGVyIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DTlRIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQ05USF9SVENfQ05UX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UICAgICAgICAgICAgICAgICAgICBSVENfQ05USF9SVENfQ05UX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENvdW50ZXIgSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DTlRMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQ05UTF9SVENfQ05UX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UICAgICAgICAgICAgICAgICAgICBSVENfQ05UTF9SVENfQ05UX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENvdW50ZXIgTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19BTFJIX1JUQ19BTFJfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFIgICAgICAgICAgICAgICAgICAgIFJUQ19BTFJIX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQWxhcm0gSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19BTFJMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQUxSTF9SVENfQUxSX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSICAgICAgICAgICAgICAgICAgICBSVENfQUxSTF9SVENfQUxSX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIEFsYXJtIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXBlbmRlbnQgV0FUQ0hET0cgKElXREcpICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19LUl9LRVlfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgSVdER19LUl9LRVlfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgSVdER19LUl9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEtleSB2YWx1ZSAod3JpdGUgb25seSwgcmVhZCAwMDAwaCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19QUl9QUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgSVdER19QUl9QUiAgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBSWzI6MF0gKFByZXNjYWxlciBkaXZpZGVyKSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUkxSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1JMUl9STF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IElXREdfUkxSX1JMX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJV0RHX1JMUl9STCAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19TUl9QVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9QVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSVdER19TUl9QVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIHByZXNjYWxlciB2YWx1ZSB1cGRhdGUgKi8NCiNkZWZpbmUgSVdER19TUl9SVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9SVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSVdER19TUl9SVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIGNvdW50ZXIgcmVsb2FkIHZhbHVlIHVwZGF0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvdyBXQVRDSERPRyAoV1dERykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19DUl9UX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgV1dER19DUl9UICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRbNjowXSBiaXRzICg3LUJpdCBjb3VudGVyIChNU0IgdG8gTFNCKSkgKi8NCiNkZWZpbmUgV1dER19DUl9UXzAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19DUl9UXzEgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgV1dER19DUl9UXzIgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgV1dER19DUl9UXzMgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgV1dER19DUl9UXzQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgV1dER19DUl9UXzUgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgV1dER19DUl9UXzYgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ1JfVDAgV1dER19DUl9UXzANCiNkZWZpbmUgIFdXREdfQ1JfVDEgV1dER19DUl9UXzENCiNkZWZpbmUgIFdXREdfQ1JfVDIgV1dER19DUl9UXzINCiNkZWZpbmUgIFdXREdfQ1JfVDMgV1dER19DUl9UXzMNCiNkZWZpbmUgIFdXREdfQ1JfVDQgV1dER19DUl9UXzQNCiNkZWZpbmUgIFdXREdfQ1JfVDUgV1dER19DUl9UXzUNCiNkZWZpbmUgIFdXREdfQ1JfVDYgV1dER19DUl9UXzYNCg0KI2RlZmluZSBXV0RHX0NSX1dER0FfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NSX1dER0FfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NSX1dER0FfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBXV0RHX0NSX1dER0EgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NSX1dER0FfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWN0aXZhdGlvbiBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX0NGUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19DRlJfV19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfV19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgV1dER19DRlJfVyAgICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfV19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFdbNjowXSBiaXRzICg3LWJpdCB3aW5kb3cgdmFsdWUpICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMyAgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNCAgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNSAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNiAgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NGUl9XMCBXV0RHX0NGUl9XXzANCiNkZWZpbmUgIFdXREdfQ0ZSX1cxIFdXREdfQ0ZSX1dfMQ0KI2RlZmluZSAgV1dER19DRlJfVzIgV1dER19DRlJfV18yDQojZGVmaW5lICBXV0RHX0NGUl9XMyBXV0RHX0NGUl9XXzMNCiNkZWZpbmUgIFdXREdfQ0ZSX1c0IFdXREdfQ0ZSX1dfNA0KI2RlZmluZSAgV1dER19DRlJfVzUgV1dER19DRlJfV181DQojZGVmaW5lICBXV0RHX0NGUl9XNiBXV0RHX0NGUl9XXzYNCg0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDE4MCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQiAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9XREdUQl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV0RHVEJbMTowXSBiaXRzIChUaW1lciBCYXNlKSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DRlJfV0RHVEIwIFdXREdfQ0ZSX1dER1RCXzANCiNkZWZpbmUgIFdXREdfQ0ZSX1dER1RCMSBXV0RHX0NGUl9XREdUQl8xDQoNCiNkZWZpbmUgV1dER19DRlJfRVdJX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfRVdJX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19DRlJfRVdJX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgV1dER19DRlJfRVdJICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfRVdJX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVhcmx5IFdha2V1cCBJbnRlcnJ1cHQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19TUl9FV0lGX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19TUl9FV0lGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19TUl9FV0lGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19TUl9FV0lGICAgICAgICAgICAgICAgICAgICAgICAgV1dER19TUl9FV0lGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVhcmx5IFdha2V1cCBJbnRlcnJ1cHQgRmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgIFNEIGhvc3QgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19QT1dFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfTXNrICAgICAgICAgICAgICAoMHgzVSA8PCBTRElPX1BPV0VSX1BXUkNUUkxfUG9zKSAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkwgICAgICAgICAgICAgICAgICBTRElPX1BPV0VSX1BXUkNUUkxfTXNrICAgICAgICAgICAgIC8qITwgUFdSQ1RSTFsxOjBdIGJpdHMgKFBvd2VyIHN1cHBseSBjb250cm9sIGJpdHMpICovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF8wICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MpICAgLyohPCAweDAxICovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF8xICAgICAgICAgICAgICAgICgweDJVIDw8IFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MpICAgLyohPCAweDAyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0NMS0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRElWX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRElWX01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBTRElPX0NMS0NSX0NMS0RJVl9Qb3MpICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRElWICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfQ0xLRElWX01zayAgICAgICAgICAgICAgLyohPCBDbG9jayBkaXZpZGUgZmFjdG9yICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRU5fUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfQ0xLRU5fUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRU4gICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfQ0xLRU5fTXNrICAgICAgICAgICAgICAgLyohPCBDbG9jayBlbmFibGUgYml0ICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfUFdSU0FWX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfUFdSU0FWX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfUFdSU0FWX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfUFdSU0FWICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfUFdSU0FWX01zayAgICAgICAgICAgICAgLyohPCBQb3dlciBzYXZpbmcgY29uZmlndXJhdGlvbiBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9CWVBBU1NfUG9zICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9CWVBBU1NfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9CWVBBU1NfUG9zKSAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9CWVBBU1MgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9CWVBBU1NfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIGRpdmlkZXIgYnlwYXNzIGVuYWJsZSBiaXQgKi8NCg0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU19Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU19Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBTRElPX0NMS0NSX1dJREJVU19Qb3MpICAgIC8qITwgMHgwMDAwMTgwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVUyAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX1dJREJVU19Nc2sgICAgICAgICAgICAgIC8qITwgV0lEQlVTWzE6MF0gYml0cyAoV2lkZSBidXMgbW9kZSBlbmFibGUgYml0KSAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU18wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX1dJREJVU19Qb3MpICAgIC8qITwgMHgwODAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDEwMDAgKi8NCg0KI2RlZmluZSBTRElPX0NMS0NSX05FR0VER0VfUG9zICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX05FR0VER0VfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX05FR0VER0VfUG9zKSAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX05FR0VER0UgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX05FR0VER0VfTXNrICAgICAgICAgICAgIC8qITwgU0RJT19DSyBkZXBoYXNpbmcgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0hXRkNfRU5fUG9zICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0hXRkNfRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX0hXRkNfRU5fUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0hXRkNfRU4gICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0hXRkNfRU5fTXNrICAgICAgICAgICAgIC8qITwgSFcgRmxvdyBDb250cm9sIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQVJHIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0FSR19DTURBUkdfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0FSR19DTURBUkdfTXNrICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19BUkdfQ01EQVJHX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fQVJHX0NNREFSRyAgICAgICAgICAgICAgICAgICAgIFNESU9fQVJHX0NNREFSR19Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIGFyZ3VtZW50ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19DTUQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fQ01EX0NNRElOREVYX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0NNRElOREVYX01zayAgICAgICAgICAgICAgICgweDNGVSA8PCBTRElPX0NNRF9DTURJTkRFWF9Qb3MpICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIFNESU9fQ01EX0NNRElOREVYICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX0NNRElOREVYX01zayAgICAgICAgICAgICAgLyohPCBDb21tYW5kIEluZGV4ICovDQoNCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgU0RJT19DTURfV0FJVFJFU1BfUG9zKSAgICAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1AgICAgICAgICAgICAgICAgICAgU0RJT19DTURfV0FJVFJFU1BfTXNrICAgICAgICAgICAgICAvKiE8IFdBSVRSRVNQWzE6MF0gYml0cyAoV2FpdCBmb3IgcmVzcG9uc2UgYml0cykgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfV0FJVFJFU1BfUG9zKSAgICAvKiE8IDB4MDA0MCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDgwICovDQoNCiNkZWZpbmUgU0RJT19DTURfV0FJVElOVF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfV0FJVElOVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfV0FJVElOVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVElOVCAgICAgICAgICAgICAgICAgICAgU0RJT19DTURfV0FJVElOVF9Nc2sgICAgICAgICAgICAgICAvKiE8IENQU00gV2FpdHMgZm9yIEludGVycnVwdCBSZXF1ZXN0ICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRQRU5EX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1dBSVRQRU5EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1dBSVRQRU5EX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRQRU5EICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX1dBSVRQRU5EX01zayAgICAgICAgICAgICAgLyohPCBDUFNNIFdhaXRzIGZvciBlbmRzIG9mIGRhdGEgdHJhbnNmZXIgKENtZFBlbmQgaW50ZXJuYWwgc2lnbmFsKSAqLw0KI2RlZmluZSBTRElPX0NNRF9DUFNNRU5fUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9DUFNNRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9DUFNNRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9DUFNNRU4gICAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9DUFNNRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBwYXRoIHN0YXRlIG1hY2hpbmUgKENQU00pIEVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTURfU0RJT1NVU1BFTkRfUG9zICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfU0RJT1NVU1BFTkRfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfU0RJT1NVU1BFTkRfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19DTURfU0RJT1NVU1BFTkQgICAgICAgICAgICAgICAgU0RJT19DTURfU0RJT1NVU1BFTkRfTXNrICAgICAgICAgICAvKiE8IFNEIEkvTyBzdXNwZW5kIGNvbW1hbmQgKi8NCiNkZWZpbmUgU0RJT19DTURfRU5DTURDT01QTF9Qb3MgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfRU5DTURDT01QTF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfRU5DTURDT01QTF9Qb3MpICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfRU5DTURDT01QTCAgICAgICAgICAgICAgICAgU0RJT19DTURfRU5DTURDT01QTF9Nc2sgICAgICAgICAgICAvKiE8IEVuYWJsZSBDTUQgY29tcGxldGlvbiAqLw0KI2RlZmluZSBTRElPX0NNRF9OSUVOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9OSUVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9OSUVOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9OSUVOICAgICAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9OSUVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgTm90IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19DTURfQ0VBVEFDTURfUG9zICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfQ0VBVEFDTURfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfQ0VBVEFDTURfUG9zKSAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfQ0VBVEFDTUQgICAgICAgICAgICAgICAgICAgU0RJT19DTURfQ0VBVEFDTURfTXNrICAgICAgICAgICAgICAvKiE8IENFLUFUQSBjb21tYW5kICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUENNRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUENNRF9SRVNQQ01EX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUENNRF9SRVNQQ01EX01zayAgICAgICAgICAgICgweDNGVSA8PCBTRElPX1JFU1BDTURfUkVTUENNRF9Qb3MpIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBTRElPX1JFU1BDTURfUkVTUENNRCAgICAgICAgICAgICAgICBTRElPX1JFU1BDTURfUkVTUENNRF9Nc2sgICAgICAgICAgIC8qITwgUmVzcG9uc2UgY29tbWFuZCBpbmRleCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AwX0NBUkRTVEFUVVMwICAgICAgICAgICAgICBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQMV9DQVJEU1RBVFVTMSAgICAgICAgICAgICAgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzIgICAgICAgICAgICAgIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AzX0NBUkRTVEFUVVMzICAgICAgICAgICAgICBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQNF9DQVJEU1RBVFVTNCAgICAgICAgICAgICAgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RUSU1FUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRFRJTUVSX0RBVEFUSU1FX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRFRJTUVSX0RBVEFUSU1FX01zayAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0RUSU1FUl9EQVRBVElNRV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0RUSU1FUl9EQVRBVElNRSAgICAgICAgICAgICAgICBTRElPX0RUSU1FUl9EQVRBVElNRV9Nc2sgICAgICAgICAgIC8qITwgRGF0YSB0aW1lb3V0IHBlcmlvZC4gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRExFTiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19ETEVOX0RBVEFMRU5HVEhfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19ETEVOX0RBVEFMRU5HVEhfTXNrICAgICAgICAgICAgKDB4MUZGRkZGRlUgPDwgU0RJT19ETEVOX0RBVEFMRU5HVEhfUG9zKSAvKiE8IDB4MDFGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19ETEVOX0RBVEFMRU5HVEggICAgICAgICAgICAgICAgU0RJT19ETEVOX0RBVEFMRU5HVEhfTXNrICAgICAgICAgICAvKiE8IERhdGEgbGVuZ3RoIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RDVFJMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRENUUkxfRFRFTl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRFRFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRFRFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRFTiAgICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRFRFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIGVuYWJsZWQgYml0ICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRESVJfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRFRESVJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRFRESVJfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRESVIgICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRFRESVJfTXNrICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIGRpcmVjdGlvbiBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVE1PREVfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVE1PREVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVE1PREVfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVE1PREUgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVE1PREVfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgbW9kZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9ETUFFTl9Qb3MgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9ETUFFTl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9ETUFFTiAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9ETUFFTl9Nc2sgICAgICAgICAgICAgICAvKiE8IERNQSBlbmFibGVkIGJpdCAqLw0KDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV9Nc2sgICAgICAgICAgICgweEZVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkUgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RCTE9DS1NJWkVfTXNrICAgICAgICAgIC8qITwgREJMT0NLU0laRVszOjBdIGJpdHMgKERhdGEgYmxvY2sgc2l6ZSkgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwMTAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzEgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwMjAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzIgICAgICAgICAgICAgKDB4NFUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwNDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzMgICAgICAgICAgICAgKDB4OFUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwODAgKi8NCg0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RBUlRfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RBUlRfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1JXU1RBUlRfUG9zKSAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RBUlQgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1JXU1RBUlRfTXNrICAgICAgICAgICAgIC8qITwgUmVhZCB3YWl0IHN0YXJ0ICovDQojZGVmaW5lIFNESU9fRENUUkxfUldTVE9QX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldTVE9QX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldTVE9QX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldTVE9QICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldTVE9QX01zayAgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgc3RvcCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXTU9EX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1JXTU9EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1JXTU9EX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXTU9EICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1JXTU9EX01zayAgICAgICAgICAgICAgIC8qITwgUmVhZCB3YWl0IG1vZGUgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9TRElPRU5fUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9TRElPRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9TRElPRU5fUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9TRElPRU4gICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9TRElPRU5fTXNrICAgICAgICAgICAgICAvKiE8IFNEIEkvTyBlbmFibGUgZnVuY3Rpb25zICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RDT1VOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRENPVU5UX0RBVEFDT1VOVF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENPVU5UX0RBVEFDT1VOVF9Nc2sgICAgICAgICAgICgweDFGRkZGRkZVIDw8IFNESU9fRENPVU5UX0RBVEFDT1VOVF9Qb3MpIC8qITwgMHgwMUZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0RDT1VOVF9EQVRBQ09VTlQgICAgICAgICAgICAgICBTRElPX0RDT1VOVF9EQVRBQ09VTlRfTXNrICAgICAgICAgIC8qITwgRGF0YSBjb3VudCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19TVEEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1NUQV9DQ1JDRkFJTF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DQ1JDRkFJTF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX1NUQV9DQ1JDRkFJTCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSByZWNlaXZlZCAoQ1JDIGNoZWNrIGZhaWxlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfRENSQ0ZBSUxfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfRENSQ0ZBSUxfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfRENSQ0ZBSUxfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19TVEFfRENSQ0ZBSUwgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfRENSQ0ZBSUxfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgYmxvY2sgc2VudC9yZWNlaXZlZCAoQ1JDIGNoZWNrIGZhaWxlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ1RJTUVPVVRfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ1RJTUVPVVRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ1RJTUVPVVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ1RJTUVPVVQgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ1RJTUVPVVRfTXNrICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcmVzcG9uc2UgdGltZW91dCAqLw0KI2RlZmluZSBTRElPX1NUQV9EVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EVElNRU9VVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX1NUQV9EVElNRU9VVCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EVElNRU9VVF9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSB0aW1lb3V0ICovDQojZGVmaW5lIFNESU9fU1RBX1RYVU5ERVJSX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYVU5ERVJSX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYVU5ERVJSX1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNESU9fU1RBX1RYVU5ERVJSICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYVU5ERVJSX01zayAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIHVuZGVycnVuIGVycm9yICovDQojZGVmaW5lIFNESU9fU1RBX1JYT1ZFUlJfUG9zICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYT1ZFUlJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYT1ZFUlJfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNESU9fU1RBX1JYT1ZFUlIgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYT1ZFUlJfTXNrICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlZCBGSUZPIG92ZXJydW4gZXJyb3IgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EUkVORF9Qb3MgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ01EUkVORF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ01EUkVORF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EUkVORCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ01EUkVORF9Nc2sgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcmVzcG9uc2UgcmVjZWl2ZWQgKENSQyBjaGVjayBwYXNzZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFNFTlRfUG9zICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NNRFNFTlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NNRFNFTlRfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFNFTlQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NNRFNFTlRfTXNrICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHNlbnQgKG5vIHJlc3BvbnNlIHJlcXVpcmVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQVRBRU5EX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQVRBRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQVRBRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9EQVRBRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQVRBRU5EX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSBlbmQgKGRhdGEgY291bnRlciwgU0RJRENPVU5ULCBpcyB6ZXJvKSAqLw0KI2RlZmluZSBTRElPX1NUQV9TVEJJVEVSUl9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9TVEJJVEVSUl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9TVEJJVEVSUl9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9TVEJJVEVSUiAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9TVEJJVEVSUl9Nc2sgICAgICAgICAgICAgIC8qITwgU3RhcnQgYml0IG5vdCBkZXRlY3RlZCBvbiBhbGwgZGF0YSBzaWduYWxzIGluIHdpZGUgYnVzIG1vZGUgKi8NCiNkZWZpbmUgU0RJT19TVEFfREJDS0VORF9Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfREJDS0VORF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfREJDS0VORF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfREJDS0VORCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfREJDS0VORF9Nc2sgICAgICAgICAgICAgICAvKiE8IERhdGEgYmxvY2sgc2VudC9yZWNlaXZlZCAoQ1JDIGNoZWNrIHBhc3NlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EQUNUX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ01EQUNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ01EQUNUX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EQUNUICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ01EQUNUX01zayAgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgdHJhbnNmZXIgaW4gcHJvZ3Jlc3MgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhBQ1RfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhBQ1RfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhBQ1RfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhBQ1QgICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhBQ1RfTXNrICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNtaXQgaW4gcHJvZ3Jlc3MgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhBQ1RfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhBQ1RfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhBQ1RfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhBQ1QgICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhBQ1RfTXNrICAgICAgICAgICAgICAgICAvKiE8IERhdGEgcmVjZWl2ZSBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9IRV9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9IRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEZJRk9IRV9Qb3MpICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9IRSAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEZJRk9IRV9Nc2sgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyBIYWxmIEVtcHR5OiBhdCBsZWFzdCA4IHdvcmRzIGNhbiBiZSB3cml0dGVuIGludG8gdGhlIEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPSEZfUG9zICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPSEZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhGSUZPSEZfUG9zKSAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPSEYgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhGSUZPSEZfTXNrICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRklGTyBIYWxmIEZ1bGw6IHRoZXJlIGFyZSBhdCBsZWFzdCA4IHdvcmRzIGluIHRoZSBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0ZfUG9zICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0ZfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYRklGT0ZfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0YgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYRklGT0ZfTXNrICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIGZ1bGwgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRl9Qb3MgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhGSUZPRl9Qb3MpICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhGSUZPRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRklGTyBmdWxsICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0VfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0VfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYRklGT0VfUG9zKSAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0UgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYRklGT0VfTXNrICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIGVtcHR5ICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0VfUG9zICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0VfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYRklGT0VfUG9zKSAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0UgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYRklGT0VfTXNrICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIEZJRk8gZW1wdHkgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhEQVZMX1BvcyAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhEQVZMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhEQVZMX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhEQVZMICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhEQVZMX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIHRyYW5zbWl0IEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhEQVZMX1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhEQVZMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhEQVZMX1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhEQVZMICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhEQVZMX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIHJlY2VpdmUgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9TRElPSVRfUG9zICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9TRElPSVRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9TRElPSVRfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9TRElPSVQgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9TRElPSVRfTXNrICAgICAgICAgICAgICAgIC8qITwgU0RJTyBpbnRlcnJ1cHQgcmVjZWl2ZWQgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0VBVEFFTkRfUG9zICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ0VBVEFFTkRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ0VBVEFFTkRfUG9zKSAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0VBVEFFTkQgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ0VBVEFFTkRfTXNrICAgICAgICAgICAgICAvKiE8IENFLUFUQSBjb21tYW5kIGNvbXBsZXRpb24gc2lnbmFsIHJlY2VpdmVkIGZvciBDTUQ2MSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fSUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0lDUl9DQ1JDRkFJTENfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DQ1JDRkFJTENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DQ1JDRkFJTENfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX0lDUl9DQ1JDRkFJTEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DQ1JDRkFJTENfTXNrICAgICAgICAgICAgIC8qITwgQ0NSQ0ZBSUwgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfRENSQ0ZBSUxDX1BvcyAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfRENSQ0ZBSUxDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfRENSQ0ZBSUxDX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19JQ1JfRENSQ0ZBSUxDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfRENSQ0ZBSUxDX01zayAgICAgICAgICAgICAvKiE8IERDUkNGQUlMIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NUSU1FT1VUQ19Qb3MgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NUSU1FT1VUQ19Qb3MpICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fSUNSX0NUSU1FT1VUQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgLyohPCBDVElNRU9VVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EVElNRU9VVENfUG9zICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EVElNRU9VVENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EVElNRU9VVENfUG9zKSAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX0lDUl9EVElNRU9VVEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EVElNRU9VVENfTXNrICAgICAgICAgICAgIC8qITwgRFRJTUVPVVQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfVFhVTkRFUlJDX1BvcyAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfVFhVTkRFUlJDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfVFhVTkRFUlJDX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfVFhVTkRFUlJDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfVFhVTkRFUlJDX01zayAgICAgICAgICAgICAvKiE8IFRYVU5ERVJSIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1JYT1ZFUlJDX1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1JYT1ZFUlJDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1JYT1ZFUlJDX1BvcykgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNESU9fSUNSX1JYT1ZFUlJDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1JYT1ZFUlJDX01zayAgICAgICAgICAgICAgLyohPCBSWE9WRVJSIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFJFTkRDX1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NNRFJFTkRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NNRFJFTkRDX1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFJFTkRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NNRFJFTkRDX01zayAgICAgICAgICAgICAgLyohPCBDTURSRU5EIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFNFTlRDX1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NNRFNFTlRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NNRFNFTlRDX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFNFTlRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NNRFNFTlRDX01zayAgICAgICAgICAgICAgLyohPCBDTURTRU5UIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RBVEFFTkRDX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RBVEFFTkRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RBVEFFTkRDX1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fSUNSX0RBVEFFTkRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RBVEFFTkRDX01zayAgICAgICAgICAgICAgLyohPCBEQVRBRU5EIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1NUQklURVJSQ19Qb3MgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1NUQklURVJSQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1NUQklURVJSQ19Qb3MpICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fSUNSX1NUQklURVJSQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1NUQklURVJSQ19Nc2sgICAgICAgICAgICAgLyohPCBTVEJJVEVSUiBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQkNLRU5EQ19Qb3MgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EQkNLRU5EQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EQkNLRU5EQ19Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQkNLRU5EQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EQkNLRU5EQ19Nc2sgICAgICAgICAgICAgIC8qITwgREJDS0VORCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9TRElPSVRDX1BvcyAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9TRElPSVRDX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9TRElPSVRDX1BvcykgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9TRElPSVRDICAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9TRElPSVRDX01zayAgICAgICAgICAgICAgIC8qITwgU0RJT0lUIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NFQVRBRU5EQ19Qb3MgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NFQVRBRU5EQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NFQVRBRU5EQ19Qb3MpICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFNESU9fSUNSX0NFQVRBRU5EQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NFQVRBRU5EQ19Nc2sgICAgICAgICAgICAgLyohPCBDRUFUQUVORCBmbGFnIGNsZWFyIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19NQVNLIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ0NSQ0ZBSUxJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Nc2sgICAgICAgICAgIC8qITwgQ29tbWFuZCBDUkMgRmFpbCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EQ1JDRkFJTElFX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EQ1JDRkFJTElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EQ1JDRkFJTElFX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fTUFTS19EQ1JDRkFJTElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19EQ1JDRkFJTElFX01zayAgICAgICAgICAgLyohPCBEYXRhIENSQyBGYWlsIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NUSU1FT1VUSUVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NUSU1FT1VUSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NUSU1FT1VUSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NUSU1FT1VUSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NUSU1FT1VUSUVfTXNrICAgICAgICAgICAvKiE8IENvbW1hbmQgVGltZU91dCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EVElNRU9VVElFX1BvcyAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EVElNRU9VVElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EVElNRU9VVElFX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fTUFTS19EVElNRU9VVElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19EVElNRU9VVElFX01zayAgICAgICAgICAgLyohPCBEYXRhIFRpbWVPdXQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhVTkRFUlJJRV9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhVTkRFUlJJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhVTkRFUlJJRV9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhVTkRFUlJJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhVTkRFUlJJRV9Nc2sgICAgICAgICAgIC8qITwgVHggRklGTyBVbmRlclJ1biBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWE9WRVJSSUVfUG9zICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWE9WRVJSSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWE9WRVJSSUVfUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNESU9fTUFTS19SWE9WRVJSSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWE9WRVJSSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIE92ZXJSdW4gRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EUkVORElFX1BvcyAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ01EUkVORElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ01EUkVORElFX1BvcykgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EUkVORElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfQ01EUkVORElFX01zayAgICAgICAgICAgIC8qITwgQ29tbWFuZCBSZXNwb25zZSBSZWNlaXZlZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DTURTRU5USUVfUG9zICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DTURTRU5USUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DTURTRU5USUVfUG9zKSAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNESU9fTUFTS19DTURTRU5USUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19DTURTRU5USUVfTXNrICAgICAgICAgICAgLyohPCBDb21tYW5kIFNlbnQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfREFUQUVORElFX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfREFUQUVORElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfREFUQUVORElFX1BvcykgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfREFUQUVORElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfREFUQUVORElFX01zayAgICAgICAgICAgIC8qITwgRGF0YSBFbmQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfU1RCSVRFUlJJRV9Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfU1RCSVRFUlJJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfU1RCSVRFUlJJRV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfU1RCSVRFUlJJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfU1RCSVRFUlJJRV9Nc2sgICAgICAgICAgIC8qITwgU3RhcnQgQml0IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RCQ0tFTkRJRV9Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RCQ0tFTkRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RCQ0tFTkRJRV9Qb3MpICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RCQ0tFTkRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RCQ0tFTkRJRV9Nc2sgICAgICAgICAgICAvKiE8IERhdGEgQmxvY2sgRW5kIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNREFDVElFX1BvcyAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NNREFDVElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NNREFDVElFX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNREFDVElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NNREFDVElFX01zayAgICAgICAgICAgICAvKiE8IENvbW1hbmQgQWN0aW5nIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYQUNUSUVfUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYQUNUSUVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYQUNUSUVfUG9zKSAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYQUNUSUUgICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYQUNUSUVfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgVHJhbnNtaXQgQWN0aW5nIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYQUNUSUVfUG9zICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYQUNUSUVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYQUNUSUVfUG9zKSAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYQUNUSUUgICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYQUNUSUVfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgcmVjZWl2ZSBhY3RpbmcgaW50ZXJydXB0IGVuYWJsZWQgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0hFSUVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0hFSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYRklGT0hFSUVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0hFSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYRklGT0hFSUVfTXNrICAgICAgICAgICAvKiE8IFR4IEZJRk8gSGFsZiBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9IRklFX1BvcyAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9IRklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9IRklFX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9IRklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9IRklFX01zayAgICAgICAgICAgLyohPCBSeCBGSUZPIEhhbGYgRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9GSUVfUG9zICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9GSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEZJRk9GSUVfUG9zKSAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9GSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEZJRk9GSUVfTXNrICAgICAgICAgICAgLyohPCBUeCBGSUZPIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRklFX1BvcyAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRklFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhGSUZPRklFX1BvcykgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRklFICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhGSUZPRklFX01zayAgICAgICAgICAgIC8qITwgUnggRklGTyBGdWxsIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0VJRV9Qb3MgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0VJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYRklGT0VJRV9Qb3MpICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0VJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYRklGT0VJRV9Nc2sgICAgICAgICAgICAvKiE8IFR4IEZJRk8gRW1wdHkgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRUlFX1BvcyAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRUlFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhGSUZPRUlFX1BvcykgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRUlFICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhGSUZPRUlFX01zayAgICAgICAgICAgIC8qITwgUnggRklGTyBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWERBVkxJRV9Qb3MgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWERBVkxJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWERBVkxJRV9Qb3MpICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWERBVkxJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWERBVkxJRV9Nc2sgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiBUeCBGSUZPIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYREFWTElFX1BvcyAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYREFWTElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYREFWTElFX1BvcykgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYREFWTElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYREFWTElFX01zayAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIFJ4IEZJRk8gaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfU0RJT0lUSUVfUG9zICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfU0RJT0lUSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfU0RJT0lUSUVfUG9zKSAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfU0RJT0lUSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfU0RJT0lUSUVfTXNrICAgICAgICAgICAgIC8qITwgU0RJTyBNb2RlIEludGVycnVwdCBSZWNlaXZlZCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DRUFUQUVORElFX1BvcyAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DRUFUQUVORElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DRUFUQUVORElFX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19DRUFUQUVORElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19DRUFUQUVORElFX01zayAgICAgICAgICAgLyohPCBDRS1BVEEgY29tbWFuZCBjb21wbGV0aW9uIHNpZ25hbCByZWNlaXZlZCBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRklGT0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRklGT0NOVF9GSUZPQ09VTlRfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRklGT0NOVF9GSUZPQ09VTlRfTXNrICAgICAgICAgICgweEZGRkZGRlUgPDwgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Qb3MpIC8qITwgMHgwMEZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0ZJRk9DTlRfRklGT0NPVU5UICAgICAgICAgICAgICBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX01zayAgICAgICAgIC8qITwgUmVtYWluaW5nIG51bWJlciBvZiB3b3JkcyB0byBiZSB3cml0dGVuIHRvIG9yIHJlYWQgZnJvbSB0aGUgRklGTyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19GSUZPIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0ZJRk9fRklGT0RBVEFfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0ZJRk9fRklGT0RBVEFfTXNrICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19GSUZPX0ZJRk9EQVRBX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQSAgICAgICAgICAgICAgICAgIFNESU9fRklGT19GSUZPREFUQV9Nc2sgICAgICAgICAgICAgLyohPCBSZWNlaXZlIGFuZCB0cmFuc21pdCBGSUZPIGRhdGEgKi8NCg0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWwgUGVyaXBoZXJhbCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NQSEFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEEgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUGhhc2UgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUE9MX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUE9MX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUE9MX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBvbGFyaXR5ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfTVNUUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUiAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfTVNUUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIgU2VsZWN0aW9uICovDQoNCiNkZWZpbmUgU1BJX0NSMV9CUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgU1BJX0NSMV9CUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJSWzI6MF0gYml0cyAoQmF1ZCBSYXRlIENvbnRyb2wpICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgU1BJX0NSMV9TUEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TUEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TUEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TUEUgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TUEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNQSSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVF9Qb3MgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9MU0JGSVJTVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVCAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9MU0JGSVJTVF9Nc2sgICAgICAgICAgICAgICAvKiE8IEZyYW1lIEZvcm1hdCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTSV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NTSV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTSSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgc2xhdmUgc2VsZWN0ICovDQojZGVmaW5lIFNQSV9DUjFfU1NNX1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1NNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1NNX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNQSV9DUjFfU1NNICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1NNX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBzbGF2ZSBtYW5hZ2VtZW50ICovDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfUlhPTkxZX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfUlhPTkxZX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIG9ubHkgKi8NCiNkZWZpbmUgU1BJX0NSMV9ERkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9ERkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9ERkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9ERkYgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9ERkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgRnJhbWUgRm9ybWF0ICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1JDTkVYVF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVCAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1JDTkVYVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBDUkMgbmV4dCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NSQ0VOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgIC8qITwgSGFyZHdhcmUgQ1JDIGNhbGN1bGF0aW9uIGVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElPRV9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JJRElPRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JJRElPRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElPRSAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JJRElPRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3V0cHV0IGVuYWJsZSBpbiBiaWRpcmVjdGlvbmFsIG1vZGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CSURJTU9ERV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERSAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CSURJTU9ERV9Nc2sgICAgICAgICAgICAgICAvKiE8IEJpZGlyZWN0aW9uYWwgZGF0YSBtb2RlIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1JYRE1BRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU4gICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1JYRE1BRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgUnggQnVmZmVyIERNQSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9UWERNQUVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9UWERNQUVOX01zayAgICAgICAgICAgICAgICAvKiE8IFR4IEJ1ZmZlciBETUEgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfU1NPRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRSAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfU1NPRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTUyBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfRVJSSUVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfRVJSSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNQSV9DUjJfRVJSSUUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfUlhORUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfUlhORUlFX01zayAgICAgICAgICAgICAgICAgLyohPCBSWCBidWZmZXIgTm90IEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWEVJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9UWEVJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWEVJRSAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFR4IGJ1ZmZlciBFbXB0eSBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9TUl9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9SWE5FX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9TUl9SWE5FICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIGJ1ZmZlciBOb3QgRW1wdHkgKi8NCiNkZWZpbmUgU1BJX1NSX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1RYRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX1NSX1RYRSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IGJ1ZmZlciBFbXB0eSAqLw0KI2RlZmluZSBTUElfU1JfQ0hTSURFX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfQ0hTSURFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfQ0hTSURFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTUElfU1JfQ0hTSURFICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfQ0hTSURFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBzaWRlICovDQojZGVmaW5lIFNQSV9TUl9VRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9VRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9VRFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNQSV9TUl9VRFIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9VRFJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBVbmRlcnJ1biBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9DUkNFUlJfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9DUkNFUlJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9DUkNFUlJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNQSV9TUl9DUkNFUlIgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9DUkNFUlJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDUkMgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfTU9ERl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfTU9ERl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfTU9ERl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTUElfU1JfTU9ERiAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfTU9ERl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTW9kZSBmYXVsdCAqLw0KI2RlZmluZSBTUElfU1JfT1ZSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfT1ZSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfU1JfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcnJ1biBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9CU1lfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9CU1lfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNQSV9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXN5IGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0RSX0RSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1JDUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zKSAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFkgICAgICAgICAgICAgICAgICAgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAvKiE8IENSQyBwb2x5bm9taWFsIHJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfUlhDUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9SWENSQ1JfUlhDUkNfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkMgICAgICAgICAgICAgICAgICAgIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgLyohPCBSeCBDUkMgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9UWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX1RYQ1JDUl9UWENSQ19Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQyAgICAgICAgICAgICAgICAgICAgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFR4IENSQyBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0kyU0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfSTJTQ0ZHUl9JMlNNT0RfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfSTJTQ0ZHUl9JMlNNT0RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfSTJTQ0ZHUl9JMlNNT0RfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTUElfSTJTQ0ZHUl9JMlNNT0QgICAgICAgICAgICAgICAgICBTUElfSTJTQ0ZHUl9JMlNNT0RfTXNrICAgICAgICAgICAgIC8qITwgSTJTIG1vZGUgc2VsZWN0aW9uICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBJbnRlci1pbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DUjFfUEVfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUEVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19DUjFfUEUgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NNQlVTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NNQlVTX01zayAgICAgICAgICAgICAgICAgIC8qITwgU01CdXMgTW9kZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NNQlRZUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEUgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NNQlRZUEVfTXNrICAgICAgICAgICAgICAgIC8qITwgU01CdXMgVHlwZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOQVJQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOQVJQX01zayAgICAgICAgICAgICAgICAgIC8qITwgQVJQIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOUEVDX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOUEVDX01zayAgICAgICAgICAgICAgICAgIC8qITwgUEVDIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOR0NfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOR0NfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOR0NfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOR0MgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOR0NfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbCBDYWxsIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Qb3MgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX05PU1RSRVRDSF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSCAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX05PU1RSRVRDSF9Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU3RyZXRjaGluZyBEaXNhYmxlIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NUQVJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NUQVJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUT1BfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NUT1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUT1AgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgU3RvcCBHZW5lcmF0aW9uICovDQojZGVmaW5lIEkyQ19DUjFfQUNLX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfQUNLX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUNLX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19DUjFfQUNLICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfQUNLX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZSBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9QT1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QT1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QT1NfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9QT1MgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QT1NfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFja25vd2xlZGdlL1BFQyBQb3NpdGlvbiAoZm9yIGRhdGEgcmVjZXB0aW9uKSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BFQ19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFQyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGFja2V0IEVycm9yIENoZWNraW5nICovDQojZGVmaW5lIEkyQ19DUjFfQUxFUlRfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfQUxFUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUxFUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEkyQ19DUjFfQUxFUlQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfQUxFUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBBbGVydCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NXUlNUX1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NXUlNUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgUmVzZXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9GUkVRX01zayAgICAgICAgICAgICAgICAgICAgKDB4M0ZVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9GUkVRX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZSRVFbNTowXSBiaXRzIChQZXJpcGhlcmFsIENsb2NrIEZyZXF1ZW5jeSkgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzUgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU5fUG9zICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lURVJSRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lURVJSRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU5fUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lURVZURU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lURVZURU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU5fUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lUQlVGRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lUQlVGRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQnVmZmVyIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9ETUFFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9ETUFFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9ETUFFTiAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IERNQSBSZXF1ZXN0cyBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9MQVNUX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9MQVNUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9MQVNUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9MQVNUICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9MQVNUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERNQSBMYXN0IFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX09BUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfNyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkVVICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIEFkZHJlc3MgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOF85ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDMwMFUgICAgICAgICAgICAgLyohPCBJbnRlcmZhY2UgQWRkcmVzcyAqLw0KDQojZGVmaW5lIEkyQ19PQVIxX0FERDBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDMgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ0X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ0ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA1ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ3X1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ3ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDcgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA4ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDkgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgOSAqLw0KDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREVfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERE1PREVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREUgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERE1PREVfTXNrICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzaW5nIE1vZGUgKFNsYXZlIG1vZGUpICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX09BUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTF9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIyX0VORFVBTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTCAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIyX0VORFVBTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEdWFsIGFkZHJlc3NpbmcgbW9kZSBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX09BUjJfQUREMl9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjJfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IEkyQ19PQVIyX0FERDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRkUgKi8NCiNkZWZpbmUgSTJDX09BUjJfQUREMiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjJfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBhZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19EUl9EUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19EUl9EUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IEkyQ19EUl9EUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEkyQ19EUl9EUiAgICAgICAgICAgICAgICAgSTJDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCA4LWJpdCBEYXRhIFJlZ2lzdGVyICAgICAgICAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfU1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1NSMV9TQl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TQl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX1NSMV9TQiAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IEJpdCAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUREUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19TUjFfQUREUiAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzIHNlbnQgKG1hc3RlciBtb2RlKS9tYXRjaGVkIChzbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0JURl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0JURl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfU1IxX0JURiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQnl0ZSBUcmFuc2ZlciBGaW5pc2hlZCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FERDEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgMTAtYml0IGhlYWRlciBzZW50IChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TVE9QRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRiAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0b3AgZGV0ZWN0aW9uIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1JYTkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciBub3QgRW1wdHkgKHJlY2VpdmVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9UWEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEUgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgRW1wdHkgKHRyYW5zbWl0dGVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9CRVJSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBFcnJvciAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE9fUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FSTE9fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE8gICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQXJiaXRyYXRpb24gTG9zdCAobWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19TUjFfQUYgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZSBGYWlsdXJlICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfT1ZSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuL1VuZGVycnVuICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfUEVDRVJSX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgLyohPCBQRUMgRXJyb3IgaW4gcmVjZXB0aW9uICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfVElNRU9VVF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBUaW1lb3V0IG9yIFRsb3cgRXJyb3IgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TTUJBTEVSVF9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVCAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEFsZXJ0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19TUjJfTVNMX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfTVNMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19TUjJfTVNMICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIvU2xhdmUgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9CVVNZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBCdXN5ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfVFJBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdHRlci9SZWNlaXZlciAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfUG9zICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0dFTkNBTExfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTEwgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbCBDYWxsIEFkZHJlc3MgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Qb3MgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfU01CREVGQVVMVF9Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVCAgICAgICAgICAgICAgICAgIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgLyohPCBTTUJ1cyBEZXZpY2UgRGVmYXVsdCBBZGRyZXNzIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1NNQkhPU1RfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1QgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgIC8qITwgU01CdXMgSG9zdCBIZWFkZXIgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfRFVBTEZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBEdWFsIEZsYWcgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfUEVDX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBJMkNfU1IyX1BFQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEkyQ19TUjJfUEVDICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYWNrZXQgRXJyb3IgQ2hlY2tpbmcgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1JfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBJMkNfQ0NSX0NDUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1IgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIENvbnRyb2wgUmVnaXN0ZXIgaW4gRmFzdC9TdGFuZGFyZCBtb2RlIChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NDUl9EVVRZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZhc3QgTW9kZSBEdXR5IEN5Y2xlICovDQojZGVmaW5lIEkyQ19DQ1JfRlNfUG9zICAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DQ1JfRlNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19DQ1JfRlMgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBJMkMgTWFzdGVyIE1vZGUgU2VsZWN0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfVFJJU0UgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgICgweDNGVSA8PCBJMkNfVFJJU0VfVFJJU0VfUG9zKSAgICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRSAgICAgICAgICAgICAgICAgICAgIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNYXhpbXVtIFJpc2UgVGltZSBpbiBGYXN0L1N0YW5kYXJkIG1vZGUgKE1hc3RlciBtb2RlKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgVW5pdmVyc2FsIFN5bmNocm9ub3VzIEFzeW5jaHJvbm91cyBSZWNlaXZlciBUcmFuc21pdHRlciAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfU1JfUEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfUEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfU1JfUEUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfUEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhcml0eSBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9GRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9GRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9GRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9TUl9GRSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9GRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRnJhbWluZyBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9ORV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9ORV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9ORV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9TUl9ORSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9ORV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTm9pc2UgRXJyb3IgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9TUl9PUkVfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9PUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9PUkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9TUl9PUkUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9PUkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlclJ1biBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9JRExFX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9JRExFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9JRExFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9JRExFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9JRExFX01zayAgICAgICAgICAgICAgICAgIC8qITwgSURMRSBsaW5lIGRldGVjdGVkICovDQojZGVmaW5lIFVTQVJUX1NSX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1JYTkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX1NSX1JYTkUgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZWFkIERhdGEgUmVnaXN0ZXIgTm90IEVtcHR5ICovDQojZGVmaW5lIFVTQVJUX1NSX1RDX1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1RDX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1RDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX1NSX1RDICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1RDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQ29tcGxldGUgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfVFhFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVFhFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IERhdGEgUmVnaXN0ZXIgRW1wdHkgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTEJEX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfTEJEX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfTEJEX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTEJEICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfTEJEX01zayAgICAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9TUl9DVFNfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9DVFNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9DVFNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9DVFMgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9DVFNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ1RTIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVSA8PCBVU0FSVF9EUl9EUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxRkYgKi8NCiNkZWZpbmUgVVNBUlRfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Nc2sgICAgICAgICAgKDB4RlUgPDwgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uICAgICAgICAgICAgICBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX01zayAgICAgICAgIC8qITwgRnJhY3Rpb24gb2YgVVNBUlRESVYgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Qb3MgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Nc2sgICAgICAgICAgKDB4RkZGVSA8PCBVU0FSVF9CUlJfRElWX01hbnRpc3NhX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTWFudGlzc2EgICAgICAgICAgICAgIFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfTXNrICAgICAgICAgLyohPCBNYW50aXNzYSBvZiBVU0FSVERJViAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjFfU0JLX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfU0JLX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfU0JLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfU0JLICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfU0JLX01zayAgICAgICAgICAgICAgICAgIC8qITwgU2VuZCBCcmVhayAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUldVX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUldVX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUldVX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUldVICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUldVX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgd2FrZXVwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0NSMV9SRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlciBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0dGVyIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfSURMRUlFX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfSURMRUlFX01zayAgICAgICAgICAgICAgIC8qITwgSURMRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUVfUG9zICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SWE5FSUVfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUUgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SWE5FSUVfTXNrICAgICAgICAgICAgICAgLyohPCBSWE5FIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RDSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUUgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RDSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBDb21wbGV0ZSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRV9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9UWEVJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QRUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICAgICAgLyohPCBQRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QUyAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgU2VsZWN0aW9uICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QQ0VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0UgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgQ29udHJvbCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1dBS0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IFdha2V1cCBtZXRob2QgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX01fUG9zICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX01fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX01fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX00gICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX01fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdvcmQgbGVuZ3RoICovDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9VRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9VRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBVU0FSVCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FERF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0FERF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNBUlRfQ1IyX0FERF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FERCAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0FERF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3Mgb2YgdGhlIFVTQVJUIG5vZGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRExfUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRExfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCRExfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCREwgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCRExfTXNrICAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gTGVuZ3RoICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRV9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MQkRJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MQkRJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCQ0xfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0wgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgICAgICAvKiE8IExhc3QgQml0IENsb2NrIHB1bHNlICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DUEhBX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQaGFzZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ1BPTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NMS0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgICAgICAvKiE8IENsb2NrIEVuYWJsZSAqLw0KDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9TVE9QX01zayAgICAgICAgICAgICAgICAgLyohPCBTVE9QWzE6MF0gYml0cyAoU1RPUCBiaXRzKSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTl9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MSU5FTl9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTiAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MSU5FTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBMSU4gbW9kZSBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0VJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0VJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU5fUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0lSRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU4gICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0lSRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IElyREEgbW9kZSBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0lSTFBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0lSTFBfTXNrICAgICAgICAgICAgICAgICAvKiE8IElyREEgTG93LVBvd2VyICovDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTF9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19IRFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTCAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19IRFNFTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBIYWxmLUR1cGxleCBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0tfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0tfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX05BQ0tfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0sgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX05BQ0tfTXNrICAgICAgICAgICAgICAgICAvKiE8IFNtYXJ0Y2FyZCBOQUNLIGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTl9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfU0NFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfU0NFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgU21hcnRjYXJkIG1vZGUgZW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFJlY2VpdmVyICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFRyYW5zbWl0dGVyICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19SVFNFX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICAgICAgLyohPCBSVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNFX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICAgICAgLyohPCBDVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDVFMgSW50ZXJydXB0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfR1RQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQyAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUFNDWzc6MF0gYml0cyAoUHJlc2NhbGVyIHZhbHVlKSAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18wICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18xICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18yICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18zICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ180ICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ181ICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ182ICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ183ICAgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFVTQVJUX0dUUFJfR1RfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0dUUFJfR1RfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBVU0FSVF9HVFBSX0dUX1BvcykgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfR1QgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0dUUFJfR1RfTXNrICAgICAgICAgICAgICAgICAgLyohPCBHdWFyZCB0aW1lIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWJ1ZyBNQ1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9JRENPREUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERCR01DVV9JRENPREVfREVWX0lEX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfREVWX0lEX01zayAgICAgICAgICAgLyohPCBEZXZpY2UgSWRlbnRpZmllciAqLw0KDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX1BvcyAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgICAgICAgICAgICgweEZGRkZVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweEZGRkYwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgICAgICAgICAgLyohPCBSRVZfSURbMTU6MF0gYml0cyAoUmV2aXNpb24gSWRlbnRpZmllcikgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMCAgICAgICAgICAgICAgKDB4MDAwMVUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMSAgICAgICAgICAgICAgKDB4MDAwMlUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMiAgICAgICAgICAgICAgKDB4MDAwNFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMyAgICAgICAgICAgICAgKDB4MDAwOFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNCAgICAgICAgICAgICAgKDB4MDAxMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNSAgICAgICAgICAgICAgKDB4MDAyMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNiAgICAgICAgICAgICAgKDB4MDA0MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNyAgICAgICAgICAgICAgKDB4MDA4MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOCAgICAgICAgICAgICAgKDB4MDEwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOSAgICAgICAgICAgICAgKDB4MDIwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTAgICAgICAgICAgICAgKDB4MDQwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTEgICAgICAgICAgICAgKDB4MDgwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTIgICAgICAgICAgICAgKDB4MTAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTMgICAgICAgICAgICAgKDB4MjAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTQgICAgICAgICAgICAgKDB4NDAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTUgICAgICAgICAgICAgKDB4ODAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TTEVFUF9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUCAgICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TTEVFUF9Nc2sgICAgICAgICAgICAvKiE8IERlYnVnIFNsZWVwIE1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX1BvcyAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TVE9QX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QICAgICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAvKiE8IERlYnVnIFN0b3AgTW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfTXNrICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TVEFOREJZX01zayAgICAgICAgICAvKiE8IERlYnVnIFN0YW5kYnkgbW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTiAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Nc2sgICAgICAgICAgIC8qITwgVHJhY2UgUGluIEFzc2lnbm1lbnQgQ29udHJvbCAqLw0KDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFX01zayAgICAgICAgICAgICgweDNVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFICAgICAgICAgICAgICAgIERCR01DVV9DUl9UUkFDRV9NT0RFX01zayAgICAgICAgICAgLyohPCBUUkFDRV9NT0RFWzE6MF0gYml0cyAoVHJhY2UgUGluIEFzc2lnbm1lbnQgQ29udHJvbCkgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfMCAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfMSAgICAgICAgICAgICAgKDB4MlUgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Qb3MgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgIC8qITwgRGVidWcgSW5kZXBlbmRlbnQgV2F0Y2hkb2cgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QX1BvcyAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfV1dER19TVE9QX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfV1dER19TVE9QX01zayAgICAgICAgLyohPCBEZWJ1ZyBXaW5kb3cgV2F0Y2hkb2cgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX1BvcyAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMl9TVE9QX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX01zayAgICAgICAgLyohPCBUSU0yIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QX1BvcyAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNM19TVE9QX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNM19TVE9QX01zayAgICAgICAgLyohPCBUSU0zIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX1BvcyAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX01zayAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVCAgICBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Nc2sgLyohPCBTTUJVUyB0aW1lb3V0IG1vZGUgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgRkxBU0ggYW5kIE9wdGlvbiBCeXRlcyBSZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAgKDB4N1UgPDwgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1kgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAvKiE8IExBVEVOQ1lbMjowXSBiaXRzIChMYXRlbmN5KSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUFfUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUFfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9ITEZDWUFfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUEgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9ITEZDWUFfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBIYWxmIEN5Y2xlIEFjY2VzcyBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX1BSRlRCRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRSAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX1BSRlRCRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX1BSRlRCU19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCUyAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX1BSRlRCU19Nc2sgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0tFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX0tFWVJfRktFWVJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZUl9GS0VZUl9Nc2sgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5ICovDQoNCiNkZWZpbmUgUkRQX0tFWV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkRQX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTVVIDw8IFJEUF9LRVlfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwQTUgKi8NCiNkZWZpbmUgUkRQX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkRQX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJEUCBLZXkgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4NDU2NzAxMjNVIDw8IEZMQVNIX0tFWTFfUG9zKSAgICAvKiE8IDB4NDU2NzAxMjMgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMSAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5MSAqLw0KI2RlZmluZSBGTEFTSF9LRVkyX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9LRVkyX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhDREVGODlBQlUgPDwgRkxBU0hfS0VZMl9Qb3MpICAgIC8qITwgMHhDREVGODlBQiAqLw0KI2RlZmluZSBGTEFTSF9LRVkyICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkyX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBFQyBLZXkyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX09QVEtFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Nc2sgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9PUFRLRVlSX09QVEtFWVJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfT1BUS0VZUl9PUFRLRVlSICAgICAgICAgICAgICAgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX01zayAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleSAqLw0KDQojZGVmaW5lICBGTEFTSF9PUFRLRVkxICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkxICAgICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleTEgKi8NCiNkZWZpbmUgIEZMQVNIX09QVEtFWTIgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTIgICAgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5MiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1lfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9CU1lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQnVzeSAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9QR0VSUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9QR0VSUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUHJvZ3JhbW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfV1JQUlRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlIgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfV1JQUlRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFdyaXRlIFByb3RlY3Rpb24gRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfRU9QX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfRU9QX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfRU9QX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBvcGVyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEdfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfUEdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfUEdfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEcgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfUEdfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFByb2dyYW1taW5nICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1BFUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1BFUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQYWdlIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX01FUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX0NSX01FUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX01FUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNYXNzIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVFBHX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVFBHX01zayAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBQcm9ncmFtbWluZyAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRFUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRFUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfU1RSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVCAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0ICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgLyohPCBMb2NrICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVFdSRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVFdSRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZXMgV3JpdGUgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0VSUklFX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0VSUklFX01zayAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0VPUElFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0VPUElFX01zayAgICAgICAgICAgICAgICAgLyohPCBFbmQgb2Ygb3BlcmF0aW9uIGludGVycnVwdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQVJfRkFSX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQVJfRkFSX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX0FSX0ZBUl9Qb3MpICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfQVJfRkFSICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQVJfRkFSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX09CUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX09QVEVSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX09QVEVSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEVycm9yICovDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVF9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9SRFBSVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVCAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9SRFBSVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gKi8NCg0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfSVdER19TV19Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TVyAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgIC8qITwgSVdERyBTVyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcyAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcykgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgIC8qITwgblJTVF9TVE9QICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZICAgICAgICAgICAgICAgIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgLyohPCBuUlNUX1NUREJZICovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEZMQVNIX09CUl9VU0VSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFDICovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgLyohPCBVc2VyIE9wdGlvbiBCeXRlcyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTBfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfT0JSX0RBVEEwX1BvcykgICAgIC8qITwgMHgwMDAzRkMwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfREFUQTBfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YTAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX09CUl9EQVRBMV9Qb3MpICAgICAvKiE8IDB4MDNGQzAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0RBVEExX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGExICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9XUlBSX1dSUF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlBSX1dSUCAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlBSX1dSUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV3JpdGUgUHJvdGVjdCAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfUkRQIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfUkRQX1JEUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9SRFBfblJEUF9Qb3MpICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9VU0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX1VTRVJfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgLyohPCBVc2VyIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX25VU0VSX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVIgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgLyohPCBVc2VyIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTBfREFUQTBfUG9zKSAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMCAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEEwX25EQVRBMF9Qb3MpICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Qb3MgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTFfREFUQTFfUG9zKSAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMSAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX1BvcyAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEExX25EQVRBMV9Qb3MpICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMF9XUlAwX1BvcykgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAwX25XUlAwX1BvcykgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCg0KDQovKioNCiAgKiBAfQ0KKi8NCg0KLyoqDQogICogQH0NCiovIA0KDQovKiogQGFkZHRvZ3JvdXAgRXhwb3J0ZWRfbWFjcm8NCiAgKiBAew0KICAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEFEQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19BRENfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gQURDMSkpDQoNCiNkZWZpbmUgSVNfQURDX0NPTU1PTl9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQURDMV9DT01NT04pDQoNCiNkZWZpbmUgSVNfQURDX0RNQV9DQVBBQklMSVRZX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBBREMxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIENSQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19DUkNfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBDUkMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRE1BIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RNQV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw1KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw2KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw3KSkNCiAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUElPIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19HUElPX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEdQSU9BKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0IpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPQykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9EKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gSW5zdGFuY2VzICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BRl9JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gTG9jayBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEkyQzEpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNNQlVTIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NNQlVTX0FMTF9JTlNUQU5DRSAgICAgICAgIElTX0kyQ19BTExfSU5TVEFOQ0UNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJV0RHIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfSVdER19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKElOU1RBTkNFKSA9PSBJV0RHKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU1BJIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TUElfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBTUEkxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNUQVJUIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVElNX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9BRFZBTkNFRF9JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0NDMV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fQ0MyX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzNfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NDNF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfRVRSTU9ERTFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0VUUk1PREUyX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9USVhfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0lUUlhfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX09DWFJFRl9DTEVBUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fRU5DT0RFUl9JTlRFUkZBQ0VfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX1hPUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fTUFTVEVSX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9TTEFWRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fRE1BQlVSU1RfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0JSRUFLX0lOU1RBTkNFKElOU1RBTkNFKSAgICAgICAgICAgICAgICAgMFUNCg0KI2RlZmluZSBJU19USU1fQ0NYX0lOU1RBTkNFKElOU1RBTkNFLCBDSEFOTkVMKSBcDQogICAoKCgoSU5TVEFOQ0UpID09IFRJTTIpICYmICAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8yKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzMpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfNCkpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTMpICYmICAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8yKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzMpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfNCkpKSkNCg0KI2RlZmluZSBJU19USU1fQ0NYTl9JTlNUQU5DRShJTlNUQU5DRSwgQ0hBTk5FTCkgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DT1VOVEVSX01PREVfU0VMRUNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9SRVBFVElUSU9OX0NPVU5URVJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLX0RJVklTSU9OX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQogICAgDQojZGVmaW5lIElTX1RJTV9ETUFfQ0NfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQogICAgDQojZGVmaW5lIElTX1RJTV9DT01NVVRBVElPTl9FVkVOVF9JTlNUQU5DRShJTlNUQU5DRSkgICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0VUUl9JTlNUQU5DRShJTlNUQU5DRSkgICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0hBTExfU0VOU09SX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV8zMkJfQ09VTlRFUl9JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgIDBVDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRU5EIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVTQVJUIEluc3RhbmNlcyA6IFN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElTX1VTQVJUX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogQXN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSApDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEhhbGYtRHVwbGV4IG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9IQUxGRFVQTEVYX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBMSU4gbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0xJTl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFyZHdhcmUgRmxvdyBjb250cm9sICoqKioqKioqKioqKioqKioqKioqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VQVJUX0hXRkxPV19JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogU21hcmQgY2FyZCBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TTUFSVENBUkRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSApDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IElSREEgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0lSREFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBNdWx0aS1Qcm9jZXNzb3IgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX01VTFRJUFJPQ0VTU09SX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpICkNCg0KLyoqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogRE1BIG1vZGUgYXZhaWxhYmxlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfRE1BX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBSVEMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfUlRDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFJUQykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogV1dERyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1dXREdfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKChJTlNUQU5DRSkgPT0gV1dERykNCg0KDQoNCg0KI2RlZmluZSBSQ0NfSFNFX01JTiAgICAgICAgIDQwMDAwMDBVDQojZGVmaW5lIFJDQ19IU0VfTUFYICAgICAgICAxNjAwMDAwMFUNCg0KI2RlZmluZSBSQ0NfTUFYX0ZSRVFVRU5DWSAgNzIwMDAwMDBVDQoNCi8qKg0KICAqIEB9DQogICovIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICBGb3IgYSBwYWlubGVzcyBjb2RlcyBtaWdyYXRpb24gYmV0d2VlbiB0aGUgU1RNMzJGMXh4IGRldmljZSBwcm9kdWN0ICAgICAgICovDQovKiAgbGluZXMsIHRoZSBhbGlhc2VzIGRlZmluZWQgYmVsb3cgYXJlIHB1dCBpbiBwbGFjZSB0byBvdmVyY29tZSB0aGUgICAgICAgICAqLw0KLyogIGRpZmZlcmVuY2VzIGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcnMgYW5kIElSUW4gZGVmaW5pdGlvbnMuICAgICAgICAgICAgICAgKi8NCi8qICBObyBuZWVkIHRvIHVwZGF0ZSBkZXZlbG9wZWQgaW50ZXJydXB0IGNvZGUgd2hlbiBtb3ZpbmcgYWNyb3NzICAgICAgICAgICAgICovIA0KLyogIHByb2R1Y3QgbGluZXMgd2l0aGluIHRoZSBzYW1lIFNUTTMyRjEgRmFtaWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qIEFsaWFzZXMgZm9yIF9fSVJRbiAqLw0KI2RlZmluZSBBREMxXzJfSVJRbiBBREMxX0lSUW4NCg0KDQovKiBBbGlhc2VzIGZvciBfX0lSUUhhbmRsZXIgKi8NCiNkZWZpbmUgQURDMV8yX0lSUUhhbmRsZXIgQURDMV9JUlFIYW5kbGVyDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KDQojaWZkZWYgX19jcGx1c3BsdXMNCiAgfQ0KI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovDQogIA0KI2VuZGlmIC8qIF9fU1RNMzJGMTAxeDZfSCAqLw0KICANCiAgDQogIA0KICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLw0K