LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjEwMHhiLmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEB2ZXJzaW9uIFY0LjIuMA0KICAqIEBkYXRlICAgIDMxLU1hcmNoLTIwMTcNCiAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlLiANCiAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHRoZSBwZXJpcGhlcmFsIHJlZ2lzdGVyJ3MgZGVmaW5pdGlvbnMsIGJpdHMgDQogICogICAgICAgICAgZGVmaW5pdGlvbnMgYW5kIG1lbW9yeSBtYXBwaW5nIGZvciBTVE0zMkYxeHggZGV2aWNlcy4gICAgICAgICAgICANCiAgKiAgICAgICAgICAgIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoNCiAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscw0KICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24NCiAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUNCiAgKiAgDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBhdHRlbnRpb24NCiAgKg0KICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPg0KICAqDQogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCiAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQogICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbg0KICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQogICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMNCiAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQ0KICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQogICoNCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQoNCi8qKiBAYWRkdG9ncm91cCBDTVNJUw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBzdG0zMmYxMDB4Yg0KICAqIEB7DQogICovDQogICAgDQojaWZuZGVmIF9fU1RNMzJGMTAweEJfSA0KI2RlZmluZSBfX1NUTTMyRjEwMHhCX0gNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogZXh0ZXJuICJDIiB7DQojZW5kaWYgDQoNCi8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTMgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzIA0KICovDQojZGVmaW5lIF9fQ00zX1JFViAgICAgICAgICAgICAgICAgIDB4MDIwMFUgIC8qITwgQ29yZSBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUgICAgICAgLyohPCBPdGhlciBTVE0zMiBkZXZpY2VzIGRvZXMgbm90IHByb3ZpZGUgYW4gTVBVICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgICA0VSAgICAgICAvKiE8IFNUTTMyIHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgIDBVICAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfaW50ZXJydXB0X251bWJlcl9kZWZpbml0aW9uDQogICogQHsNCiAgKi8NCg0KLyoqDQogKiBAYnJpZWYgU1RNMzJGMTB4IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiwgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBkZXZpY2UgDQogKiAgICAgICAgaW4gQHJlZiBMaWJyYXJ5X2NvbmZpZ3VyYXRpb25fc2VjdGlvbiANCiAqLw0KDQogLyohPCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24gKi8NCnR5cGVkZWYgZW51bQ0Kew0KLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgPSAtMTMsICAgIC8qITwgMyBDb3J0ZXgtTTMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAqLw0KICBNZW1vcnlNYW5hZ2VtZW50X0lSUW4gICAgICAgPSAtMTIsICAgIC8qITwgNCBDb3J0ZXgtTTMgTWVtb3J5IE1hbmFnZW1lbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAqLw0KICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgPSAtMTAsICAgIC8qITwgNiBDb3J0ZXgtTTMgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAqLw0KICBTVkNhbGxfSVJRbiAgICAgICAgICAgICAgICAgPSAtNSwgICAgIC8qITwgMTEgQ29ydGV4LU0zIFNWIENhbGwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0zIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTeXNUaWNrX0lSUW4gICAgICAgICAgICAgICAgPSAtMSwgICAgIC8qITwgMTUgQ29ydGV4LU0zIFN5c3RlbSBUaWNrIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLw0KDQovKioqKioqICBTVE0zMiBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICovDQogIFRBTVBFUl9JUlFuICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgLyohPCBSVEMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJDQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBSQ0MgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgLyohPCBFWFRJIExpbmUwIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkyX0lSUW4gICAgICAgICAgICAgICAgICA9IDgsICAgICAgLyohPCBFWFRJIExpbmUyIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDksICAgICAgLyohPCBFWFRJIExpbmUzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDExLCAgICAgLyohPCBETUExIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDEyLCAgICAgLyohPCBETUExIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDE0LCAgICAgLyohPCBETUExIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDE1LCAgICAgLyohPCBETUExIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDZfSVJRbiAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIENoYW5uZWwgNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDdfSVJRbiAgICAgICAgICA9IDE3LCAgICAgLyohPCBETUExIENoYW5uZWwgNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyohPCBBREMxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk5XzVfSVJRbiAgICAgICAgICAgICAgICA9IDIzLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzk6NV0gSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTFfQlJLX1RJTTE1X0lSUW4gICAgICAgICA9IDI0LCAgICAgLyohPCBUSU0xIEJyZWFrIGFuZCBUSU0xNSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTFfVVBfVElNMTZfSVJRbiAgICAgICAgICA9IDI1LCAgICAgLyohPCBUSU0xIFVwZGF0ZSBhbmQgVElNMTYgSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuICAgICA9IDI2LCAgICAgLyohPCBUSU0xIFRyaWdnZXIgYW5kIENvbW11dGF0aW9uIGFuZCBUSU0xNyBJbnRlcnJ1cHQgICAgICovDQogIFRJTTFfQ0NfSVJRbiAgICAgICAgICAgICAgICA9IDI3LCAgICAgLyohPCBUSU0xIENhcHR1cmUgQ29tcGFyZSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyohPCBUSU0yIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI5LCAgICAgLyohPCBUSU0zIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTRfSVJRbiAgICAgICAgICAgICAgICAgICA9IDMwLCAgICAgLyohPCBUSU00IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMxLCAgICAgLyohPCBJMkMxIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDMyLCAgICAgLyohPCBJMkMxIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMzLCAgICAgLyohPCBJMkMyIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDM0LCAgICAgLyohPCBJMkMyIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyohPCBTUEkxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM2LCAgICAgLyohPCBTUEkyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMV9JUlFuICAgICAgICAgICAgICAgICA9IDM3LCAgICAgLyohPCBVU0FSVDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMl9JUlFuICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyohPCBVU0FSVDIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUM19JUlFuICAgICAgICAgICAgICAgICA9IDM5LCAgICAgLyohPCBVU0FSVDMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxNV8xMF9JUlFuICAgICAgICAgICAgICA9IDQwLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzE1OjEwXSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19BbGFybV9JUlFuICAgICAgICAgICAgICA9IDQxLCAgICAgLyohPCBSVEMgQWxhcm0gdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICovDQogIENFQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDQyLCAgICAgLyohPCBIRE1JLUNFQyBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTZfREFDX0lSUW4gICAgICAgICAgICAgICA9IDU0LCAgICAgLyohPCBUSU02IGFuZCBEQUMgdW5kZXJydW4gSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDU1LCAgICAgLyohPCBUSU03IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQp9IElSUW5fVHlwZTsNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KI2luY2x1ZGUgImNvcmVfY20zLmgiDQojaW5jbHVkZSAic3lzdGVtX3N0bTMyZjF4eC5oIg0KI2luY2x1ZGUgPHN0ZGludC5oPg0KDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9yZWdpc3RlcnNfc3RydWN0dXJlcw0KICAqIEB7DQogICovICAgDQoNCi8qKiANCiAgKiBAYnJpZWYgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBDUjE7DQogIF9fSU8gdWludDMyX3QgQ1IyOw0KICBfX0lPIHVpbnQzMl90IFNNUFIxOw0KICBfX0lPIHVpbnQzMl90IFNNUFIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIxOw0KICBfX0lPIHVpbnQzMl90IEpPRlIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIzOw0KICBfX0lPIHVpbnQzMl90IEpPRlI0Ow0KICBfX0lPIHVpbnQzMl90IEhUUjsNCiAgX19JTyB1aW50MzJfdCBMVFI7DQogIF9fSU8gdWludDMyX3QgU1FSMTsNCiAgX19JTyB1aW50MzJfdCBTUVIyOw0KICBfX0lPIHVpbnQzMl90IFNRUjM7DQogIF9fSU8gdWludDMyX3QgSlNRUjsNCiAgX19JTyB1aW50MzJfdCBKRFIxOw0KICBfX0lPIHVpbnQzMl90IEpEUjI7DQogIF9fSU8gdWludDMyX3QgSkRSMzsNCiAgX19JTyB1aW50MzJfdCBKRFI0Ow0KICBfX0lPIHVpbnQzMl90IERSOw0KfSBBRENfVHlwZURlZjsNCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBzdGF0dXMgcmVnaXN0ZXIsICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAxLCB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDA0ICAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMiwgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHgwOCAgKi8NCiAgdWludDMyX3QgIFJFU0VSVkVEWzE2XTsNCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIHJlZ2lzdGVyLCAgICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4NEMgICovDQp9IEFEQ19Db21tb25fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBCYWNrdXAgUmVnaXN0ZXJzICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgdWludDMyX3QgIFJFU0VSVkVEMDsNCiAgX19JTyB1aW50MzJfdCBEUjE7DQogIF9fSU8gdWludDMyX3QgRFIyOw0KICBfX0lPIHVpbnQzMl90IERSMzsNCiAgX19JTyB1aW50MzJfdCBEUjQ7DQogIF9fSU8gdWludDMyX3QgRFI1Ow0KICBfX0lPIHVpbnQzMl90IERSNjsNCiAgX19JTyB1aW50MzJfdCBEUjc7DQogIF9fSU8gdWludDMyX3QgRFI4Ow0KICBfX0lPIHVpbnQzMl90IERSOTsNCiAgX19JTyB1aW50MzJfdCBEUjEwOw0KICBfX0lPIHVpbnQzMl90IFJUQ0NSOw0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCn0gQktQX1R5cGVEZWY7DQogIA0KDQovKiogDQogICogQGJyaWVmIENvbnN1bWVyIEVsZWN0cm9uaWNzIENvbnRyb2wgKENFQykNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ0ZHUjsNCiAgX19JTyB1aW50MzJfdCBPQVI7DQogIF9fSU8gdWludDMyX3QgUFJFUzsNCiAgX19JTyB1aW50MzJfdCBFU1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KICBfX0lPIHVpbnQzMl90IFRYRDsNCiAgX19JTyB1aW50MzJfdCBSWEQ7ICANCn0gQ0VDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgRFI7ICAgICAgICAgICAvKiE8IENSQyBEYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDhfdCAgSURSOyAgICAgICAgICAvKiE8IENSQyBJbmRlcGVuZGVudCBkYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIHVpbnQ4X3QgICAgICAgUkVTRVJWRUQwOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA1ICovDQogIHVpbnQxNl90ICAgICAgUkVTRVJWRUQxOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA2ICovICANCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgIC8qITwgQ1JDIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8gDQp9IENSQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIERpZ2l0YWwgdG8gQW5hbG9nIENvbnZlcnRlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IFNXVFJJR1I7DQogIF9fSU8gdWludDMyX3QgREhSMTJSMTsNCiAgX19JTyB1aW50MzJfdCBESFIxMkwxOw0KICBfX0lPIHVpbnQzMl90IERIUjhSMTsNCiAgX19JTyB1aW50MzJfdCBESFIxMlIyOw0KICBfX0lPIHVpbnQzMl90IERIUjEyTDI7DQogIF9fSU8gdWludDMyX3QgREhSOFIyOw0KICBfX0lPIHVpbnQzMl90IERIUjEyUkQ7DQogIF9fSU8gdWludDMyX3QgREhSMTJMRDsNCiAgX19JTyB1aW50MzJfdCBESFI4UkQ7DQogIF9fSU8gdWludDMyX3QgRE9SMTsNCiAgX19JTyB1aW50MzJfdCBET1IyOw0KICBfX0lPIHVpbnQzMl90IFNSOw0KfSBEQUNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBEZWJ1ZyBNQ1UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJRENPREU7DQogIF9fSU8gdWludDMyX3QgQ1I7DQp9REJHTUNVX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRE1BIENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgQ05EVFI7DQogIF9fSU8gdWludDMyX3QgQ1BBUjsNCiAgX19JTyB1aW50MzJfdCBDTUFSOw0KfSBETUFfQ2hhbm5lbF9UeXBlRGVmOw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElTUjsNCiAgX19JTyB1aW50MzJfdCBJRkNSOw0KfSBETUFfVHlwZURlZjsNCg0KDQoNCi8qKiANCiAgKiBAYnJpZWYgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJTVI7DQogIF9fSU8gdWludDMyX3QgRU1SOw0KICBfX0lPIHVpbnQzMl90IFJUU1I7DQogIF9fSU8gdWludDMyX3QgRlRTUjsNCiAgX19JTyB1aW50MzJfdCBTV0lFUjsNCiAgX19JTyB1aW50MzJfdCBQUjsNCn0gRVhUSV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEZMQVNIIFJlZ2lzdGVycw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEFDUjsNCiAgX19JTyB1aW50MzJfdCBLRVlSOw0KICBfX0lPIHVpbnQzMl90IE9QVEtFWVI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQVI7DQogIF9fSU8gdWludDMyX3QgUkVTRVJWRUQ7DQogIF9fSU8gdWludDMyX3QgT0JSOw0KICBfX0lPIHVpbnQzMl90IFdSUFI7DQp9IEZMQVNIX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgT3B0aW9uIEJ5dGVzIFJlZ2lzdGVycw0KICAqLw0KICANCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDE2X3QgUkRQOw0KICBfX0lPIHVpbnQxNl90IFVTRVI7DQogIF9fSU8gdWludDE2X3QgRGF0YTA7DQogIF9fSU8gdWludDE2X3QgRGF0YTE7DQogIF9fSU8gdWludDE2X3QgV1JQMDsNCiAgX19JTyB1aW50MTZfdCBXUlAxOw0KICBfX0lPIHVpbnQxNl90IFdSUDI7DQogIF9fSU8gdWludDE2X3QgV1JQMzsNCn0gT0JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBHZW5lcmFsIFB1cnBvc2UgSS9PDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1JMOw0KICBfX0lPIHVpbnQzMl90IENSSDsNCiAgX19JTyB1aW50MzJfdCBJRFI7DQogIF9fSU8gdWludDMyX3QgT0RSOw0KICBfX0lPIHVpbnQzMl90IEJTUlI7DQogIF9fSU8gdWludDMyX3QgQlJSOw0KICBfX0lPIHVpbnQzMl90IExDS1I7DQp9IEdQSU9fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBBbHRlcm5hdGUgRnVuY3Rpb24gSS9PDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgRVZDUjsNCiAgX19JTyB1aW50MzJfdCBNQVBSOw0KICBfX0lPIHVpbnQzMl90IEVYVElDUls0XTsNCiAgdWludDMyX3QgUkVTRVJWRUQwOw0KICBfX0lPIHVpbnQzMl90IE1BUFIyOyAgDQp9IEFGSU9fVHlwZURlZjsNCi8qKiANCiAgKiBAYnJpZWYgSW50ZXIgSW50ZWdyYXRlZCBDaXJjdWl0IEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgT0FSMTsNCiAgX19JTyB1aW50MzJfdCBPQVIyOw0KICBfX0lPIHVpbnQzMl90IERSOw0KICBfX0lPIHVpbnQzMl90IFNSMTsNCiAgX19JTyB1aW50MzJfdCBTUjI7DQogIF9fSU8gdWludDMyX3QgQ0NSOw0KICBfX0lPIHVpbnQzMl90IFRSSVNFOw0KfSBJMkNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBJbmRlcGVuZGVudCBXQVRDSERPRw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEtSOyAgICAgICAgICAgLyohPCBLZXkgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSOyAgICAgICAgICAgLyohPCBQcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFJMUjsgICAgICAgICAgLyohPCBSZWxvYWQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgLyohPCBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KfSBJV0RHX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUG93ZXIgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCn0gUFdSX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUmVzZXQgYW5kIENsb2NrIENvbnRyb2wNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsNCiAgX19JTyB1aW50MzJfdCBDRkdSOw0KICBfX0lPIHVpbnQzMl90IENJUjsNCiAgX19JTyB1aW50MzJfdCBBUEIyUlNUUjsNCiAgX19JTyB1aW50MzJfdCBBUEIxUlNUUjsNCiAgX19JTyB1aW50MzJfdCBBSEJFTlI7DQogIF9fSU8gdWludDMyX3QgQVBCMkVOUjsNCiAgX19JTyB1aW50MzJfdCBBUEIxRU5SOw0KICBfX0lPIHVpbnQzMl90IEJEQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KDQoNCiAgdWludDMyX3QgUkVTRVJWRUQwOw0KICBfX0lPIHVpbnQzMl90IENGR1IyOw0KfSBSQ0NfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZWFsLVRpbWUgQ2xvY2sNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkg7DQogIF9fSU8gdWludDMyX3QgQ1JMOw0KICBfX0lPIHVpbnQzMl90IFBSTEg7DQogIF9fSU8gdWludDMyX3QgUFJMTDsNCiAgX19JTyB1aW50MzJfdCBESVZIOw0KICBfX0lPIHVpbnQzMl90IERJVkw7DQogIF9fSU8gdWludDMyX3QgQ05USDsNCiAgX19JTyB1aW50MzJfdCBDTlRMOw0KICBfX0lPIHVpbnQzMl90IEFMUkg7DQogIF9fSU8gdWludDMyX3QgQUxSTDsNCn0gUlRDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgU0QgaG9zdCBJbnRlcmZhY2UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBQT1dFUjsNCiAgX19JTyB1aW50MzJfdCBDTEtDUjsNCiAgX19JTyB1aW50MzJfdCBBUkc7DQogIF9fSU8gdWludDMyX3QgQ01EOw0KICBfX0kgdWludDMyX3QgUkVTUENNRDsNCiAgX19JIHVpbnQzMl90IFJFU1AxOw0KICBfX0kgdWludDMyX3QgUkVTUDI7DQogIF9fSSB1aW50MzJfdCBSRVNQMzsNCiAgX19JIHVpbnQzMl90IFJFU1A0Ow0KICBfX0lPIHVpbnQzMl90IERUSU1FUjsNCiAgX19JTyB1aW50MzJfdCBETEVOOw0KICBfX0lPIHVpbnQzMl90IERDVFJMOw0KICBfX0kgdWludDMyX3QgRENPVU5UOw0KICBfX0kgdWludDMyX3QgU1RBOw0KICBfX0lPIHVpbnQzMl90IElDUjsNCiAgX19JTyB1aW50MzJfdCBNQVNLOw0KICB1aW50MzJfdCAgUkVTRVJWRUQwWzJdOw0KICBfX0kgdWludDMyX3QgRklGT0NOVDsNCiAgdWludDMyX3QgIFJFU0VSVkVEMVsxM107DQogIF9fSU8gdWludDMyX3QgRklGTzsNCn0gU0RJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgQ1JDUFI7DQogIF9fSU8gdWludDMyX3QgUlhDUkNSOw0KICBfX0lPIHVpbnQzMl90IFRYQ1JDUjsNCn0gU1BJX1R5cGVEZWY7DQoNCi8qKg0KICAqIEBicmllZiBUSU0gVGltZXJzDQogICovDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgICAgICAgLyohPCBUSU0gY29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgICAgLyohPCBUSU0gY29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFNNQ1I7ICAgICAgICAgICAgLyohPCBUSU0gc2xhdmUgTW9kZSBDb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IERJRVI7ICAgICAgICAgICAgLyohPCBUSU0gRE1BL2ludGVycnVwdCBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgICAgLyohPCBUSU0gc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IEVHUjsgICAgICAgICAgICAgLyohPCBUSU0gZXZlbnQgZ2VuZXJhdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IENDTVIxOyAgICAgICAgICAgLyohPCBUSU0gIGNhcHR1cmUvY29tcGFyZSBtb2RlIHJlZ2lzdGVyIDEsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQzMl90IENDTVIyOyAgICAgICAgICAgLyohPCBUSU0gIGNhcHR1cmUvY29tcGFyZSBtb2RlIHJlZ2lzdGVyIDIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IENDRVI7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIGVuYWJsZSByZWdpc3RlciwgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLw0KICBfX0lPIHVpbnQzMl90IENOVDsgICAgICAgICAgICAgLyohPCBUSU0gY291bnRlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLw0KICBfX0lPIHVpbnQzMl90IFBTQzsgICAgICAgICAgICAgLyohPCBUSU0gcHJlc2NhbGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICBfX0lPIHVpbnQzMl90IEFSUjsgICAgICAgICAgICAgLyohPCBUSU0gYXV0by1yZWxvYWQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyQyAqLw0KICBfX0lPIHVpbnQzMl90IFJDUjsgICAgICAgICAgICAgLyohPCBUSU0gIHJlcGV0aXRpb24gY291bnRlciByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzMCAqLw0KICBfX0lPIHVpbnQzMl90IENDUjE7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLw0KICBfX0lPIHVpbnQzMl90IENDUjI7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzOCAqLw0KICBfX0lPIHVpbnQzMl90IENDUjM7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDMsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzQyAqLw0KICBfX0lPIHVpbnQzMl90IENDUjQ7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDQsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0MCAqLw0KICBfX0lPIHVpbnQzMl90IEJEVFI7ICAgICAgICAgICAgLyohPCBUSU0gYnJlYWsgYW5kIGRlYWQtdGltZSByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0NCAqLw0KICBfX0lPIHVpbnQzMl90IERDUjsgICAgICAgICAgICAgLyohPCBUSU0gRE1BIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0OCAqLw0KICBfX0lPIHVpbnQzMl90IERNQVI7ICAgICAgICAgICAgLyohPCBUSU0gRE1BIGFkZHJlc3MgZm9yIGZ1bGwgdHJhbnNmZXIgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHg0QyAqLw0KICBfX0lPIHVpbnQzMl90IE9SOyAgICAgICAgICAgICAgLyohPCBUSU0gb3B0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1MCAqLw0KfVRJTV9UeXBlRGVmOw0KDQoNCi8qKiANCiAgKiBAYnJpZWYgVW5pdmVyc2FsIFN5bmNocm9ub3VzIEFzeW5jaHJvbm91cyBSZWNlaXZlciBUcmFuc21pdHRlcg0KICAqLw0KIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAvKiE8IFVTQVJUIFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAvKiE8IFVTQVJUIERhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBCUlI7ICAgICAgICAvKiE8IFVTQVJUIEJhdWQgcmF0ZSByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBDUjE7ICAgICAgICAvKiE8IFVTQVJUIENvbnRyb2wgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCiAgX19JTyB1aW50MzJfdCBDUjI7ICAgICAgICAvKiE8IFVTQVJUIENvbnRyb2wgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgKi8NCiAgX19JTyB1aW50MzJfdCBDUjM7ICAgICAgICAvKiE8IFVTQVJUIENvbnRyb2wgcmVnaXN0ZXIgMywgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBHVFBSOyAgICAgICAvKiE8IFVTQVJUIEd1YXJkIHRpbWUgYW5kIHByZXNjYWxlciByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8NCn0gVVNBUlRfVHlwZURlZjsNCg0KDQoNCi8qKiANCiAgKiBAYnJpZWYgV2luZG93IFdBVENIRE9HDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7ICAgLyohPCBXV0RHIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ0ZSOyAgLyohPCBXV0RHIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgLyohPCBXV0RHIFN0YXR1cyByZWdpc3RlciwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQp9IFdXREdfVHlwZURlZjsNCg0KLyoqDQogICogQH0NCiAgKi8NCiAgDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9tZW1vcnlfbWFwDQogICogQHsNCiAgKi8NCg0KDQojZGVmaW5lIEZMQVNIX0JBU0UgICAgICAgICAgICAweDA4MDAwMDAwVSAvKiE8IEZMQVNIIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQojZGVmaW5lIEZMQVNIX0JBTksxX0VORCAgICAgICAweDA4MDFGRkZGVSAvKiE8IEZMQVNIIEVORCBhZGRyZXNzIG9mIGJhbmsxICovDQojZGVmaW5lIFNSQU1fQkFTRSAgICAgICAgICAgICAweDIwMDAwMDAwVSAvKiE8IFNSQU0gYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8NCiNkZWZpbmUgUEVSSVBIX0JBU0UgICAgICAgICAgIDB4NDAwMDAwMDBVIC8qITwgUGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KDQojZGVmaW5lIFNSQU1fQkJfQkFTRSAgICAgICAgICAweDIyMDAwMDAwVSAvKiE8IFNSQU0gYmFzZSBhZGRyZXNzIGluIHRoZSBiaXQtYmFuZCByZWdpb24gKi8NCiNkZWZpbmUgUEVSSVBIX0JCX0JBU0UgICAgICAgIDB4NDIwMDAwMDBVIC8qITwgUGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MgaW4gdGhlIGJpdC1iYW5kIHJlZ2lvbiAqLw0KDQoNCi8qITwgUGVyaXBoZXJhbCBtZW1vcnkgbWFwICovDQojZGVmaW5lIEFQQjFQRVJJUEhfQkFTRSAgICAgICBQRVJJUEhfQkFTRQ0KI2RlZmluZSBBUEIyUEVSSVBIX0JBU0UgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxMDAwMFUpDQojZGVmaW5lIEFIQlBFUklQSF9CQVNFICAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDIwMDAwVSkNCg0KI2RlZmluZSBUSU0yX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBUSU0zX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDBVKQ0KI2RlZmluZSBUSU00X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA4MDBVKQ0KI2RlZmluZSBUSU02X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDEwMDBVKQ0KI2RlZmluZSBUSU03X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDE0MDBVKQ0KI2RlZmluZSBSVENfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDI4MDBVKQ0KI2RlZmluZSBXV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDJDMDBVKQ0KI2RlZmluZSBJV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KI2RlZmluZSBTUEkyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDM4MDBVKQ0KI2RlZmluZSBVU0FSVDJfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ0MDBVKQ0KI2RlZmluZSBVU0FSVDNfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ4MDBVKQ0KI2RlZmluZSBJMkMxX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDU0MDBVKQ0KI2RlZmluZSBJMkMyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NTgwMCkNCiNkZWZpbmUgQktQX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA2QzAwVSkNCiNkZWZpbmUgUFdSX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3MDAwVSkNCiNkZWZpbmUgREFDX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3NDAwVSkNCiNkZWZpbmUgQ0VDX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3ODAwVSkNCiNkZWZpbmUgQUZJT19CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwMDAwVSkNCiNkZWZpbmUgRVhUSV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgR1BJT0FfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwODAwVSkNCiNkZWZpbmUgR1BJT0JfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwQzAwVSkNCiNkZWZpbmUgR1BJT0NfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgR1BJT0RfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxNDAwVSkNCiNkZWZpbmUgR1BJT0VfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxODAwVSkNCiNkZWZpbmUgQURDMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyNDAwVSkNCiNkZWZpbmUgVElNMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyQzAwVSkNCiNkZWZpbmUgU1BJMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzMDAwVSkNCiNkZWZpbmUgVVNBUlQxX0JBU0UgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzODAwVSkNCiNkZWZpbmUgVElNMTVfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA0MDAwVSkNCiNkZWZpbmUgVElNMTZfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA0NDAwVSkNCiNkZWZpbmUgVElNMTdfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDA0ODAwVSkNCg0KI2RlZmluZSBTRElPX0JBU0UgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxODAwMFUpDQoNCiNkZWZpbmUgRE1BMV9CQVNFICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWwxX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAwOFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDJfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDFDVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsM19CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMzBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw0X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA0NFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDVfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDU4VSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNl9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwNkNVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw3X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA4MFUpDQojZGVmaW5lIFJDQ19CQVNFICAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgQ1JDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KDQojZGVmaW5lIEZMQVNIX1JfQkFTRSAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkgLyohPCBGbGFzaCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZMQVNIU0laRV9CQVNFICAgICAgICAweDFGRkZGN0UwVSAgICAvKiE8IEZMQVNIIFNpemUgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFVJRF9CQVNFICAgICAgICAgICAgICAweDFGRkZGN0U4VSAgICAvKiE8IFVuaXF1ZSBkZXZpY2UgSUQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIE9CX0JBU0UgICAgICAgICAgICAgICAweDFGRkZGODAwVSAgICAvKiE8IEZsYXNoIE9wdGlvbiBCeXRlcyBiYXNlIGFkZHJlc3MgKi8NCg0KDQoNCiNkZWZpbmUgREJHTUNVX0JBU0UgICAgICAgICAgMHhFMDA0MjAwMFUgLyohPCBEZWJ1ZyBNQ1UgcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCiAgDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9kZWNsYXJhdGlvbg0KICAqIEB7DQogICovICANCg0KI2RlZmluZSBUSU0yICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0yX0JBU0UpDQojZGVmaW5lIFRJTTMgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTNfQkFTRSkNCiNkZWZpbmUgVElNNCAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNNF9CQVNFKQ0KI2RlZmluZSBUSU02ICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU02X0JBU0UpDQojZGVmaW5lIFRJTTcgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTdfQkFTRSkNCiNkZWZpbmUgUlRDICAgICAgICAgICAgICAgICAoKFJUQ19UeXBlRGVmICopUlRDX0JBU0UpDQojZGVmaW5lIFdXREcgICAgICAgICAgICAgICAgKChXV0RHX1R5cGVEZWYgKilXV0RHX0JBU0UpDQojZGVmaW5lIElXREcgICAgICAgICAgICAgICAgKChJV0RHX1R5cGVEZWYgKilJV0RHX0JBU0UpDQojZGVmaW5lIFNQSTIgICAgICAgICAgICAgICAgKChTUElfVHlwZURlZiAqKVNQSTJfQkFTRSkNCiNkZWZpbmUgVVNBUlQyICAgICAgICAgICAgICAoKFVTQVJUX1R5cGVEZWYgKilVU0FSVDJfQkFTRSkNCiNkZWZpbmUgVVNBUlQzICAgICAgICAgICAgICAoKFVTQVJUX1R5cGVEZWYgKilVU0FSVDNfQkFTRSkNCiNkZWZpbmUgSTJDMSAgICAgICAgICAgICAgICAoKEkyQ19UeXBlRGVmICopSTJDMV9CQVNFKQ0KI2RlZmluZSBJMkMyICAgICAgICAgICAgICAgICgoSTJDX1R5cGVEZWYgKilJMkMyX0JBU0UpDQojZGVmaW5lIEJLUCAgICAgICAgICAgICAgICAgKChCS1BfVHlwZURlZiAqKUJLUF9CQVNFKQ0KI2RlZmluZSBQV1IgICAgICAgICAgICAgICAgICgoUFdSX1R5cGVEZWYgKilQV1JfQkFTRSkNCiNkZWZpbmUgREFDMSAgICAgICAgICAgICAgICAoKERBQ19UeXBlRGVmICopREFDX0JBU0UpDQojZGVmaW5lIERBQyAgICAgICAgICAgICAgICAgKChEQUNfVHlwZURlZiAqKURBQ19CQVNFKSAvKiBLZXB0IGZvciBsZWdhY3kgcHVycG9zZSAqLw0KI2RlZmluZSBDRUMgICAgICAgICAgICAgICAgICgoQ0VDX1R5cGVEZWYgKilDRUNfQkFTRSkNCiNkZWZpbmUgQUZJTyAgICAgICAgICAgICAgICAoKEFGSU9fVHlwZURlZiAqKUFGSU9fQkFTRSkNCiNkZWZpbmUgRVhUSSAgICAgICAgICAgICAgICAoKEVYVElfVHlwZURlZiAqKUVYVElfQkFTRSkNCiNkZWZpbmUgR1BJT0EgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9BX0JBU0UpDQojZGVmaW5lIEdQSU9CICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPQl9CQVNFKQ0KI2RlZmluZSBHUElPQyAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0NfQkFTRSkNCiNkZWZpbmUgR1BJT0QgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9EX0JBU0UpDQojZGVmaW5lIEdQSU9FICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPRV9CQVNFKQ0KI2RlZmluZSBBREMxICAgICAgICAgICAgICAgICgoQURDX1R5cGVEZWYgKilBREMxX0JBU0UpDQojZGVmaW5lIEFEQzFfQ09NTU9OICAgICAgICAgKChBRENfQ29tbW9uX1R5cGVEZWYgKilBREMxX0JBU0UpDQojZGVmaW5lIFRJTTEgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTFfQkFTRSkNCiNkZWZpbmUgU1BJMSAgICAgICAgICAgICAgICAoKFNQSV9UeXBlRGVmICopU1BJMV9CQVNFKQ0KI2RlZmluZSBVU0FSVDEgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUMV9CQVNFKQ0KI2RlZmluZSBUSU0xNSAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0xNV9CQVNFKQ0KI2RlZmluZSBUSU0xNiAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0xNl9CQVNFKQ0KI2RlZmluZSBUSU0xNyAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0xN19CQVNFKQ0KI2RlZmluZSBTRElPICAgICAgICAgICAgICAgICgoU0RJT19UeXBlRGVmICopU0RJT19CQVNFKQ0KI2RlZmluZSBETUExICAgICAgICAgICAgICAgICgoRE1BX1R5cGVEZWYgKilETUExX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDEgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsMV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwyICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDJfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMyAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWwzX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDQgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsNF9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw1ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDVfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw2X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDcgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsN19CQVNFKQ0KI2RlZmluZSBSQ0MgICAgICAgICAgICAgICAgICgoUkNDX1R5cGVEZWYgKilSQ0NfQkFTRSkNCiNkZWZpbmUgQ1JDICAgICAgICAgICAgICAgICAoKENSQ19UeXBlRGVmICopQ1JDX0JBU0UpDQojZGVmaW5lIEZMQVNIICAgICAgICAgICAgICAgKChGTEFTSF9UeXBlRGVmICopRkxBU0hfUl9CQVNFKQ0KI2RlZmluZSBPQiAgICAgICAgICAgICAgICAgICgoT0JfVHlwZURlZiAqKU9CX0JBU0UpDQojZGVmaW5lIERCR01DVSAgICAgICAgICAgICAgKChEQkdNQ1VfVHlwZURlZiAqKURCR01DVV9CQVNFKQ0KDQoNCi8qKg0KICAqIEB9DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBFeHBvcnRlZF9jb25zdGFudHMNCiAgKiBAew0KICAqLw0KICANCiAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbg0KICAqIEB7DQogICovDQogICAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgUGVyaXBoZXJhbCBSZWdpc3RlcnNfQml0c19EZWZpbml0aW9uICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgIENSQyBjYWxjdWxhdGlvbiB1bml0IChDUkMpICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgQ1JDX0RSX0RSX1BvcykgICAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBDUkNfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgICBDUkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19JRFJfSURSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19JRFJfSURSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBDUkNfSURSX0lEUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIENSQ19JRFJfSURSICAgICAgICAgICAgICAgICAgICAgICAgIENSQ19JRFJfSURSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsLXB1cnBvc2UgOC1iaXQgZGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IENSQ19DUl9SRVNFVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIENSQ19DUl9SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgIENSQ19DUl9SRVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSRVNFVCBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG93ZXIgQ29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFBXUl9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFBXUl9DUl9MUERTX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9MUERTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9MUERTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFBXUl9DUl9MUERTICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9MUERTX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBMb3ctUG93ZXIgRGVlcHNsZWVwICovDQojZGVmaW5lIFBXUl9DUl9QRERTX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QRERTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QRERTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFBXUl9DUl9QRERTICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QRERTX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQb3dlciBEb3duIERlZXBzbGVlcCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1dVRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfQ1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfQ1dVRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1dVRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfQ1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgV2FrZXVwIEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NSX0NTQkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0NTQkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0NTQkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUFdSX0NSX0NTQkYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0NTQkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFN0YW5kYnkgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1JfUFZERV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUFZERV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUFZERV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBQV1JfQ1JfUFZERSAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUFZERV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUG93ZXIgVm9sdGFnZSBEZXRlY3RvciBFbmFibGUgKi8NCg0KI2RlZmluZSBQV1JfQ1JfUExTX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUExTX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDBFMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTICAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUExTWzI6MF0gYml0cyAoUFZEIExldmVsIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KLyohPCBQVkQgbGV2ZWwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjJWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuM1YgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYyICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi40ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA2MFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjVWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuNlYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY1ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi43ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBDMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjhWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEUwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuOVYgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18yVjIgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMA0KI2RlZmluZSBQV1JfQ1JfUExTXzJWMyAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYxDQojZGVmaW5lIFBXUl9DUl9QTFNfMlY0ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjINCiNkZWZpbmUgUFdSX0NSX1BMU18yVjUgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMw0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNiAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY0DQojZGVmaW5lIFBXUl9DUl9QTFNfMlY3ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjUNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjggICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNg0KI2RlZmluZSBQV1JfQ1JfUExTXzJWOSAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY3DQoNCiNkZWZpbmUgUFdSX0NSX0RCUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0RCUF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUFdSX0NSX0RCUCAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IERpc2FibGUgQmFja3VwIERvbWFpbiB3cml0ZSBwcm90ZWN0aW9uICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBQV1JfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9XVUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdha2V1cCBGbGFnICovDQojZGVmaW5lIFBXUl9DU1JfU0JGX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfU0JGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFBXUl9DU1JfU0JGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTdGFuZGJ5IEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NTUl9QVkRPX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9QVkRPX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9QVkRPX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUFdSX0NTUl9QVkRPICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9QVkRPX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBPdXRwdXQgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9FV1VQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9FV1VQX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9FV1VQX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBXS1VQIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhY2t1cCByZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMV9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjJfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjJfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjJfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzX0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzX0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNF9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNF9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjVfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjVfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjVfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI2X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI2X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI2X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSN19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSN19EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSN19EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSN19EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSN19EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSOCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjhfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjhfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjhfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI5X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI5X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI5X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTBfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTBfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTBfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCiNkZWZpbmUgUlRDX0JLUF9OVU1CRVIgMTANCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9SVENDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IEJLUF9SVENDUl9DQUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTCAgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENhbGlicmF0aW9uIHZhbHVlICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9DQ09fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ08gICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDYWxpYnJhdGlvbiBDbG9jayBPdXRwdXQgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX1JUQ0NSX0FTT0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0UgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIG9yIFNlY29uZCBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9BU09TX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBvciBTZWNvbmQgT3V0cHV0IFNlbGVjdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfQ1JfVFBFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1JfVFBFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBCS1BfQ1JfVFBFICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVEFNUEVSIHBpbiBlbmFibGUgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NSX1RQQUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUwgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBwaW4gYWN0aXZlIGxldmVsICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9DU1JfQ1RFX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfQ1RFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEJLUF9DU1JfQ1RFICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBUYW1wZXIgZXZlbnQgKi8NCiNkZWZpbmUgQktQX0NTUl9DVElfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9DVElfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NTUl9DVEkgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFRhbXBlciBJbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9UUElFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBQaW4gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX1RFRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRiAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVGFtcGVyIEV2ZW50IEZsYWcgKi8NCiNkZWZpbmUgQktQX0NTUl9USUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9USUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQktQX0NTUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRhbXBlciBJbnRlcnJ1cHQgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0IGFuZCBDbG9jayBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0lPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNJUkRZX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBSQ0NfQ1JfSFNJVFJJTV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRjggKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU0gICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lUUklNX01zayAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgdHJpbW1pbmcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQ2FsaWJyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFUkRZX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VCWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VCWVBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQnlwYXNzICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfQ1NTT05fUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfQ1NTT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMT05fUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBQTEwgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMUkRZX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBQTEwgY2xvY2sgcmVhZHkgZmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQovKiE8IFNXIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1cgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1NXX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNXWzE6MF0gYml0cyAoU3lzdGVtIGNsb2NrIFN3aXRjaCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0kgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0UgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19QTEwgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KDQovKiE8IFNXUyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFJDQ19DRkdSX1NXUyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9TV1NfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTV1NbMTowXSBiaXRzIChTeXN0ZW0gQ2xvY2sgU3dpdGNoIFN0YXR1cykgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfSFNJICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIG9zY2lsbGF0b3IgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTRSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19QTEwgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4VSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KLyohPCBIUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0hQUkVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEhQUkVbMzowXSBiaXRzIChBSEIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMSAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYyICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY0ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwOTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY4ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxNiAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDE2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNjQgICAgICAgICAgICAgICAgICAweDAwMDAwMEMwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA2NCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEyOCAgICAgICAgICAgICAgICAgMHgwMDAwMDBEMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTI4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMjU2ICAgICAgICAgICAgICAgICAweDAwMDAwMEUwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyNTYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY1MTIgICAgICAgICAgICAgICAgIDB4MDAwMDAwRjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDUxMiAqLw0KDQovKiE8IFBQUkUxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA3MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTEgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAvKiE8IFBSRTFbMjowXSBiaXRzIChBUEIxIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYyICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWNCAgICAgICAgICAgICAgICAgIDB4MDAwMDA1MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjggICAgICAgICAgICAgICAgICAweDAwMDAwNjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxNiAgICAgICAgICAgICAgICAgMHgwMDAwMDcwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovDQoNCi8qITwgUFBSRTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMzgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUFJFMlsyOjBdIGJpdHMgKEFQQjIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjEgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjIgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVY0ICAgICAgICAgICAgICAgICAgMHgwMDAwMjgwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWOCAgICAgICAgICAgICAgICAgIDB4MDAwMDMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjE2ICAgICAgICAgICAgICAgICAweDAwMDAzODAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCg0KLyohPCBBRENQUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX0FEQ1BSRV9Qb3MpICAgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0FEQ1BSRV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQ1BSRVsxOjBdIGJpdHMgKEFEQyBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWNCAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY2ICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjggICAgICAgICAgICAgICAgIDB4MDAwMEMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgOCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExTUkNfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExTUkNfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgZW50cnkgY2xvY2sgc291cmNlICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfUG9zICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTFhUUFJFX1BvcykgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkUgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTFhUUFJFX01zayAgICAgICAgICAgICAvKiE8IEhTRSBkaXZpZGVyIGZvciBQTEwgZW50cnkgKi8NCg0KLyohPCBQTExNVUwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX01zayAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDNDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTF9Nc2sgICAgICAgICAgICAgIC8qITwgUExMTVVMWzM6MF0gYml0cyAoUExMIG11bHRpcGxpY2F0aW9uIGZhY3RvcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8zICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9QUkVESVYxICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFJFRElWMSBjbG9jayBub3QgZGl2aWRlZCBmb3IgUExMIGVudHJ5ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX1BSRURJVjFfRElWMiAgICAgICAweDAwMDIwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQUkVESVYxIGNsb2NrIGRpdmlkZWQgYnkgMiBmb3IgUExMIGVudHJ5ICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDIgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoyICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwzX1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwzX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMM19Qb3MpICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwzICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMM19Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNF9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDRfUG9zKSAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNCAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDRfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDVfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDVfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1BMTE1VTEw1X1BvcykgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDUgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw1X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo1ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw2X1BvcyAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw2X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMNl9Qb3MpICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw2ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMNl9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMN19Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMN19Nc2sgICAgICAgICAgICAgICAgKDB4NVUgPDwgUkNDX0NGR1JfUExMTVVMTDdfUG9zKSAgIC8qITwgMHgwMDE0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNyAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDdfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjcgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDhfUG9zICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDhfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1BMTE1VTEw4X1BvcykgICAvKiE8IDB4MDAxODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDggICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw4X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw5X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw5X01zayAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMOV9Qb3MpICAgLyohPCAweDAwMUMwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw5ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMOV9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqOSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTBfUG9zICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTBfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDEwX1BvcykgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDEwX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrMTAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDExX1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDExX01zayAgICAgICAgICAgICAgICgweDlVIDw8IFJDQ19DRkdSX1BMTE1VTEwxMV9Qb3MpICAvKiE8IDB4MDAyNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDExICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxMV9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTJfUG9zICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTJfTXNrICAgICAgICAgICAgICAgKDB4NVUgPDwgUkNDX0NGR1JfUExMTVVMTDEyX1BvcykgIC8qITwgMHgwMDI4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTIgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDEyX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjEyICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxM19Qb3MgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxM19Nc2sgICAgICAgICAgICAgICAoMHhCVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTNfUG9zKSAgLyohPCAweDAwMkMwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMyAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTNfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE0X1BvcyAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE0X01zayAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1BMTE1VTEwxNF9Qb3MpICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE0ICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxNF9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTVfUG9zICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTVfTXNrICAgICAgICAgICAgICAgKDB4RFUgPDwgUkNDX0NGR1JfUExMTVVMTDE1X1BvcykgIC8qITwgMHgwMDM0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTUgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDE1X01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE1ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNl9Qb3MgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNl9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTZfUG9zKSAgLyohPCAweDAwMzgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNiAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTZfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTYgKi8NCg0KLyohPCBNQ08gY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fUG9zICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ08gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX01zayAgICAgICAgICAgICAgICAgIC8qITwgTUNPWzI6MF0gYml0cyAoTWljcm9jb250cm9sbGVyIENsb2NrIE91dHB1dCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fTk9DTE9DSyAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX1NZU0NMSyAgICAgICAgICAgICAgICAgIDB4MDQwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19IU0kgICAgICAgICAgICAgICAgICAgICAweDA1MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0kgY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNFICAgICAgICAgICAgICAgICAgICAgMHgwNjAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19QTExDTEtfRElWMiAgICAgICAgICAgICAweDA3MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgY2xvY2sgZGl2aWRlZCBieSAyIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCg0KIC8qIFJlZmVyZW5jZSBkZWZpbmVzICovDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUwgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ08NCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8wICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18wDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMQ0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzIgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzINCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9OT0NMT0NLICAgICAgICAgICAgIFJDQ19DRkdSX01DT19OT0NMT0NLDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfU1lTQ0xLICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fU1lTQ0xLDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNJICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fSFNJDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNFICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fSFNFDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfUExMX0RJVjIgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fUExMQ0xLX0RJVjINCg0KLyohPCoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DSVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNJUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9DU1NGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfQ1NTRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfQ1NTRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0lSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0lSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNFUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNFUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0VSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0VSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfUExMUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfUExMUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTSVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBMU0kgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTRVJEWUNfUG9zKSAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBIU0UgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZQ19Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUNfUG9zKSAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUNfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfQ1NTQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0NTU0NfUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTQyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0NTU0NfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gSW50ZXJydXB0IENsZWFyICovDQoNCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjJSU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FGSU9SU1RfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FGSU9SU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9BRklPUlNUX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRklPUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Nc2sgICAgICAgICAgLyohPCBBbHRlcm5hdGUgRnVuY3Rpb24gSS9PIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BBUlNUX1BvcyAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BBUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEFSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgQSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEJSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BCUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUENSU1RfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUENSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BDUlNUX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BDUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBDIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BEUlNUX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BEUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRFJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUERSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgRCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Qb3MgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0FEQzFSU1RfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQzFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9BREMxUlNUX01zayAgICAgICAgICAvKiE8IEFEQyAxIGludGVyZmFjZSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1RfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9USU0xUlNUX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Nc2sgICAgICAgICAgLyohPCBUSU0xIFRpbWVyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TUEkxUlNUX1BvcyAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TUEkxUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1NQSTFSU1RfTXNrICAgICAgICAgIC8qITwgU1BJIDEgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVCAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgICAgICAvKiE8IFVTQVJUMSByZXNldCAqLw0KDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNVJTVF9Qb3MgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNVJTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNMTVSU1RfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTE1UlNUICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xNVJTVF9Nc2sgICAgICAgICAvKiE8IFRJTTE1IFRpbWVyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNlJTVF9Qb3MgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNlJTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNMTZSU1RfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTE2UlNUICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xNlJTVF9Nc2sgICAgICAgICAvKiE8IFRJTTE2IFRpbWVyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xN1JTVF9Qb3MgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xN1JTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNMTdSU1RfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTE3UlNUICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xN1JTVF9Nc2sgICAgICAgICAvKiE8IFRJTTE3IFRpbWVyIHJlc2V0ICovDQoNCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEVSU1RfUG9zICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEVSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BFUlNUX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BFUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QRVJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBFIHJlc2V0ICovDQoNCg0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIxUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0yUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTJSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU0zUlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Nc2sgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Qb3MgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVCAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAvKiE8IFVTQVJUIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfUG9zICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Nc2sgICAgICAgICAgLyohPCBJMkMgMSByZXNldCAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Qb3MgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9CS1BSU1RfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0JLUFJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9CS1BSU1RfTXNrICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Qb3MgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1BXUlJTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAvKiE8IFBvd2VyIGludGVyZmFjZSByZXNldCAqLw0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU00UlNUX1BvcyAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU00UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNNFJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNFJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTRSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgNCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Qb3MgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1NQSTJSU1RfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9TUEkyUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfUG9zICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDNSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX01zayAgICAgICAgLyohPCBVU0FSVCAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX1BvcyAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMyUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfSTJDMlJTVF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0kyQzJSU1RfTXNrICAgICAgICAgIC8qITwgSTJDIDIgcmVzZXQgKi8NCg0KDQoNCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU02UlNUX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU02UlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNNlJTVF9Nc2sgICAgICAgICAgLyohPCBUaW1lciA2IHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNN1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNN1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTdSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgNyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfQ0VDUlNUX1BvcyAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfQ0VDUlNUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0NFQ1JTVF9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfQ0VDUlNUICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0NFQ1JTVF9Nc2sgICAgICAgICAgIC8qITwgQ0VDIGludGVyZmFjZSByZXNldCAqLyANCg0KDQoNCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Qb3MgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9EQUNSU1RfUG9zKSAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0RBQ1JTVCAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9EQUNSU1RfTXNrICAgICAgICAgICAvKiE8IERBQyBpbnRlcmZhY2UgcmVzZXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BSEJFTlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU5fUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRE1BMUVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUExRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRE1BMUVOX01zayAgICAgICAgICAgICAvKiE8IERNQTEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfU1JBTUVOX1BvcyAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfU1JBTUVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX1NSQU1FTl9Qb3MpICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BSEJFTlJfU1JBTUVOICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX1NSQU1FTl9Nc2sgICAgICAgICAgICAgLyohPCBTUkFNIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRkxJVEZFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRkxJVEZFTl9Nc2sgICAgICAgICAgICAvKiE8IEZMSVRGIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9DUkNFTl9Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOICAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9DUkNFTl9Nc2sgICAgICAgICAgICAgIC8qITwgQ1JDIGNsb2NrIGVuYWJsZSAqLw0KDQoNCg0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjJFTlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU5fUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfQUZJT0VOX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BRklPRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfQUZJT0VOX01zayAgICAgICAgICAgIC8qITwgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUEFFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUEFFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTl9Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BCRU5fUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BCRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBCIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU5fUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QQ0VOX1BvcykgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BDRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QQ0VOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOX1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUERFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QREVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUERFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTl9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zKSAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQzFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgLyohPCBBREMgMSBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU5fUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMUVOX1BvcykgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMUVOX01zayAgICAgICAgICAgIC8qITwgVElNMSBUaW1lciBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1NQSTFFTl9Qb3MpICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfU1BJMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1NQSTFFTl9Nc2sgICAgICAgICAgICAvKiE8IFNQSSAxIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Qb3MgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVVNBUlQxRU5fUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU4gICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1VTQVJUMUVOX01zayAgICAgICAgICAvKiE8IFVTQVJUMSBjbG9jayBlbmFibGUgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNUVOX1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNUVOX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMTVFTl9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNUVOICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMTVFTl9Nc2sgICAgICAgICAgIC8qITwgVElNMTUgVGltZXIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTE2RU5fUG9zICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTE2RU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9USU0xNkVOX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTE2RU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9USU0xNkVOX01zayAgICAgICAgICAgLyohPCBUSU0xNiBUaW1lciBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTdFTl9Qb3MgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTdFTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTE3RU5fUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTdFTiAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1RJTTE3RU5fTXNrICAgICAgICAgICAvKiE8IFRJTTE3IFRpbWVyIGNsb2NrIGVuYWJsZSAqLw0KDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTl9Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BFRU5fUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEVFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BFRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBFIGNsb2NrIGVuYWJsZSAqLw0KDQoNCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMUVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNMkVOX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNMkVOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgMiBjbG9jayBlbmFibGVkKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTNFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTNFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9XV0RHRU5fUG9zKSAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9XV0RHRU5fTXNrICAgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX1BvcyAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNBUlQyRU5fTXNrICAgICAgICAgIC8qITwgVVNBUlQgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX1BvcyAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAvKiE8IEkyQyAxIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fUG9zICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0JLUEVOX1BvcykgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0JLUEVOX01zayAgICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX1BvcyAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MpICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTRFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTRFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTl9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9TUEkyRU5fUG9zKSAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9TUEkyRU5fTXNrICAgICAgICAgICAgLyohPCBTUEkgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fUG9zICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1VTQVJUM0VOX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUM0VOICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VU0FSVDNFTl9Nc2sgICAgICAgICAgLyohPCBVU0FSVCAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU5fUG9zICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfSTJDMkVOX1BvcykgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfSTJDMkVOX01zayAgICAgICAgICAgIC8qITwgSTJDIDIgY2xvY2sgZW5hYmxlICovDQoNCg0KDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU02RU5fUG9zKSAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTZFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU02RU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciA2IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU5fUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNN0VOX1BvcykgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU03RU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNN0VOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgNyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQ0VDRU5fUG9zICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfQ0VDRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0NFQ0VOX1BvcykgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQ0VDRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0NFQ0VOX01zayAgICAgICAgICAgICAvKiE8IENFQyBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovIA0KDQoNCg0KI2RlZmluZSBSQ0NfQVBCMUVOUl9EQUNFTl9Qb3MgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9EQUNFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfREFDRU5fUG9zKSAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9EQUNFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfREFDRU5fTXNrICAgICAgICAgICAgIC8qITwgREFDIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQkRDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFT05fUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFT05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRU9OX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFT04gICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRU9OX01zayAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFUkRZX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VSRFkgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfTFNFUkRZX01zayAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgUmVhZHkgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFQllQX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFQllQX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRUJZUF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFQllQICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRUJZUF9Nc2sgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIEJ5cGFzcyAqLw0KDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9SVENTRUxfTXNrICAgICAgICAgICAgICAgLyohPCBSVENTRUxbMTowXSBiaXRzIChSVEMgY2xvY2sgc291cmNlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KLyohPCBSVEMgY29uZ2lndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTk9DTE9DSyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTRSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0kgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0kgb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfSFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDMwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIG9zY2lsbGF0b3IgY2xvY2sgZGl2aWRlZCBieSAxMjggdXNlZCBhcyBSVEMgY2xvY2sgKi8NCg0KI2RlZmluZSBSQ0NfQkRDUl9SVENFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9SVENFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfUlRDRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENFTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfUlRDRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgUlRDIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9CRFJTVF9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9CRFJTVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfQkRSU1RfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9CRFJTVCAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfQkRSU1RfTXNrICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRvbWFpbiBzb2Z0d2FyZSByZXNldCAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8gIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MU0lPTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSU9OICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MU0lPTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xTSVJEWV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DU1JfTFNJUkRZICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xTSVJEWV9Nc2sgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBSZWFkeSAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JNVkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1JNVkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9STVZGX1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1JNVkYgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9STVZGX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVtb3ZlIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGX1BvcyAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUElOUlNURl9Qb3MpICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUElOUlNURl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBJTiByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1BPUlJTVEZfUG9zKSAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1BPUlJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBQT1IvUERSIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGX1BvcyAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfU0ZUUlNURl9Qb3MpICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfU0ZUUlNURl9Nc2sgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIFJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURl9Qb3MgICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfSVdER1JTVEZfUG9zKSAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURiAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfSVdER1JTVEZfTXNrICAgICAgICAgICAgICAvKiE8IEluZGVwZW5kZW50IFdhdGNoZG9nIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9XV0RHUlNURl9Qb3MgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9XV0RHUlNURl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfV1dER1JTVEZfUG9zKSAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9XV0RHUlNURiAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfV1dER1JTVEZfTXNrICAgICAgICAgICAgICAvKiE8IFdpbmRvdyB3YXRjaGRvZyByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfTFBXUlJTVEZfUG9zICAgICAgICAgICAgICAgICAoMzFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFBXUlJTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xQV1JSU1RGX1BvcykgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfTFBXUlJTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xQV1JSU1RGX01zayAgICAgICAgICAgICAgLyohPCBMb3ctUG93ZXIgcmVzZXQgZmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQovKiE8IFBSRURJVjEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1IyX1BSRURJVjFfUG9zKSAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfTXNrICAgICAgICAgICAgIC8qITwgUFJFRElWMVszOjBdIGJpdHMgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSMl9QUkVESVYxX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSMl9QUkVESVYxX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSMl9QUkVESVYxX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfMyAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSMl9QUkVESVYxX1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYyX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYyX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1IyX1BSRURJVjFfRElWMl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYyICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMl9Nc2sgICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWM19Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWM19Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjNfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWMyAgICAgICAgICAgICAgIFJDQ19DRkdSMl9QUkVESVYxX0RJVjNfTXNrICAgICAgICAvKiE8IFBSRURJVjEgaW5wdXQgY2xvY2sgZGl2aWRlZCBieSAzICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjRfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjRfTXNrICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY0X1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjQgICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY0X01zayAgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY1X1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY1X01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1IyX1BSRURJVjFfRElWNV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY1ICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWNV9Nc2sgICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDUgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWNl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWNl9Nc2sgICAgICAgICAgICgweDVVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWNiAgICAgICAgICAgICAgIFJDQ19DRkdSMl9QUkVESVYxX0RJVjZfTXNrICAgICAgICAvKiE8IFBSRURJVjEgaW5wdXQgY2xvY2sgZGl2aWRlZCBieSA2ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjdfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjdfTXNrICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY3X1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjcgICAgICAgICAgICAgICBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY3X01zayAgICAgICAgLyohPCBQUkVESVYxIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgNyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY4X1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY4X01zayAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1IyX1BSRURJVjFfRElWOF9Qb3MpIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVY4ICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWOF9Nc2sgICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWOV9Qb3MgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWOV9Nc2sgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSMl9QUkVESVYxX0RJVjlfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVjFfRElWOSAgICAgICAgICAgICAgIFJDQ19DRkdSMl9QUkVESVYxX0RJVjlfTXNrICAgICAgICAvKiE8IFBSRURJVjEgaW5wdXQgY2xvY2sgZGl2aWRlZCBieSA5ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEwX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEwX01zayAgICAgICAgICAoMHg5VSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMF9Qb3MpIC8qITwgMHgwMDAwMDAwOSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMCAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMTBfTXNrICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDEwICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjExX1BvcyAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjExX01zayAgICAgICAgICAoMHg1VSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMV9Qb3MpIC8qITwgMHgwMDAwMDAwQSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMSAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMTFfTXNrICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDExICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEyX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEyX01zayAgICAgICAgICAoMHhCVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMl9Qb3MpIC8qITwgMHgwMDAwMDAwQiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMiAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMTJfTXNrICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDEyICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEzX1BvcyAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjEzX01zayAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxM19Qb3MpIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxMyAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMTNfTXNrICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDEzICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE0X1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE0X01zayAgICAgICAgICAoMHhEVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNF9Qb3MpIC8qITwgMHgwMDAwMDAwRCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNCAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMTRfTXNrICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDE0ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE1X1BvcyAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE1X01zayAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNV9Qb3MpIC8qITwgMHgwMDAwMDAwRSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNSAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMTVfTXNrICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDE1ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE2X1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYxX0RJVjE2X01zayAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWMV9ESVYxNiAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVjFfRElWMTZfTXNrICAgICAgIC8qITwgUFJFRElWMSBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDE2ICovDQogDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgIEdlbmVyYWwgUHVycG9zZSBhbmQgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0NSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9NT0RFX1BvcykgLyohPCAweDMzMzMzMzMzICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggbW9kZSBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUwX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUwWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDApICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUxX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUxWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUyX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDIpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUzX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUzWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDMpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU0X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU0WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU1X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDUpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfUG9zICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTYgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU2X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU2WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDYpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU3X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU3WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9DTkZfUG9zKSAvKiE8IDB4Q0NDQ0NDQ0MgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYwX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYwX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAwKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYxX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYxWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjJbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMikgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYzX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYzX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAzKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY0X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY0WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjVbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY2X1BvcyAgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY2X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GNlsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA2KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfUG9zICAgICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY3X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY3WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19DUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfTU9ERV9Qb3MpIC8qITwgMHgzMzMzMzMzMyAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IG1vZGUgYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA4KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMCAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTBfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTBbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTApICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxMV9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxMVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTIgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTEyX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTEyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMyAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTNfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTNbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTMpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxNF9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxNFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxNCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTUgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTE1X01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTE1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfQ05GX1BvcykgLyohPCAweENDQ0NDQ0NDICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjhbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gOCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkY5X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkY5X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GOVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTFbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTEpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEyX1BvcykgICAgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEyX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEyWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxM19Qb3MpICAgICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMykgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTRfUG9zKSAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTRbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTQpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjE1X1BvcykgICAgICAvKiE8IDB4QzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjE1X01zayAgICAgICAgICAgICAgICAvKiE8IENORjE1WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKiE8KioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19JRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAzICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI1X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA2ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA5ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19PRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEzICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19CU1JSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzExX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDExICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxMl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxNSAqLw0KDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIwX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfUG9zICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIzX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjRfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSNV9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA1ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI2X1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Qb3MgICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjdfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSOF9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI5X1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfUG9zICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEwX1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfUG9zICAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjExX1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEyX1BvcykgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfUG9zICAgICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEzX1BvcykgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE0X1BvcykgICAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE1X1BvcykgICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIwX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIzX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjQgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI0X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNSAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2X1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI2X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjdfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjcgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI3X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOCAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5X1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19MQ0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s0X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLNV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzZfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s3X1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s3X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzlfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMF9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzExX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTEgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzExX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDExICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTJfUG9zKSAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMiAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTJfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxM19Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxM19Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzE0X1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTQgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzE0X01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNSAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTVfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTUgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0tLX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0sgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0tLX01zayAgICAgICAgICAgICAgICAvKiE8IExvY2sga2V5ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VWQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU4gICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX01zayAgICAgICAgICAgICAgICAgLyohPCBQSU5bMzowXSBiaXRzIChQaW4gc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQovKiE8IFBJTiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgwICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQaW4gMCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDFfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDFfTXNrICAgICAgICAgICAgIC8qITwgUGluIDEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFgyX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgyX01zayAgICAgICAgICAgICAvKiE8IFBpbiAyIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYM19Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYM19Nc2sgICAgICAgICAgICAgLyohPCBQaW4gMyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDRfUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNCAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDRfTXNrICAgICAgICAgICAgIC8qITwgUGluIDQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfTXNrICAgICAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVZDUl9QSU5fUFg1X1BvcykgICAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg1X01zayAgICAgICAgICAgICAvKiE8IFBpbiA1IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X1BvcyAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYNl9Qb3MpICAgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYNl9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19FVkNSX1BJTl9QWDdfUG9zKSAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDdfTXNrICAgICAgICAgICAgIC8qITwgUGluIDcgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFg4X1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDggICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg4X01zayAgICAgICAgICAgICAvKiE8IFBpbiA4IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X01zayAgICAgICAgICAgICAgICAoMHg5VSA8PCBBRklPX0VWQ1JfUElOX1BYOV9Qb3MpICAgLyohPCAweDAwMDAwMDA5ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYOV9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gOSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfTXNrICAgICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FVkNSX1BJTl9QWDEwX1BvcykgIC8qITwgMHgwMDAwMDAwQSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEwX01zayAgICAgICAgICAgIC8qITwgUGluIDEwIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Nc2sgICAgICAgICAgICAgICAoMHhCVSA8PCBBRklPX0VWQ1JfUElOX1BYMTFfUG9zKSAgLyohPCAweDAwMDAwMDBCICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMSAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTFfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFgxMl9Qb3MpICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxMl9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfTXNrICAgICAgICAgICAgICAgKDB4RFUgPDwgQUZJT19FVkNSX1BJTl9QWDEzX1BvcykgIC8qITwgMHgwMDAwMDAwRCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTMgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEzX01zayAgICAgICAgICAgIC8qITwgUGluIDEzIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUElOX1BYMTRfUG9zKSAgLyohPCAweDAwMDAwMDBFICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNCAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTRfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVZDUl9QSU5fUFgxNV9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1ICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxNV9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxNSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQT1JUWzI6MF0gYml0cyAoUG9ydCBzZWxlY3Rpb24pICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qITwgUE9SVCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BBICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IEEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BCX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BCX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgQiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUENfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUENfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBDIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUE9SVF9QRF9Qb3MpICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QRF9Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfUG9zICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BFX1BvcykgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BFX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgRSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfRVZPRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfRVZPRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBFdmVudCBPdXRwdXQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX01BUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1BJMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1BJMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1NQSTFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgU1BJMSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9JMkMxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fTUFQUl9JMkMxX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfSTJDMV9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBJMkMxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQyIHJlbWFwcGluZyAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDNfUkVNQVBbMTowXSBiaXRzIChVU0FSVDMgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzEgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQovKiBVU0FSVDNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX05PUkVNQVAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKFRYL1BCMTAsIFJYL1BCMTEsIENLL1BCMTIsIENUUy9QQjEzLCBSVFMvUEIxNCkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfUG9zICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChUWC9QQzEwLCBSWC9QQzExLCBDSy9QQzEyLCBDVFMvUEIxMywgUlRTL1BCMTQpICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX1BvcyAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX01zayAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUCAgICAgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoVFgvUEQ4LCBSWC9QRDksIENLL1BEMTAsIENUUy9QRDExLCBSVFMvUEQxMikgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTFfUkVNQVBbMTowXSBiaXRzIChUSU0xIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFRJTTFfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKEVUUi9QQTEyLCBDSDEvUEE4LCBDSDIvUEE5LCBDSDMvUEExMCwgQ0g0L1BBMTEsIEJLSU4vUEIxMiwgQ0gxTi9QQjEzLCBDSDJOL1BCMTQsIENIM04vUEIxNSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX1BvcyAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChFVFIvUEExMiwgQ0gxL1BBOCwgQ0gyL1BBOSwgQ0gzL1BBMTAsIENINC9QQTExLCBCS0lOL1BBNiwgQ0gxTi9QQTcsIENIMk4vUEIwLCBDSDNOL1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKEVUUi9QRTcsIENIMS9QRTksIENIMi9QRTExLCBDSDMvUEUxMywgQ0g0L1BFMTQsIEJLSU4vUEUxNSwgQ0gxTi9QRTgsIENIMk4vUEUxMCwgQ0gzTi9QRTEyKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNMl9SRU1BUFsxOjBdIGJpdHMgKFRJTTIgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgVElNMl9SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoQ0gxL0VUUi9QQTAsIENIMi9QQTEsIENIMy9QQTIsIENINC9QQTMpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMSAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL0VUUi9QQTE1LCBDSDIvUEIzLCBDSDMvUEEyLCBDSDQvUEEzKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcyAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDIgICBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKENIMS9FVFIvUEEwLCBDSDIvUEExLCBDSDMvUEIxMCwgQ0g0L1BCMTEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Qb3MgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9GVUxMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQICAgICAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgLyohPCBGdWxsIHJlbWFwIChDSDEvRVRSL1BBMTUsIENIMi9QQjMsIENIMy9QQjEwLCBDSDQvUEIxMSkgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0zX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTNfUkVNQVBbMTowXSBiaXRzIChUSU0zIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KDQovKiE8IFRJTTNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKENIMS9QQTYsIENIMi9QQTcsIENIMy9QQjAsIENINC9QQjEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUCAgICBBRklPX01BUFJfVElNM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL1BCNCwgQ0gyL1BCNSwgQ0gzL1BCMCwgQ0g0L1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKENIMS9QQzYsIENIMi9QQzcsIENIMy9QQzgsIENINC9QQzkpICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU00X1JFTUFQX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU00X1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfVElNNF9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBUSU00X1JFTUFQIGJpdCAoVElNNCByZW1hcHBpbmcpICovDQoNCg0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1BEMDFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1BEMDFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9QRDAxX1JFTUFQX01zayAgICAgICAgICAvKiE8IFBvcnQgRDAvUG9ydCBEMSBtYXBwaW5nIG9uIE9TQ19JTi9PU0NfT1VUICovDQoNCi8qITwgU1dKX0NGRyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX01zayAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDA3MDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHICAgICAgICAgICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19Nc2sgICAgICAgICAgICAgLyohPCBTV0pfQ0ZHWzI6MF0gYml0cyAoU2VyaWFsIFdpcmUgSlRBRyBjb25maWd1cmF0aW9uKSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR18yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX1JFU0VUICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGdWxsIFNXSiAoSlRBRy1EUCArIFNXLURQKSA6IFJlc2V0IFN0YXRlICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX1BvcyAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX01zayAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Qb3MpIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVCAgICAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfTXNrICAgIC8qITwgRnVsbCBTV0ogKEpUQUctRFAgKyBTVy1EUCkgYnV0IHdpdGhvdXQgSk5UUlNUICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX1BvcyAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX01zayAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRSAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfTXNrIC8qITwgSlRBRy1EUCBEaXNhYmxlZCBhbmQgU1ctRFAgRW5hYmxlZCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX1BvcyAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX01zayAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Qb3MpIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFICAgICAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Nc2sgICAgIC8qITwgSlRBRy1EUCBEaXNhYmxlZCBhbmQgU1ctRFAgRGlzYWJsZWQgKi8NCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTAgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX01zayAgICAgICAgICAgIC8qITwgRVhUSSAwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9Qb3MpICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUG9zKSAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMiAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BvcykgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTMgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX01zayAgICAgICAgICAgIC8qITwgRVhUSSAzIGNvbmZpZ3VyYXRpb24gKi8NCg0KLyohPCBFWFRJMCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX01zayAgICAgICAgIC8qITwgUEJbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUERfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUERfTXNrICAgICAgICAgLyohPCBQRFswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX01zayAgICAgICAgIC8qITwgUEVbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEdfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEdfTXNrICAgICAgICAgLyohPCBQR1swXSBwaW4gKi8NCg0KLyohPCBFWFRJMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX01zayAgICAgICAgIC8qITwgUEJbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUERfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUERfTXNrICAgICAgICAgLyohPCBQRFsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX01zayAgICAgICAgIC8qITwgUEVbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEdfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEdfTXNrICAgICAgICAgLyohPCBQR1sxXSBwaW4gKi8NCg0KLyohPCBFWFRJMiBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEJfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEJfTXNrICAgICAgICAgLyohPCBQQlsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX01zayAgICAgICAgIC8qITwgUENbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEVfUG9zICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEVfTXNrICAgICAgICAgLyohPCBQRVsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX01zayAgICAgICAgIC8qITwgUEZbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Nc2sgICAgICAgICAvKiE8IFBHWzJdIHBpbiAqLw0KDQovKiE8IEVYVEkzIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEJfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEJfTXNrICAgICAgICAgLyohPCBQQlszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX01zayAgICAgICAgIC8qITwgUENbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Nc2sgICAgICAgICAvKiE8IFBEWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEVfTXNrICAgICAgICAgLyohPCBQRVszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX01zayAgICAgICAgIC8qITwgUEZbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QR19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QR19Nc2sgICAgICAgICAvKiE8IFBHWzNdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTQgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X01zayAgICAgICAgICAgIC8qITwgRVhUSSA0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9Qb3MpICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUG9zKSAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNiAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDYgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BvcykgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTcgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X01zayAgICAgICAgICAgIC8qITwgRVhUSSA3IGNvbmZpZ3VyYXRpb24gKi8NCg0KLyohPCBFWFRJNCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX01zayAgICAgICAgIC8qITwgUEJbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUERfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUERfTXNrICAgICAgICAgLyohPCBQRFs0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX01zayAgICAgICAgIC8qITwgUEVbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEdfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEdfTXNrICAgICAgICAgLyohPCBQR1s0XSBwaW4gKi8NCg0KLyogRVhUSTUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUENfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUENfTXNrICAgICAgICAgLyohPCBQQ1s1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX01zayAgICAgICAgIC8qITwgUERbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEZfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEZfTXNrICAgICAgICAgLyohPCBQRls1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX01zayAgICAgICAgIC8qITwgUEdbNV0gcGluICovDQoNCi8qITwgRVhUSTYgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX01zayAgICAgICAgIC8qITwgUEJbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUERfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUERfTXNrICAgICAgICAgLyohPCBQRFs2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX1BvcyAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX01zayAgICAgICAgIC8qITwgUEVbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEdfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEdfTXNrICAgICAgICAgLyohPCBQR1s2XSBwaW4gKi8NCg0KLyohPCBFWFRJNyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX01zayAgICAgICAgIC8qITwgUEJbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Nc2sgICAgICAgICAvKiE8IFBDWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUERfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUERfTXNrICAgICAgICAgLyohPCBQRFs3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX01zayAgICAgICAgIC8qITwgUEVbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Nc2sgICAgICAgICAvKiE8IFBGWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEdfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEdfTXNrICAgICAgICAgLyohPCBQR1s3XSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgOCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUG9zKSAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOSAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDkgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9Qb3MpIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BvcykgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTEgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX01zayAgICAgICAgICAgLyohPCBFWFRJIDExIGNvbmZpZ3VyYXRpb24gKi8NCg0KLyohPCBFWFRJOCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX01zayAgICAgICAgIC8qITwgUEJbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUERfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUERfTXNrICAgICAgICAgLyohPCBQRFs4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX1BvcyAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX01zayAgICAgICAgIC8qITwgUEVbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEdfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEdfTXNrICAgICAgICAgLyohPCBQR1s4XSBwaW4gKi8NCg0KLyohPCBFWFRJOSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX01zayAgICAgICAgIC8qITwgUEJbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUERfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUERfTXNrICAgICAgICAgLyohPCBQRFs5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX01zayAgICAgICAgIC8qITwgUEVbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEdfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEdfTXNrICAgICAgICAgLyohPCBQR1s5XSBwaW4gKi8NCg0KLyohPCBFWFRJMTAgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BCX01zayAgICAgICAgLyohPCBQQlsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUENfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BDX01zayAgICAgICAgLyohPCBQQ1sxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUERfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BEX01zayAgICAgICAgLyohPCBQRFsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BFX01zayAgICAgICAgLyohPCBQRVsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BGX01zayAgICAgICAgLyohPCBQRlsxMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX1BHX01zayAgICAgICAgLyohPCBQR1sxMF0gcGluICovDQoNCi8qITwgRVhUSTExIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfTXNrICAgICAgICAvKiE8IFBCWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUENfTXNrICAgICAgICAvKiE8IFBDWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUERfTXNrICAgICAgICAvKiE8IFBEWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfTXNrICAgICAgICAvKiE8IFBFWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfTXNrICAgICAgICAvKiE8IFBGWzExXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfTXNrICAgICAgICAvKiE8IFBHWzExXSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUG9zKSAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMiAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BvcyAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19Qb3MpIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BvcykgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTQgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X01zayAgICAgICAgICAgLyohPCBFWFRJIDE0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUG9zKSAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNSAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTUgY29uZmlndXJhdGlvbiAqLw0KDQovKiBFWFRJMTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BCX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BDX1BvcyAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Nc2sgICAgICAgIC8qITwgUENbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BEX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Nc2sgICAgICAgIC8qITwgUERbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BFX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BGX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BHX1BvcyAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Nc2sgICAgICAgIC8qITwgUEdbMTJdIHBpbiAqLw0KDQovKiBFWFRJMTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BCX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Nc2sgICAgICAgIC8qITwgUEJbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BDX1BvcyAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Nc2sgICAgICAgIC8qITwgUENbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BEX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Nc2sgICAgICAgIC8qITwgUERbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BFX1BvcyAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Nc2sgICAgICAgIC8qITwgUEVbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BGX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Nc2sgICAgICAgIC8qITwgUEZbMTNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BHX1BvcyAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEzX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Nc2sgICAgICAgIC8qITwgUEdbMTNdIHBpbiAqLw0KDQovKiE8IEVYVEkxNCBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfTXNrICAgICAgICAvKiE8IFBCWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfTXNrICAgICAgICAvKiE8IFBDWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfTXNrICAgICAgICAvKiE8IFBEWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfTXNrICAgICAgICAvKiE8IFBFWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfTXNrICAgICAgICAvKiE8IFBGWzE0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfTXNrICAgICAgICAvKiE8IFBHWzE0XSBwaW4gKi8NCg0KLyohPCBFWFRJMTUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BCX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BDX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Nc2sgICAgICAgIC8qITwgUENbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BEX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Nc2sgICAgICAgIC8qITwgUERbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BFX1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BGX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BHX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Nc2sgICAgICAgIC8qITwgUEdbMTVdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19NQVBSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE1X1JFTUFQX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE1X1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9USU0xNV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX01BUFIyX1RJTTE1X1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSMl9USU0xNV9SRU1BUF9Nc2sgICAgICAgIC8qITwgVElNMTUgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTZfUkVNQVBfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTZfUkVNQVBfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFIyX1RJTTE2X1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNMTZfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFIyX1RJTTE2X1JFTUFQX01zayAgICAgICAgLyohPCBUSU0xNiByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xN19SRU1BUF9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xN19SRU1BUF9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUjJfVElNMTdfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xN19SRU1BUCAgICAgICAgICAgICAgIEFGSU9fTUFQUjJfVElNMTdfUkVNQVBfTXNrICAgICAgICAvKiE8IFRJTTE3IHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFIyX0NFQ19SRU1BUF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX0NFQ19SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9DRUNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9DRUNfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUjJfQ0VDX1JFTUFQX01zayAgICAgICAgICAvKiE8IENFQyByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xX0RNQV9SRU1BUF9Qb3MgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xX0RNQV9SRU1BUF9Nc2sgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUjJfVElNMV9ETUFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU0xX0RNQV9SRU1BUCAgICAgICAgICAgIEFGSU9fTUFQUjJfVElNMV9ETUFfUkVNQVBfTXNrICAgICAvKiE8IFRJTTFfRE1BIHJlbWFwcGluZyAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNNjdfREFDX0RNQV9SRU1BUF9Qb3MgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUjJfVElNNjdfREFDX0RNQV9SRU1BUF9Nc2sgICAoMHgxVSA8PCBBRklPX01BUFIyX1RJTTY3X0RBQ19ETUFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9USU02N19EQUNfRE1BX1JFTUFQICAgICAgIEFGSU9fTUFQUjJfVElNNjdfREFDX0RNQV9SRU1BUF9Nc2sgLyohPCBUSU02L1RJTTcgYW5kIERBQyBETUEgcmVtYXBwaW5nICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9JTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfSU1SX01SMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfSU1SX01SMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfSU1SX01SM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfSU1SX01SNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfSU1SX01SNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjhfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SOV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfSU1SX01SOSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTcgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0lNUl9JTTAgRVhUSV9JTVJfTVIwDQojZGVmaW5lICBFWFRJX0lNUl9JTTEgRVhUSV9JTVJfTVIxDQojZGVmaW5lICBFWFRJX0lNUl9JTTIgRVhUSV9JTVJfTVIyDQojZGVmaW5lICBFWFRJX0lNUl9JTTMgRVhUSV9JTVJfTVIzDQojZGVmaW5lICBFWFRJX0lNUl9JTTQgRVhUSV9JTVJfTVI0DQojZGVmaW5lICBFWFRJX0lNUl9JTTUgRVhUSV9JTVJfTVI1DQojZGVmaW5lICBFWFRJX0lNUl9JTTYgRVhUSV9JTVJfTVI2DQojZGVmaW5lICBFWFRJX0lNUl9JTTcgRVhUSV9JTVJfTVI3DQojZGVmaW5lICBFWFRJX0lNUl9JTTggRVhUSV9JTVJfTVI4DQojZGVmaW5lICBFWFRJX0lNUl9JTTkgRVhUSV9JTVJfTVI5DQojZGVmaW5lICBFWFRJX0lNUl9JTTEwIEVYVElfSU1SX01SMTANCiNkZWZpbmUgIEVYVElfSU1SX0lNMTEgRVhUSV9JTVJfTVIxMQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMiBFWFRJX0lNUl9NUjEyDQojZGVmaW5lICBFWFRJX0lNUl9JTTEzIEVYVElfSU1SX01SMTMNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTQgRVhUSV9JTVJfTVIxNA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNSBFWFRJX0lNUl9NUjE1DQojZGVmaW5lICBFWFRJX0lNUl9JTTE2IEVYVElfSU1SX01SMTYNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTcgRVhUSV9JTVJfTVIxNw0KI2RlZmluZSAgRVhUSV9JTVJfSU0gICAweDAwMDNGRkZGVSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBBbGwgKi8NCiANCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9FTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfRU1SX01SMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfRU1SX01SMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfRU1SX01SM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfRU1SX01SMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI1ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfRU1SX01SNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfRU1SX01SNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI4X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI4ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfRU1SX01SOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SOV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfRU1SX01SOSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfRU1SX01SMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTRfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE2X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTdfUG9zICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTdfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTcgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0VNUl9FTTAgRVhUSV9FTVJfTVIwDQojZGVmaW5lICBFWFRJX0VNUl9FTTEgRVhUSV9FTVJfTVIxDQojZGVmaW5lICBFWFRJX0VNUl9FTTIgRVhUSV9FTVJfTVIyDQojZGVmaW5lICBFWFRJX0VNUl9FTTMgRVhUSV9FTVJfTVIzDQojZGVmaW5lICBFWFRJX0VNUl9FTTQgRVhUSV9FTVJfTVI0DQojZGVmaW5lICBFWFRJX0VNUl9FTTUgRVhUSV9FTVJfTVI1DQojZGVmaW5lICBFWFRJX0VNUl9FTTYgRVhUSV9FTVJfTVI2DQojZGVmaW5lICBFWFRJX0VNUl9FTTcgRVhUSV9FTVJfTVI3DQojZGVmaW5lICBFWFRJX0VNUl9FTTggRVhUSV9FTVJfTVI4DQojZGVmaW5lICBFWFRJX0VNUl9FTTkgRVhUSV9FTVJfTVI5DQojZGVmaW5lICBFWFRJX0VNUl9FTTEwIEVYVElfRU1SX01SMTANCiNkZWZpbmUgIEVYVElfRU1SX0VNMTEgRVhUSV9FTVJfTVIxMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMiBFWFRJX0VNUl9NUjEyDQojZGVmaW5lICBFWFRJX0VNUl9FTTEzIEVYVElfRU1SX01SMTMNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTQgRVhUSV9FTVJfTVIxNA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNSBFWFRJX0VNUl9NUjE1DQojZGVmaW5lICBFWFRJX0VNUl9FTTE2IEVYVElfRU1SX01SMTYNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTcgRVhUSV9FTVJfTVIxNw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9SVFNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIzX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAzICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA2ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI5ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA5ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjExX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjExICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEyX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0X1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3X1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE3X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE3ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMCBFWFRJX1JUU1JfVFIwDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxIEVYVElfUlRTUl9UUjENCiNkZWZpbmUgIEVYVElfUlRTUl9SVDIgRVhUSV9SVFNSX1RSMg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMyBFWFRJX1JUU1JfVFIzDQojZGVmaW5lICBFWFRJX1JUU1JfUlQ0IEVYVElfUlRTUl9UUjQNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDUgRVhUSV9SVFNSX1RSNQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNiBFWFRJX1JUU1JfVFI2DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ3IEVYVElfUlRTUl9UUjcNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDggRVhUSV9SVFNSX1RSOA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUOSBFWFRJX1JUU1JfVFI5DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMCBFWFRJX1JUU1JfVFIxMA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTEgRVhUSV9SVFNSX1RSMTENCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEyIEVYVElfUlRTUl9UUjEyDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMyBFWFRJX1JUU1JfVFIxMw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTQgRVhUSV9SVFNSX1RSMTQNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE1IEVYVElfUlRTUl9UUjE1DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNiBFWFRJX1JUU1JfVFIxNg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTcgRVhUSV9SVFNSX1RSMTcNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRlRTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSN19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSOSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTBfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjExX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjExICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMiAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTNfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0X1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE0ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNSAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTZfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTZfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3X1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE3X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE3ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNyAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfRlRTUl9GVDAgRVhUSV9GVFNSX1RSMA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMSBFWFRJX0ZUU1JfVFIxDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQyIEVYVElfRlRTUl9UUjINCiNkZWZpbmUgIEVYVElfRlRTUl9GVDMgRVhUSV9GVFNSX1RSMw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNCBFWFRJX0ZUU1JfVFI0DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ1IEVYVElfRlRTUl9UUjUNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDYgRVhUSV9GVFNSX1RSNg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNyBFWFRJX0ZUU1JfVFI3DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ4IEVYVElfRlRTUl9UUjgNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDkgRVhUSV9GVFNSX1RSOQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTAgRVhUSV9GVFNSX1RSMTANCiNkZWZpbmUgIEVYVElfRlRTUl9GVDExIEVYVElfRlRTUl9UUjExDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMiBFWFRJX0ZUU1JfVFIxMg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTMgRVhUSV9GVFNSX1RSMTMNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE0IEVYVElfRlRTUl9UUjE0DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNSBFWFRJX0ZUU1JfVFIxNQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTYgRVhUSV9GVFNSX1RSMTYNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE3IEVYVElfRlRTUl9UUjE3DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1NXSUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIwX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIwX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIyX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIyX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIzX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIzX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAzICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI0X1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI0X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1X1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI1X1BvcykgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI1X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI2X1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI2X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA2ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3X1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI3X1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI3X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4X1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI4X1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI4X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI5X1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI5X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA5ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMF9Qb3MgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMF9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTFfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTFfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTFfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTEgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTFfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyX1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEyX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEyX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxM19Qb3MgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxM19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxM19Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMyAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxM19Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTRfUG9zICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTRfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTRfUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTQgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTRfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1X1BvcyAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE1X1BvcykgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE1X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNl9Qb3MgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNl9Qb3MpICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNiAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNl9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTdfUG9zICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTdfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTdfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTcgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTdfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTcgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTAgRVhUSV9TV0lFUl9TV0lFUjANCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMSBFWFRJX1NXSUVSX1NXSUVSMQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kyIEVYVElfU1dJRVJfU1dJRVIyDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTMgRVhUSV9TV0lFUl9TV0lFUjMNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNCBFWFRJX1NXSUVSX1NXSUVSNA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k1IEVYVElfU1dJRVJfU1dJRVI1DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTYgRVhUSV9TV0lFUl9TV0lFUjYNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNyBFWFRJX1NXSUVSX1NXSUVSNw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k4IEVYVElfU1dJRVJfU1dJRVI4DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTkgRVhUSV9TV0lFUl9TV0lFUjkNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTAgRVhUSV9TV0lFUl9TV0lFUjEwDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTExIEVYVElfU1dJRVJfU1dJRVIxMQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMiBFWFRJX1NXSUVSX1NXSUVSMTINCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTMgRVhUSV9TV0lFUl9TV0lFUjEzDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE0IEVYVElfU1dJRVJfU1dJRVIxNA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNSBFWFRJX1NXSUVSX1NXSUVSMTUNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTYgRVhUSV9TV0lFUl9TV0lFUjE2DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE3IEVYVElfU1dJRVJfU1dJRVIxNw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX1BSX1BSMF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMiAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSM19Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSM19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSM19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMyAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSM19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNiAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSN19Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSN19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSN19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNyAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSN19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSOF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSOF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSOV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSOV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSOV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTBfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjExX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjExX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDExICovDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTMgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTZfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTYgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3X1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE3ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9QUl9QSUYwIEVYVElfUFJfUFIwDQojZGVmaW5lICBFWFRJX1BSX1BJRjEgRVhUSV9QUl9QUjENCiNkZWZpbmUgIEVYVElfUFJfUElGMiBFWFRJX1BSX1BSMg0KI2RlZmluZSAgRVhUSV9QUl9QSUYzIEVYVElfUFJfUFIzDQojZGVmaW5lICBFWFRJX1BSX1BJRjQgRVhUSV9QUl9QUjQNCiNkZWZpbmUgIEVYVElfUFJfUElGNSBFWFRJX1BSX1BSNQ0KI2RlZmluZSAgRVhUSV9QUl9QSUY2IEVYVElfUFJfUFI2DQojZGVmaW5lICBFWFRJX1BSX1BJRjcgRVhUSV9QUl9QUjcNCiNkZWZpbmUgIEVYVElfUFJfUElGOCBFWFRJX1BSX1BSOA0KI2RlZmluZSAgRVhUSV9QUl9QSUY5IEVYVElfUFJfUFI5DQojZGVmaW5lICBFWFRJX1BSX1BJRjEwIEVYVElfUFJfUFIxMA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMSBFWFRJX1BSX1BSMTENCiNkZWZpbmUgIEVYVElfUFJfUElGMTIgRVhUSV9QUl9QUjEyDQojZGVmaW5lICBFWFRJX1BSX1BJRjEzIEVYVElfUFJfUFIxMw0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNCBFWFRJX1BSX1BSMTQNCiNkZWZpbmUgIEVYVElfUFJfUElGMTUgRVhUSV9QUl9QUjE1DQojZGVmaW5lICBFWFRJX1BSX1BJRjE2IEVYVElfUFJfUFIxNg0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNyBFWFRJX1BSX1BSMTcNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0lTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9JU1JfR0lGMSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JU1JfVENJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjNfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjMgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNCAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjZfUG9zKSAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjYgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNl9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGN19Qb3MgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGN19Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjdfUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY3X1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY3X1BvcykgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSUZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjEgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjIgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Qb3MgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjMgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjQgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Qb3MgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNF9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjUgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Qb3MgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNV9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY1X1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Qb3MgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNV9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjZfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjYgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNl9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY2X1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Qb3MgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGNl9Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjdfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjcgICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0dJRjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Qb3MgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGN19Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NUQ0lGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUY3X1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ0hUSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBIYWxmIFRyYW5zZmVyIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Qb3MgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGN19Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NURUlGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgRXJyb3IgY2xlYXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ0NSIHJlZ2lzdGVyICAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NDUl9FTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9FTl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0NDUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9FTl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfVENJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfVENJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9DQ1JfVENJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc2ZlciBjb21wbGV0ZSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfSFRJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfSFRJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBIYWxmIFRyYW5zZmVyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9URUlFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9URUlFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9URUlFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0NDUl9URUlFICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9URUlFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGVycm9yIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVJfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9ESVJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVIgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9ESVJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfQ0lSQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfQ0lSQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaXJjdWxhciBtb2RlICovDQojZGVmaW5lIERNQV9DQ1JfUElOQ19Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUElOQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUElOQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9DQ1JfUElOQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUElOQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIGluY3JlbWVudCBtb2RlICovDQojZGVmaW5lIERNQV9DQ1JfTUlOQ19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTUlOQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTUlOQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9DQ1JfTUlOQyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTUlOQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgaW5jcmVtZW50IG1vZGUgKi8NCg0KI2RlZmluZSBETUFfQ0NSX1BTSVpFX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BTSVpFX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BTSVpFX01zayAgICAgICAgICAgICAgICAgIC8qITwgUFNJWkVbMTowXSBiaXRzIChQZXJpcGhlcmFsIHNpemUpICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9NU0laRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE1TSVpFWzE6MF0gYml0cyAoTWVtb3J5IHNpemUpICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QTF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTCAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QTF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMWzE6MF0gYml0cyhDaGFubmVsIFByaW9yaXR5IGxldmVsKSAqLw0KI2RlZmluZSBETUFfQ0NSX1BMXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BMXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTV9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfTUVNMk1FTV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIERNQV9DQ1JfTUVNMk1FTSAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTUVNMk1FTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgdG8gbWVtb3J5IG1vZGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTkRUUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgRE1BX0NORFRSX05EVF9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgRE1BX0NORFRSX05EVCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBkYXRhIHRvIFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ1BBUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DUEFSX1BBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUl9QQV9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DUEFSX1BBICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTUFSICByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NNQVJfTUFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DTUFSX01BX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUEgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NNQVJfTUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyIChBREMpICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKg0KICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBmYW1pbHkpDQogKi8NCi8qIE5vdGU6IE5vIHNwZWNpZmljIG1hY3JvIGZlYXR1cmUgb24gdGhpcyBkZXZpY2UgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NSX0FXRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0FXRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0FXRF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NSX0FXRCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0FXRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9FT1NfUG9zICAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9FT1NfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9FT1NfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUl9FT1MgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9FT1NfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfSkVPU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfSkVPU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfSkVPU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1JfSkVPUyAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfSkVPU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9KU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9KU1RSVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUl9KU1RSVCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9KU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgY29udmVyc2lvbiBzdGFydCBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9TVFJUX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9TVFJUX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TUl9TVFJUICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIHN0YXJ0IGZsYWcgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIEFEQ19TUl9FT0MgICAgICAgICAgICAgICAgICAgICAgICAgIChBRENfU1JfRU9TKQ0KI2RlZmluZSAgQURDX1NSX0pFT0MgICAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19TUl9KRU9TKQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRENIX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRENIX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIG1vbml0b3JlZCBjaGFubmVsIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRENIXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0NSMV9BV0RDSF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19DUjFfRU9TSUVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRU9TSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19DUjFfRU9TSUUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdESUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfQVdESUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19DUjFfQVdESUUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdESUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkVPU0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19DUjFfSkVPU0lFICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkVPU0lFX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU5fUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX1NDQU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX1NDQU5fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfQ1IxX1NDQU4gICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX1NDQU5fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIHNjYW4gbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXRFNHTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRFNHTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRFNHTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIG1vbml0b3JpbmcgYSBzaW5nbGUgY2hhbm5lbCBvciBhbGwgY2hhbm5lbHMgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KQVVUT19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KQVVUT19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVVUTyAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KQVVUT19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBhdXRvbWF0aWMgdHJpZ2dlciBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRElTQ0VOX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ0VOICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRElTQ0VOX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkRJU0NFTl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkRJU0NFTiAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkRJU0NFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbW9kZSAqLw0KDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Qb3MgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDBFMDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTSAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfRElTQ05VTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgZGlzY29udGludW91cyBudW1iZXIgb2YgcmFua3MgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTl9Qb3MgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pBV0RFTl9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0pBV0RFTiAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pBV0RFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGVuYWJsZSBvbiBzY29wZSBBREMgZ3JvdXAgaW5qZWN0ZWQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RFTl9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RFTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBlbmFibGUgb24gc2NvcGUgQURDIGdyb3VwIHJlZ3VsYXIgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIEFEQ19DUjFfRU9DSUUgICAgICAgICAgICAgICAgICAgICAgIChBRENfQ1IxX0VPU0lFKQ0KI2RlZmluZSAgQURDX0NSMV9KRU9DSUUgICAgICAgICAgICAgICAgICAgICAgKEFEQ19DUjFfSkVPU0lFKQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfQ1IyX0FET05fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0FET05fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0FET05fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfQ1IyX0FET04gICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FET05fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0NPTlRfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0NPTlRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0NPTlRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfQ1IyX0NPTlQgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0NPTlRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udGludW91cyBjb252ZXJzaW9uIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMl9DQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9DQUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NSMl9DQUwgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjYWxpYnJhdGlvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1JTVENBTF9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1JTVENBTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1JTVENBTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfQ1IyX1JTVENBTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1JTVENBTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNhbGlicmF0aW9uIHJlc2V0ICovDQojZGVmaW5lIEFEQ19DUjJfRE1BX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRE1BX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0FMSUdOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25lbWVudCAqLw0KDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTCAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZXh0ZXJuYWwgdHJpZ2dlciBzb3VyY2UgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pFWFRUUklHX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRUUklHICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0pFWFRUUklHX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGV4dGVybmFsIHRyaWdnZXIgZW5hYmxlICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwRTAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUwgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgc291cmNlICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHX1BvcyAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9FWFRUUklHX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRUUklHICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9FWFRUUklHX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGV4dGVybmFsIHRyaWdnZXIgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlRfUG9zICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSlNXU1RBUlRfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSlNXU1RBUlQgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSlNXU1RBUlRfTXNrICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgY29udmVyc2lvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfUG9zICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1NXU1RBUlRfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX1NXU1RBUlQgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1NXU1RBUlRfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkVfUG9zICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX1RTVlJFRkVfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX1RTVlJFRkUgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX1RTVlJFRkVfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGludGVybmFsIHBhdGggdG8gVnJlZkludCBhbmQgdGVtcGVyYXR1cmUgc2Vuc29yIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTAgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDExX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDExIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMUMwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMiAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMEUwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTMgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTMgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM18yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0X1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE0X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE0IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV9Qb3MgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDM4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNSAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTYgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTZfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTYgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3X1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDBFMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE3X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE3IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMV9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QMl9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QMl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMiAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QM19Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QM19Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMEUwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMyAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAzODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QNl9Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QNl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDFDMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNiAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QN19Qb3MgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QN19Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMEUwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNyAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgNyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QOF9Qb3MgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QOF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOCAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgOCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjJfU01QOV9Qb3MgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjJfU01QOV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgzODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOSAgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjJfU01QOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgOSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxX01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjFfSk9GRlNFVDFfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlIxX0pPRkZTRVQxICAgICAgICAgICAgICAgICAgQURDX0pPRlIxX0pPRkZTRVQxX01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxIG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDJfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDJfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSMl9KT0ZGU0VUMl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjJfSk9GRlNFVDIgICAgICAgICAgICAgICAgICBBRENfSk9GUjJfSk9GRlNFVDJfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUM19Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlIzX0pPRkZTRVQzX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSM19KT0ZGU0VUMyAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSM19KT0ZGU0VUM19Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0X1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0X01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjRfSk9GRlNFVDRfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlI0X0pPRkZTRVQ0ICAgICAgICAgICAgICAgICAgQURDX0pPRlI0X0pPRkZTRVQ0X01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0IG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19IVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSFRSX0hUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSFRSX0hUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19IVFJfSFRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSFRSX0hUICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfSFRSX0hUX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIHRocmVzaG9sZCBoaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0xUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19MVFJfTFRfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19MVFJfTFRfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0xUUl9MVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19MVFJfTFQgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19MVFJfTFRfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgdGhyZXNob2xkIGxvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTMgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM18zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM180ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE0X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTQgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTUgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9TUTE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9TUTE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2ICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9TUTE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTYgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMV9MX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMV9MX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMEYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMV9MX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHNjYW4gbGVuZ3RoICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0xfMyAgICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIyX1NRN19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIyX1NRNyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA3ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIyX1NRN180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1E4X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1E4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1E4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDggKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E4XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NROF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTlfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTkgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgOSAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTlfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1E5X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAxRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTFfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTExX1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1ExMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4M0UwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMiAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1ExMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEyICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1EyX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1EyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1EyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDIgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EyXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTMgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMyAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTNfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1EzX1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA0ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNF80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTRfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1E1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1E1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDFGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1E1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDUgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E1XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRNV9Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTZfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgzRTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTYgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTZfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1E2X1BvcykgICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KU1FSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1ExX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1ExX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1EyX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1EyX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1EyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1EzX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1EzX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1EzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM18zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRM180ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KU1E0X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KU1E0X01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0ICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KU1E0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfSlNRUl9KTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSlNRUl9KTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfSlNRUl9KTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciBzY2FuIGxlbmd0aCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KTF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfSlNRUl9KTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSMV9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSMV9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSMV9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSMV9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSMV9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIyX0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIyX0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIyX0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMiBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjNfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjNfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjNfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjNfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjNfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSNF9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSNF9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSNF9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSNF9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSNF9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19EUl9EQVRBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19EUl9EQVRBX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19EUl9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19EUl9EQVRBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIGRhdGEgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgRGlnaXRhbCB0byBBbmFsb2cgQ29udmVydGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfQ1JfRU4xX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRU4xX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRU4xX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBEQUNfQ1JfRU4xICAgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRU4xX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIGVuYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfQk9GRjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfQk9GRjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQUNfQ1JfQk9GRjEgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfQk9GRjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIG91dHB1dCBidWZmZXIgZGlzYWJsZSAqLw0KI2RlZmluZSBEQUNfQ1JfVEVOMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfVEVOMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfVEVOMV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBEQUNfQ1JfVEVOMSAgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfVEVOMV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIFRyaWdnZXIgZW5hYmxlICovDQoNCiNkZWZpbmUgREFDX0NSX1RTRUwxX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RTRUwxX01zayAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RTRUwxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRTRUwxWzI6MF0gKERBQyBjaGFubmVsMSBUcmlnZ2VyIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgREFDX0NSX1RTRUwxXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX1RTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBEQUNfQ1JfV0FWRTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTEgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfV0FWRTFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgV0FWRTFbMTowXSAoREFDIGNoYW5uZWwxIG5vaXNlL3RyaWFuZ2xlIHdhdmUgZ2VuZXJhdGlvbiBlbmFibGUpICovDQojZGVmaW5lIERBQ19DUl9XQVZFMV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9XQVZFMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERBQ19DUl9XQVZFMV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9XQVZFMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgREFDX0NSX01BTVAxX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX01BTVAxX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX01BTVAxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1BTVAxWzM6MF0gKERBQyBjaGFubmVsMSBNYXNrL0FtcGxpdHVkZSBzZWxlY3RvcikgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgREFDX0NSX01BTVAxXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgREFDX0NSX01BTVAxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfRE1BRU4xX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfRE1BRU4xICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfRE1BRU4xX01zayAgICAgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIERNQSBlbmFibGUgKi8NCiNkZWZpbmUgREFDX0NSX0VOMl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0VOMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0VOMl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0VOMiAgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0VOMl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBlbmFibGUgKi8NCiNkZWZpbmUgREFDX0NSX0JPRkYyX1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0JPRkYyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0JPRkYyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0JPRkYyICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0JPRkYyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBvdXRwdXQgYnVmZmVyIGRpc2FibGUgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjJfUG9zICAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RFTjJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RFTjJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjIgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RFTjJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBUcmlnZ2VyIGVuYWJsZSAqLw0KDQojZGVmaW5lIERBQ19DUl9UU0VMMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9UU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMzgwMDAwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMiAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9UU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUU0VMMlsyOjBdIChEQUMgY2hhbm5lbDIgVHJpZ2dlciBzZWxlY3Rpb24pICovDQojZGVmaW5lIERBQ19DUl9UU0VMMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IERBQ19DUl9UU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgREFDX0NSX1dBVkUyX1BvcyAgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1dBVkUyX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgREFDX0NSX1dBVkUyX1BvcykgICAgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUyICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1dBVkUyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFdBVkUyWzE6MF0gKERBQyBjaGFubmVsMiBub2lzZS90cmlhbmdsZSB3YXZlIGdlbmVyYXRpb24gZW5hYmxlKSAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfV0FWRTJfUG9zKSAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfV0FWRTJfUG9zKSAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIERBQ19DUl9NQU1QMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9NQU1QMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMiAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9NQU1QMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNQU1QMlszOjBdIChEQUMgY2hhbm5lbDIgTWFzay9BbXBsaXR1ZGUgc2VsZWN0b3IpICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMl8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IERBQ19DUl9NQU1QMl9Qb3MpICAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgREFDX0NSX0RNQUVOMl9Qb3MgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0RNQUVOMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0RNQUVOMl9Qb3MpICAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0RNQUVOMiAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0RNQUVOMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBETUEgZW5hYmxlZCAqLw0KDQojZGVmaW5lIERBQ19DUl9ETUFVRFJJRTFfUG9zICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9ETUFVRFJJRTFfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9ETUFVRFJJRTFfUG9zKSAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERBQ19DUl9ETUFVRFJJRTEgICAgICAgICAgICAgICAgICAgIERBQ19DUl9ETUFVRFJJRTFfTXNrICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgRE1BIHVuZGVycnVuIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgREFDX0NSX0RNQVVEUklFMl9Qb3MgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0RNQVVEUklFMl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0RNQVVEUklFMl9Qb3MpICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0RNQVVEUklFMiAgICAgICAgICAgICAgICAgICAgREFDX0NSX0RNQVVEUklFMl9Nc2sgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBETUEgdW5kZXJydW4gaW50ZXJydXB0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfU1dUUklHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcxX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcxX01zayAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfU1dUUklHUl9TV1RSSUcxX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcxICAgICAgICAgICAgICAgICBEQUNfU1dUUklHUl9TV1RSSUcxX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIHNvZnR3YXJlIHRyaWdnZXIgKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMl9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREFDX1NXVFJJR1JfU1dUUklHMl9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMiAgICAgICAgICAgICAgICAgREFDX1NXVFJJR1JfU1dUUklHMl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBzb2Z0d2FyZSB0cmlnZ2VyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMlIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMlIxX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMlIxX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyUjFfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyUjFfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMkwxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMkwxX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMkwxX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyTDFfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMEZGRjAgKi8NCiNkZWZpbmUgREFDX0RIUjEyTDFfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyTDFfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFI4UjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UjFfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyUjJfREFDQzJESFJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyUjJfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJSMl9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJSMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyTDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyTDJfREFDQzJESFJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyTDJfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJMMl9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwRkZGMCAqLw0KI2RlZmluZSBEQUNfREhSMTJMMl9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJMMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSMl9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFIyX0RBQ0MyREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJSRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMURIUl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMlJEX0RBQ0MxREhSX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMlJEX0RBQ0MxREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMlJEX0RBQ0MyREhSX1BvcykgLyohPCAweDBGRkYwMDAwICovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MyREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMlJEX0RBQ0MyREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMURIUl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMkxEX0RBQ0MxREhSX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MxREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMkxEX0RBQ0MxREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgMTItYml0IExlZnQgYWxpZ25lZCBkYXRhICovDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MyREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyTERfREFDQzJESFJfUG9zKSAvKiE8IDB4RkZGMDAwMDAgKi8NCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyTERfREFDQzJESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFI4UkQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMURIUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UkRfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMURIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UkRfREFDQzJESFJfUG9zKSAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfRE9SMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RPUjFfREFDQzFET1JfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RPUjFfREFDQzFET1JfTXNrICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfRE9SMV9EQUNDMURPUl9Qb3MpICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RPUjFfREFDQzFET1IgICAgICAgICAgICAgICAgICAgREFDX0RPUjFfREFDQzFET1JfTXNrICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBkYXRhIG91dHB1dCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ET1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfRE9SMl9EQUNDMkRPUl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfRE9SMl9EQUNDMkRPUl9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ET1IyX0RBQ0MyRE9SX1BvcykgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfRE9SMl9EQUNDMkRPUiAgICAgICAgICAgICAgICAgICBEQUNfRE9SMl9EQUNDMkRPUl9Nc2sgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIGRhdGEgb3V0cHV0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19TUl9ETUFVRFIxX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19TUl9ETUFVRFIxX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19TUl9ETUFVRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERBQ19TUl9ETUFVRFIxICAgICAgICAgICAgICAgICAgICAgIERBQ19TUl9ETUFVRFIxX01zayAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgRE1BIHVuZGVycnVuIGZsYWcgKi8NCiNkZWZpbmUgREFDX1NSX0RNQVVEUjJfUG9zICAgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX1NSX0RNQVVEUjJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX1NSX0RNQVVEUjJfUG9zKSAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgREFDX1NSX0RNQVVEUjIgICAgICAgICAgICAgICAgICAgICAgREFDX1NSX0RNQVVEUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBETUEgdW5kZXJydW4gZmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENFQ19DRkdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENFQ19DRkdSX1BFX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DRkdSX1BFX01zayAgICAgICAgICAoMHgxVSA8PCBDRUNfQ0ZHUl9QRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIENFQ19DRkdSX1BFICAgICAgICAgICAgICBDRUNfQ0ZHUl9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgUGVyaXBoZXJhbCBFbmFibGUgKi8NCiNkZWZpbmUgQ0VDX0NGR1JfSUVfUG9zICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NGR1JfSUVfTXNrICAgICAgICAgICgweDFVIDw8IENFQ19DRkdSX0lFX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQ0VDX0NGR1JfSUUgICAgICAgICAgICAgIENFQ19DRkdSX0lFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIENFQ19DRkdSX0JURU1fUG9zICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DRkdSX0JURU1fTXNrICAgICAgICAoMHgxVSA8PCBDRUNfQ0ZHUl9CVEVNX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIENFQ19DRkdSX0JURU0gICAgICAgICAgICBDRUNfQ0ZHUl9CVEVNX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgQml0IFRpbWluZyBFcnJvciBNb2RlICovDQojZGVmaW5lIENFQ19DRkdSX0JQRU1fUG9zICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DRkdSX0JQRU1fTXNrICAgICAgICAoMHgxVSA8PCBDRUNfQ0ZHUl9CUEVNX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIENFQ19DRkdSX0JQRU0gICAgICAgICAgICBDRUNfQ0ZHUl9CUEVNX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgQml0IFBlcmlvZCBFcnJvciBNb2RlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENFQ19PQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ0VDX09BUl9PQV9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX09BUl9PQV9Nc2sgICAgICAgICAgICgweEZVIDw8IENFQ19PQVJfT0FfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQ0VDX09BUl9PQSAgICAgICAgICAgICAgIENFQ19PQVJfT0FfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBPQVszOjBdOiBPd24gQWRkcmVzcyAqLw0KI2RlZmluZSBDRUNfT0FSX09BXzAgICAgICAgICAgICAgKDB4MVUgPDwgQ0VDX09BUl9PQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBDRUNfT0FSX09BXzEgICAgICAgICAgICAgKDB4MlUgPDwgQ0VDX09BUl9PQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBDRUNfT0FSX09BXzIgICAgICAgICAgICAgKDB4NFUgPDwgQ0VDX09BUl9PQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBDRUNfT0FSX09BXzMgICAgICAgICAgICAgKDB4OFUgPDwgQ0VDX09BUl9PQV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDRUNfUFJFUyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDRUNfUFJFU19QUkVTX1BvcyAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfUFJFU19QUkVTX01zayAgICAgICAgKDB4M0ZGRlUgPDwgQ0VDX1BSRVNfUFJFU19Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwM0ZGRiAqLw0KI2RlZmluZSBDRUNfUFJFU19QUkVTICAgICAgICAgICAgQ0VDX1BSRVNfUFJFU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIFByZXNjYWxlciBDb3VudGVyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENFQ19FU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ0VDX0VTUl9CVEVfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0VTUl9CVEVfTXNrICAgICAgICAgICgweDFVIDw8IENFQ19FU1JfQlRFX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQ0VDX0VTUl9CVEUgICAgICAgICAgICAgIENFQ19FU1JfQlRFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBCaXQgVGltaW5nIEVycm9yICovDQojZGVmaW5lIENFQ19FU1JfQlBFX1BvcyAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19FU1JfQlBFX01zayAgICAgICAgICAoMHgxVSA8PCBDRUNfRVNSX0JQRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIENFQ19FU1JfQlBFICAgICAgICAgICAgICBDRUNfRVNSX0JQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgQml0IFBlcmlvZCBFcnJvciAqLw0KI2RlZmluZSBDRUNfRVNSX1JCVEZFX1BvcyAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfRVNSX1JCVEZFX01zayAgICAgICAgKDB4MVUgPDwgQ0VDX0VTUl9SQlRGRV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBDRUNfRVNSX1JCVEZFICAgICAgICAgICAgQ0VDX0VTUl9SQlRGRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIFJ4IEJsb2NrIFRyYW5zZmVyIEZpbmlzaGVkIEVycm9yICovDQojZGVmaW5lIENFQ19FU1JfU0JFX1BvcyAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19FU1JfU0JFX01zayAgICAgICAgICAoMHgxVSA8PCBDRUNfRVNSX1NCRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIENFQ19FU1JfU0JFICAgICAgICAgICAgICBDRUNfRVNSX1NCRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgU3RhcnQgQml0IEVycm9yICovDQojZGVmaW5lIENFQ19FU1JfQUNLRV9Qb3MgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19FU1JfQUNLRV9Nc2sgICAgICAgICAoMHgxVSA8PCBDRUNfRVNSX0FDS0VfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIENFQ19FU1JfQUNLRSAgICAgICAgICAgICBDRUNfRVNSX0FDS0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgQmxvY2sgQWNrbm93bGVkZ2UgRXJyb3IgKi8NCiNkZWZpbmUgQ0VDX0VTUl9MSU5FX1BvcyAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0VTUl9MSU5FX01zayAgICAgICAgICgweDFVIDw8IENFQ19FU1JfTElORV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQ0VDX0VTUl9MSU5FICAgICAgICAgICAgIENFQ19FU1JfTElORV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBMaW5lIEVycm9yICovDQojZGVmaW5lIENFQ19FU1JfVEJURkVfUG9zICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19FU1JfVEJURkVfTXNrICAgICAgICAoMHgxVSA8PCBDRUNfRVNSX1RCVEZFX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIENFQ19FU1JfVEJURkUgICAgICAgICAgICBDRUNfRVNSX1RCVEZFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgVHggQmxvY2sgVHJhbnNmZXIgRmluaXNoZWQgRXJyb3IgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0VDX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDRUNfQ1NSX1RTT01fUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfQ1NSX1RTT01fTXNrICAgICAgICAgKDB4MVUgPDwgQ0VDX0NTUl9UU09NX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBDRUNfQ1NSX1RTT00gICAgICAgICAgICAgQ0VDX0NTUl9UU09NX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIFR4IFN0YXJ0IE9mIE1lc3NhZ2UgKi8NCiNkZWZpbmUgQ0VDX0NTUl9URU9NX1BvcyAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NTUl9URU9NX01zayAgICAgICAgICgweDFVIDw8IENFQ19DU1JfVEVPTV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQ0VDX0NTUl9URU9NICAgICAgICAgICAgIENFQ19DU1JfVEVPTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBUeCBFbmQgT2YgTWVzc2FnZSAqLw0KI2RlZmluZSBDRUNfQ1NSX1RFUlJfUG9zICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfQ1NSX1RFUlJfTXNrICAgICAgICAgKDB4MVUgPDwgQ0VDX0NTUl9URVJSX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBDRUNfQ1NSX1RFUlIgICAgICAgICAgICAgQ0VDX0NTUl9URVJSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIFR4IEVycm9yICovDQojZGVmaW5lIENFQ19DU1JfVEJUUkZfUG9zICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DU1JfVEJUUkZfTXNrICAgICAgICAoMHgxVSA8PCBDRUNfQ1NSX1RCVFJGX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIENFQ19DU1JfVEJUUkYgICAgICAgICAgICBDRUNfQ1NSX1RCVFJGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgVHggQnl0ZSBUcmFuc2ZlciBSZXF1ZXN0IG9yIEJsb2NrIFRyYW5zZmVyIEZpbmlzaGVkICovDQojZGVmaW5lIENFQ19DU1JfUlNPTV9Qb3MgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DU1JfUlNPTV9Nc2sgICAgICAgICAoMHgxVSA8PCBDRUNfQ1NSX1JTT01fUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIENFQ19DU1JfUlNPTSAgICAgICAgICAgICBDRUNfQ1NSX1JTT01fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgUnggU3RhcnQgT2YgTWVzc2FnZSAqLw0KI2RlZmluZSBDRUNfQ1NSX1JFT01fUG9zICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDRUNfQ1NSX1JFT01fTXNrICAgICAgICAgKDB4MVUgPDwgQ0VDX0NTUl9SRU9NX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBDRUNfQ1NSX1JFT00gICAgICAgICAgICAgQ0VDX0NTUl9SRU9NX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgIFJ4IEVuZCBPZiBNZXNzYWdlICovDQojZGVmaW5lIENFQ19DU1JfUkVSUl9Qb3MgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19DU1JfUkVSUl9Nc2sgICAgICAgICAoMHgxVSA8PCBDRUNfQ1NSX1JFUlJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIENFQ19DU1JfUkVSUiAgICAgICAgICAgICBDRUNfQ1NSX1JFUlJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgUnggRXJyb3IgKi8NCiNkZWZpbmUgQ0VDX0NTUl9SQlRGX1BvcyAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ0VDX0NTUl9SQlRGX01zayAgICAgICAgICgweDFVIDw8IENFQ19DU1JfUkJURl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQ0VDX0NTUl9SQlRGICAgICAgICAgICAgIENFQ19DU1JfUkJURl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8ICBSeCBCbG9jayBUcmFuc2ZlciBGaW5pc2hlZCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDRUNfVFhEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENFQ19UWERfVFhEX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19UWERfVFhEX01zayAgICAgICAgICAoMHhGRlUgPDwgQ0VDX1RYRF9UWERfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIENFQ19UWERfVFhEICAgICAgICAgICAgICBDRUNfVFhEX1RYRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgVHggRGF0YSByZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDRUNfUlhEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENFQ19SWERfUlhEX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENFQ19SWERfUlhEX01zayAgICAgICAgICAoMHhGRlUgPDwgQ0VDX1JYRF9SWERfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIENFQ19SWERfUlhEICAgICAgICAgICAgICBDRUNfUlhEX1JYRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAgUnggRGF0YSByZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lcnMgKFRJTSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DUjFfQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ0VOX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ0VOX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DUjFfQ0VOICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ0VOX01zayAgICAgICAgICAgICAgICAgICAgLyohPENvdW50ZXIgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DUjFfVURJU19Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfVURJU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVURJU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9DUjFfVURJUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfVURJU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBkaXNhYmxlICovDQojZGVmaW5lIFRJTV9DUjFfVVJTX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfVVJTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVVJTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DUjFfVVJTICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfVVJTX01zayAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSByZXF1ZXN0IHNvdXJjZSAqLw0KI2RlZmluZSBUSU1fQ1IxX09QTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX09QTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX09QTV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ1IxX09QTSAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX09QTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxPbmUgcHVsc2UgbW9kZSAqLw0KI2RlZmluZSBUSU1fQ1IxX0RJUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0RJUl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0RJUiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxEaXJlY3Rpb24gKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0NNU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NNU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0NNU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDTVNbMTowXSBiaXRzIChDZW50ZXItYWxpZ25lZCBtb2RlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVNfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVNfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0FSUEVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0FSUEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0FSUEVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ1IxX0FSUEUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0FSUEVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxBdXRvLXJlbG9hZCBwcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQ0tEX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ0tEX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ0tEX01zayAgICAgICAgICAgICAgICAgICAgLyohPENLRFsxOjBdIGJpdHMgKGNsb2NrIGRpdmlzaW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DUjJfQ0NQQ19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NQQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NQQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DUjJfQ0NQQyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NQQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBQcmVsb2FkZWQgQ29udHJvbCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDVVNfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX0NDVVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX0NDVVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDVVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX0NDVVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgQ29udHJvbCBVcGRhdGUgU2VsZWN0aW9uICovDQojZGVmaW5lIFRJTV9DUjJfQ0NEU19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NEU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NEU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DUjJfQ0NEUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NEU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBETUEgU2VsZWN0aW9uICovDQoNCiNkZWZpbmUgVElNX0NSMl9NTVNfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9NTVNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NSMl9NTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9NTVNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8TU1TWzI6MF0gYml0cyAoTWFzdGVyIE1vZGUgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DUjJfVEkxU19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfVEkxU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfVEkxU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DUjJfVEkxUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfVEkxU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRJMSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMxX01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMSAoT0MxIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxTl9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMxTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxTiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMxTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMSAoT0MxTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDIgKE9DMiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMk5fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMk5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMk5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMk4gICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMk5fTXNrICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDIgKE9DMk4gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAzIChPQzMgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzNOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNOICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzNOX01zayAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAzIChPQzNOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVM0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVM0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVM0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVM0ICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVM0X01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgNCAoT0M0IG91dHB1dCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fU01DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxTTVNbMjowXSBiaXRzIChTbGF2ZSBtb2RlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9UU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9UU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fU01DUl9UUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9UU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxUU1syOjBdIGJpdHMgKFRyaWdnZXIgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX01TTV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX01TTV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX01TTV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9TTUNSX01TTSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX01TTV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE1hc3Rlci9zbGF2ZSBtb2RlICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRVRGX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRGX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRGX01zayAgICAgICAgICAgICAgICAgICAvKiE8RVRGWzM6MF0gYml0cyAoRXh0ZXJuYWwgdHJpZ2dlciBmaWx0ZXIpICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRVRQU19Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRQU19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQUyAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRQU19Nc2sgICAgICAgICAgICAgICAgICAvKiE8RVRQU1sxOjBdIGJpdHMgKEV4dGVybmFsIHRyaWdnZXIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX0VDRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VDRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VDRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VDRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VDRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEV4dGVybmFsIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVFBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVFBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVFBfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFeHRlcm5hbCB0cmlnZ2VyIHBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RJRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RJRVJfVUlFX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVUlFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVUlFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0RJRVJfVUlFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVUlFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUVfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MxSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MxSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJJRV9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzJJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzJJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzJJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDM0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDM0lFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUVfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0M0SUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0M0SUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01JRV9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DT01JRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DT01JRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01JRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DT01JRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDT00gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9USUVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9USUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9USUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fRElFUl9USUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9USUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQklFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQklFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQklFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQklFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQklFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9VREVfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VREVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9VREUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMURFX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzJERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDNERFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01ERV9Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DT01ERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DT01ERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01ERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DT01ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDT00gRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RERV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9ESUVSX1RERSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgRE1BIHJlcXVlc3QgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1NSX1VJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX1VJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX1VJRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX1NSX1VJRiAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX1VJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzFJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzFJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzFJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9TUl9DQzFJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzFJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzJJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzJJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzJJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9TUl9DQzJJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzJJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzNJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzNJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzNJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9TUl9DQzNJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzNJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzRJRl9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzRJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzRJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9TUl9DQzRJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzRJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DT01JRl9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DT01JRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DT01JRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9TUl9DT01JRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DT01JRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENPTSBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfVElGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfVElGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fU1JfVElGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9CSUZfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9CSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9CSUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9TUl9CSUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9CSUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzFPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMk9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MzT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzRPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IE92ZXJjYXB0dXJlIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRUdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRUdSX1VHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX1VHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX1VHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRUdSX1VHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX1VHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMUdfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDMUdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDMUdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMUcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDMUdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MyR19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MyR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MyR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9FR1JfQ0MyRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MyR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzNHX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzNHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzNHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0VHUl9DQzNHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzNHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDNEdfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDNEdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDNEdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDNEcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDNEdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ09NR19Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ09NR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ09NR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9FR1JfQ09NRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ09NR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBDb250cm9sIFVwZGF0ZSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfVEdfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfVEdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfVEdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9FR1JfVEcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfVEdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0JHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0JHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0JHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fRUdSX0JHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0JHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBHZW5lcmF0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NNUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVMgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0NDMVNfTXNrICAgICAgICAgICAgICAgICAvKiE8Q0MxU1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSAxIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkVfUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxRkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxRkVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxIEZhc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFQRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDEgUHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxTV9Nc2sgICAgICAgICAgICAgICAgIC8qITxPQzFNWzI6MF0gYml0cyAoT3V0cHV0IENvbXBhcmUgMSBNb2RlKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRV9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFDRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFDRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDFDbGVhciBFbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfQ0MyU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzJTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDIgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMlBFX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMlBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJNX01zayAgICAgICAgICAgICAgICAgLyohPE9DMk1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAyIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFX1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMkNFX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMkNFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBDbGVhciBFbmFibGUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzFQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDMVBTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMSBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUYgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMUZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUMxRlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMSBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ19Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMlBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMyUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMyRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzJGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ01SMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzNTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDMgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDMgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM1BFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgLyohPE9DM01bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAzIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM0NFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBDbGVhciBFbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0UyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzRTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDQgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDQgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNFBFX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgLyohPE9DNE1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSA0IE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNENFX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNENFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBDbGVhciBFbmFibGUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzNQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDM1BTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMyBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0YgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDM0ZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUMzRlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMyBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ19Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDNFBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUM0UFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSA0IFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0RiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUM0Rl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzRGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSA0IEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVBfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMVBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMVBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORV9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFORV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFORV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlBfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxTlBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxTlBfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyRV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyRSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyTkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkUgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyTkVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMk5QX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM0VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0UgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM05FX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM05FX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUF9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNOUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUCAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNOUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzRFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzRFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFBfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNFBfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNFBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBQb2xhcml0eSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DTlRfQ05UX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQ05UX0NOVF9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9DTlRfQ05UICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgLyohPENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fUFNDIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fUFNDX1BTQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fUFNDX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fUFNDX1BTQ19Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fUFNDX1BTQyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fUFNDX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxQcmVzY2FsZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQVJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQVJSX0FSUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQVJSX0FSUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgVElNX0FSUl9BUlJfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBUSU1fQVJSX0FSUiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQVJSX0FSUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxhY3R1YWwgYXV0by1yZWxvYWQgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fUkNSX1JFUF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fUkNSX1JFUF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVElNX1JDUl9SRVBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBUSU1fUkNSX1JFUCAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fUkNSX1JFUF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxSZXBldGl0aW9uIENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSMV9DQ1IxX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSMV9DQ1IxX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IyX0NDUjJfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjIgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjNfQ0NSM19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjNfQ0NSM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjNfQ0NSM19Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjNfQ0NSMyAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjNfQ0NSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0X1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0X01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSNF9DQ1I0X1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0ICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSNF9DQ1I0X01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9CRFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9CRFRSX0RUR19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0RUR19Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFRJTV9CRFRSX0RURyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0RUR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPERUR1swOjddIGJpdHMgKERlYWQtVGltZSBHZW5lcmF0b3Igc2V0LXVwKSAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNSAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNiAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNyAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgLyohPExPQ0tbMTowXSBiaXRzIChMb2NrIENvbmZpZ3VyYXRpb24pICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0JEVFJfT1NTSV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfT1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfT1NTSV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTSSAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfT1NTSV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T2ZmLVN0YXRlIFNlbGVjdGlvbiBmb3IgSWRsZSBtb2RlICovDQojZGVmaW5lIFRJTV9CRFRSX09TU1JfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX09TU1JfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX09TU1JfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9CRFRSX09TU1IgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX09TU1JfTXNrICAgICAgICAgICAgICAgICAgLyohPE9mZi1TdGF0ZSBTZWxlY3Rpb24gZm9yIFJ1biBtb2RlICovDQojZGVmaW5lIFRJTV9CRFRSX0JLRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0JLRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0JLRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0JLRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0JLRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS1BfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9CS1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS1AgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQkRUUl9BT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9BT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9BT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9BT0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9BT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxBdXRvbWF0aWMgT3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9NT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9NT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9NT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9NT0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9NT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxNYWluIE91dHB1dCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRENSX0RCQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRENSX0RCQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBUSU1fRENSX0RCQSAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRENSX0RCQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxEQkFbNDowXSBiaXRzIChETUEgQmFzZSBBZGRyZXNzKSAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8wICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8xICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8yICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8zICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV80ICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIFRJTV9EQ1JfREJMX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxRjAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9EQ1JfREJMX01zayAgICAgICAgICAgICAgICAgICAgLyohPERCTFs0OjBdIGJpdHMgKERNQSBCdXJzdCBMZW5ndGgpICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RNQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0RNQVJfRE1BQl9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQiAgICAgICAgICAgICAgICAgICAgICAgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8RE1BIHJlZ2lzdGVyIGZvciBidXJzdCBhY2Nlc3NlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFsLVRpbWUgQ2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ1JIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NSSF9TRUNJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9TRUNJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9TRUNJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0NSSF9TRUNJRSAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9TRUNJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNlY29uZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJUQ19DUkhfQUxSSUVfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkhfQUxSSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkhfQUxSSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19DUkhfQUxSSUUgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkhfQUxSSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJUQ19DUkhfT1dJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkhfT1dJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkhfT1dJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19DUkhfT1dJRSAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkhfT1dJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyZmxvVyBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DUkxfU0VDRl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfU0VDRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfU0VDRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19DUkxfU0VDRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfU0VDRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTZWNvbmQgRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX0FMUkZfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX0FMUkZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX0FMUkZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSVENfQ1JMX0FMUkYgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX0FMUkZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWxhcm0gRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX09XRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX09XRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX09XRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSVENfQ1JMX09XRiAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX09XRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcmZsb1cgRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX1JTRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX1JTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX1JTRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSVENfQ1JMX1JTRiAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX1JTRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUmVnaXN0ZXJzIFN5bmNocm9uaXplZCBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfQ05GX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19DUkxfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDb25maWd1cmF0aW9uIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9SVE9GRl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9SVE9GRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9SVE9GRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX0NSTF9SVE9GRiAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9SVE9GRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBvcGVyYXRpb24gT0ZGICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX1BSTEggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19QUkxIX1BSTF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19QUkxIX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFJUQ19QUkxIX1BSTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19QUkxIX1BSTCAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19QUkxIX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSVEMgUHJlc2NhbGVyIFJlbG9hZCBWYWx1ZSBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX1BSTEwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19QUkxMX1BSTF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19QUkxMX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19QUkxMX1BSTF9Qb3MpICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19QUkxMX1BSTCAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19QUkxMX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSVEMgUHJlc2NhbGVyIFJlbG9hZCBWYWx1ZSBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfRElWSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJVl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX0RJVkhfUlRDX0RJVl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJViAgICAgICAgICAgICAgICAgICAgUlRDX0RJVkhfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDbG9jayBEaXZpZGVyIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfRElWTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJVl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0RJVkxfUlRDX0RJVl9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJViAgICAgICAgICAgICAgICAgICAgUlRDX0RJVkxfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDbG9jayBEaXZpZGVyIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DTlRIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQ05USF9SVENfQ05UX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UICAgICAgICAgICAgICAgICAgICBSVENfQ05USF9SVENfQ05UX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENvdW50ZXIgSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DTlRMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQ05UTF9SVENfQ05UX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UICAgICAgICAgICAgICAgICAgICBSVENfQ05UTF9SVENfQ05UX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENvdW50ZXIgTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19BTFJIX1JUQ19BTFJfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFIgICAgICAgICAgICAgICAgICAgIFJUQ19BTFJIX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQWxhcm0gSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19BTFJMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQUxSTF9SVENfQUxSX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSICAgICAgICAgICAgICAgICAgICBSVENfQUxSTF9SVENfQUxSX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIEFsYXJtIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXBlbmRlbnQgV0FUQ0hET0cgKElXREcpICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19LUl9LRVlfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgSVdER19LUl9LRVlfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgSVdER19LUl9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEtleSB2YWx1ZSAod3JpdGUgb25seSwgcmVhZCAwMDAwaCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19QUl9QUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgSVdER19QUl9QUiAgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBSWzI6MF0gKFByZXNjYWxlciBkaXZpZGVyKSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUkxSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1JMUl9STF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IElXREdfUkxSX1JMX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJV0RHX1JMUl9STCAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19TUl9QVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9QVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSVdER19TUl9QVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIHByZXNjYWxlciB2YWx1ZSB1cGRhdGUgKi8NCiNkZWZpbmUgSVdER19TUl9SVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9SVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSVdER19TUl9SVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIGNvdW50ZXIgcmVsb2FkIHZhbHVlIHVwZGF0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvdyBXQVRDSERPRyAoV1dERykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19DUl9UX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgV1dER19DUl9UICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRbNjowXSBiaXRzICg3LUJpdCBjb3VudGVyIChNU0IgdG8gTFNCKSkgKi8NCiNkZWZpbmUgV1dER19DUl9UXzAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19DUl9UXzEgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgV1dER19DUl9UXzIgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgV1dER19DUl9UXzMgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgV1dER19DUl9UXzQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgV1dER19DUl9UXzUgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgV1dER19DUl9UXzYgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ1JfVDAgV1dER19DUl9UXzANCiNkZWZpbmUgIFdXREdfQ1JfVDEgV1dER19DUl9UXzENCiNkZWZpbmUgIFdXREdfQ1JfVDIgV1dER19DUl9UXzINCiNkZWZpbmUgIFdXREdfQ1JfVDMgV1dER19DUl9UXzMNCiNkZWZpbmUgIFdXREdfQ1JfVDQgV1dER19DUl9UXzQNCiNkZWZpbmUgIFdXREdfQ1JfVDUgV1dER19DUl9UXzUNCiNkZWZpbmUgIFdXREdfQ1JfVDYgV1dER19DUl9UXzYNCg0KI2RlZmluZSBXV0RHX0NSX1dER0FfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NSX1dER0FfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NSX1dER0FfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBXV0RHX0NSX1dER0EgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NSX1dER0FfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWN0aXZhdGlvbiBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX0NGUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19DRlJfV19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfV19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgV1dER19DRlJfVyAgICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfV19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFdbNjowXSBiaXRzICg3LWJpdCB3aW5kb3cgdmFsdWUpICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMyAgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNCAgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNSAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNiAgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NGUl9XMCBXV0RHX0NGUl9XXzANCiNkZWZpbmUgIFdXREdfQ0ZSX1cxIFdXREdfQ0ZSX1dfMQ0KI2RlZmluZSAgV1dER19DRlJfVzIgV1dER19DRlJfV18yDQojZGVmaW5lICBXV0RHX0NGUl9XMyBXV0RHX0NGUl9XXzMNCiNkZWZpbmUgIFdXREdfQ0ZSX1c0IFdXREdfQ0ZSX1dfNA0KI2RlZmluZSAgV1dER19DRlJfVzUgV1dER19DRlJfV181DQojZGVmaW5lICBXV0RHX0NGUl9XNiBXV0RHX0NGUl9XXzYNCg0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDE4MCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQiAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9XREdUQl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV0RHVEJbMTowXSBiaXRzIChUaW1lciBCYXNlKSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DRlJfV0RHVEIwIFdXREdfQ0ZSX1dER1RCXzANCiNkZWZpbmUgIFdXREdfQ0ZSX1dER1RCMSBXV0RHX0NGUl9XREdUQl8xDQoNCiNkZWZpbmUgV1dER19DRlJfRVdJX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfRVdJX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19DRlJfRVdJX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgV1dER19DRlJfRVdJICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfRVdJX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVhcmx5IFdha2V1cCBJbnRlcnJ1cHQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19TUl9FV0lGX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19TUl9FV0lGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19TUl9FV0lGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19TUl9FV0lGICAgICAgICAgICAgICAgICAgICAgICAgV1dER19TUl9FV0lGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVhcmx5IFdha2V1cCBJbnRlcnJ1cHQgRmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgIFNEIGhvc3QgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19QT1dFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkxfTXNrICAgICAgICAgICAgICAoMHgzVSA8PCBTRElPX1BPV0VSX1BXUkNUUkxfUG9zKSAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBTRElPX1BPV0VSX1BXUkNUUkwgICAgICAgICAgICAgICAgICBTRElPX1BPV0VSX1BXUkNUUkxfTXNrICAgICAgICAgICAgIC8qITwgUFdSQ1RSTFsxOjBdIGJpdHMgKFBvd2VyIHN1cHBseSBjb250cm9sIGJpdHMpICovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF8wICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MpICAgLyohPCAweDAxICovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF8xICAgICAgICAgICAgICAgICgweDJVIDw8IFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MpICAgLyohPCAweDAyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0NMS0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRElWX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRElWX01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBTRElPX0NMS0NSX0NMS0RJVl9Qb3MpICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRElWICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfQ0xLRElWX01zayAgICAgICAgICAgICAgLyohPCBDbG9jayBkaXZpZGUgZmFjdG9yICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRU5fUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfQ0xLRU5fUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfQ0xLRU4gICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfQ0xLRU5fTXNrICAgICAgICAgICAgICAgLyohPCBDbG9jayBlbmFibGUgYml0ICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfUFdSU0FWX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfUFdSU0FWX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfUFdSU0FWX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfUFdSU0FWICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfUFdSU0FWX01zayAgICAgICAgICAgICAgLyohPCBQb3dlciBzYXZpbmcgY29uZmlndXJhdGlvbiBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9CWVBBU1NfUG9zICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9CWVBBU1NfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9CWVBBU1NfUG9zKSAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9CWVBBU1MgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9CWVBBU1NfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIGRpdmlkZXIgYnlwYXNzIGVuYWJsZSBiaXQgKi8NCg0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU19Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU19Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBTRElPX0NMS0NSX1dJREJVU19Qb3MpICAgIC8qITwgMHgwMDAwMTgwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVUyAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX1dJREJVU19Nc2sgICAgICAgICAgICAgIC8qITwgV0lEQlVTWzE6MF0gYml0cyAoV2lkZSBidXMgbW9kZSBlbmFibGUgYml0KSAqLw0KI2RlZmluZSBTRElPX0NMS0NSX1dJREJVU18wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX1dJREJVU19Qb3MpICAgIC8qITwgMHgwODAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDEwMDAgKi8NCg0KI2RlZmluZSBTRElPX0NMS0NSX05FR0VER0VfUG9zICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX05FR0VER0VfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX05FR0VER0VfUG9zKSAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX05FR0VER0UgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX05FR0VER0VfTXNrICAgICAgICAgICAgIC8qITwgU0RJT19DSyBkZXBoYXNpbmcgc2VsZWN0aW9uIGJpdCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0hXRkNfRU5fUG9zICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0hXRkNfRU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX0hXRkNfRU5fUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0hXRkNfRU4gICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0hXRkNfRU5fTXNrICAgICAgICAgICAgIC8qITwgSFcgRmxvdyBDb250cm9sIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQVJHIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0FSR19DTURBUkdfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0FSR19DTURBUkdfTXNrICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19BUkdfQ01EQVJHX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fQVJHX0NNREFSRyAgICAgICAgICAgICAgICAgICAgIFNESU9fQVJHX0NNREFSR19Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIGFyZ3VtZW50ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19DTUQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fQ01EX0NNRElOREVYX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0NNRElOREVYX01zayAgICAgICAgICAgICAgICgweDNGVSA8PCBTRElPX0NNRF9DTURJTkRFWF9Qb3MpICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIFNESU9fQ01EX0NNRElOREVYICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX0NNRElOREVYX01zayAgICAgICAgICAgICAgLyohPCBDb21tYW5kIEluZGV4ICovDQoNCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgU0RJT19DTURfV0FJVFJFU1BfUG9zKSAgICAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1AgICAgICAgICAgICAgICAgICAgU0RJT19DTURfV0FJVFJFU1BfTXNrICAgICAgICAgICAgICAvKiE8IFdBSVRSRVNQWzE6MF0gYml0cyAoV2FpdCBmb3IgcmVzcG9uc2UgYml0cykgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFJFU1BfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfV0FJVFJFU1BfUG9zKSAgICAvKiE8IDB4MDA0MCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDgwICovDQoNCiNkZWZpbmUgU0RJT19DTURfV0FJVElOVF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfV0FJVElOVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfV0FJVElOVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVElOVCAgICAgICAgICAgICAgICAgICAgU0RJT19DTURfV0FJVElOVF9Nc2sgICAgICAgICAgICAgICAvKiE8IENQU00gV2FpdHMgZm9yIEludGVycnVwdCBSZXF1ZXN0ICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRQRU5EX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX1dBSVRQRU5EX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX1dBSVRQRU5EX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRQRU5EICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX1dBSVRQRU5EX01zayAgICAgICAgICAgICAgLyohPCBDUFNNIFdhaXRzIGZvciBlbmRzIG9mIGRhdGEgdHJhbnNmZXIgKENtZFBlbmQgaW50ZXJuYWwgc2lnbmFsKSAqLw0KI2RlZmluZSBTRElPX0NNRF9DUFNNRU5fUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9DUFNNRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9DUFNNRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9DUFNNRU4gICAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9DUFNNRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBwYXRoIHN0YXRlIG1hY2hpbmUgKENQU00pIEVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTURfU0RJT1NVU1BFTkRfUG9zICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfU0RJT1NVU1BFTkRfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfU0RJT1NVU1BFTkRfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19DTURfU0RJT1NVU1BFTkQgICAgICAgICAgICAgICAgU0RJT19DTURfU0RJT1NVU1BFTkRfTXNrICAgICAgICAgICAvKiE8IFNEIEkvTyBzdXNwZW5kIGNvbW1hbmQgKi8NCiNkZWZpbmUgU0RJT19DTURfRU5DTURDT01QTF9Qb3MgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfRU5DTURDT01QTF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfRU5DTURDT01QTF9Qb3MpICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfRU5DTURDT01QTCAgICAgICAgICAgICAgICAgU0RJT19DTURfRU5DTURDT01QTF9Nc2sgICAgICAgICAgICAvKiE8IEVuYWJsZSBDTUQgY29tcGxldGlvbiAqLw0KI2RlZmluZSBTRElPX0NNRF9OSUVOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9OSUVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9OSUVOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9OSUVOICAgICAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9OSUVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgTm90IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19DTURfQ0VBVEFDTURfUG9zICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfQ0VBVEFDTURfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfQ0VBVEFDTURfUG9zKSAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfQ0VBVEFDTUQgICAgICAgICAgICAgICAgICAgU0RJT19DTURfQ0VBVEFDTURfTXNrICAgICAgICAgICAgICAvKiE8IENFLUFUQSBjb21tYW5kICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUENNRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUENNRF9SRVNQQ01EX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUENNRF9SRVNQQ01EX01zayAgICAgICAgICAgICgweDNGVSA8PCBTRElPX1JFU1BDTURfUkVTUENNRF9Qb3MpIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBTRElPX1JFU1BDTURfUkVTUENNRCAgICAgICAgICAgICAgICBTRElPX1JFU1BDTURfUkVTUENNRF9Nc2sgICAgICAgICAgIC8qITwgUmVzcG9uc2UgY29tbWFuZCBpbmRleCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQMF9DQVJEU1RBVFVTMF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AwX0NBUkRTVEFUVVMwICAgICAgICAgICAgICBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDFfQ0FSRFNUQVRVUzFfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQMV9DQVJEU1RBVFVTMSAgICAgICAgICAgICAgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AyX0NBUkRTVEFUVVMyX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzIgICAgICAgICAgICAgIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQM19DQVJEU1RBVFVTM19Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AzX0NBUkRTVEFUVVMzICAgICAgICAgICAgICBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDRfQ0FSRFNUQVRVUzRfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQNF9DQVJEU1RBVFVTNCAgICAgICAgICAgICAgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RUSU1FUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRFRJTUVSX0RBVEFUSU1FX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRFRJTUVSX0RBVEFUSU1FX01zayAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0RUSU1FUl9EQVRBVElNRV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0RUSU1FUl9EQVRBVElNRSAgICAgICAgICAgICAgICBTRElPX0RUSU1FUl9EQVRBVElNRV9Nc2sgICAgICAgICAgIC8qITwgRGF0YSB0aW1lb3V0IHBlcmlvZC4gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRExFTiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19ETEVOX0RBVEFMRU5HVEhfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19ETEVOX0RBVEFMRU5HVEhfTXNrICAgICAgICAgICAgKDB4MUZGRkZGRlUgPDwgU0RJT19ETEVOX0RBVEFMRU5HVEhfUG9zKSAvKiE8IDB4MDFGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19ETEVOX0RBVEFMRU5HVEggICAgICAgICAgICAgICAgU0RJT19ETEVOX0RBVEFMRU5HVEhfTXNrICAgICAgICAgICAvKiE8IERhdGEgbGVuZ3RoIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RDVFJMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRENUUkxfRFRFTl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRFRFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRFRFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRFTiAgICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRFRFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIGVuYWJsZWQgYml0ICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRESVJfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfRFRESVJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfRFRESVJfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fRENUUkxfRFRESVIgICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfRFRESVJfTXNrICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIGRpcmVjdGlvbiBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVE1PREVfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVE1PREVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVE1PREVfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVE1PREUgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVE1PREVfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgbW9kZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9ETUFFTl9Qb3MgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9ETUFFTl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9ETUFFTiAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9ETUFFTl9Nc2sgICAgICAgICAgICAgICAvKiE8IERNQSBlbmFibGVkIGJpdCAqLw0KDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRV9Nc2sgICAgICAgICAgICgweEZVIDw8IFNESU9fRENUUkxfREJMT0NLU0laRV9Qb3MpIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkUgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RCTE9DS1NJWkVfTXNrICAgICAgICAgIC8qITwgREJMT0NLU0laRVszOjBdIGJpdHMgKERhdGEgYmxvY2sgc2l6ZSkgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwMTAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzEgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwMjAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzIgICAgICAgICAgICAgKDB4NFUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwNDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzMgICAgICAgICAgICAgKDB4OFUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwODAgKi8NCg0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RBUlRfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RBUlRfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1JXU1RBUlRfUG9zKSAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXU1RBUlQgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1JXU1RBUlRfTXNrICAgICAgICAgICAgIC8qITwgUmVhZCB3YWl0IHN0YXJ0ICovDQojZGVmaW5lIFNESU9fRENUUkxfUldTVE9QX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldTVE9QX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldTVE9QX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldTVE9QICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldTVE9QX01zayAgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgc3RvcCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXTU9EX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1JXTU9EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1JXTU9EX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1JXTU9EICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1JXTU9EX01zayAgICAgICAgICAgICAgIC8qITwgUmVhZCB3YWl0IG1vZGUgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9TRElPRU5fUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9TRElPRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9TRElPRU5fUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9TRElPRU4gICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9TRElPRU5fTXNrICAgICAgICAgICAgICAvKiE8IFNEIEkvTyBlbmFibGUgZnVuY3Rpb25zICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RDT1VOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRENPVU5UX0RBVEFDT1VOVF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENPVU5UX0RBVEFDT1VOVF9Nc2sgICAgICAgICAgICgweDFGRkZGRkZVIDw8IFNESU9fRENPVU5UX0RBVEFDT1VOVF9Qb3MpIC8qITwgMHgwMUZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0RDT1VOVF9EQVRBQ09VTlQgICAgICAgICAgICAgICBTRElPX0RDT1VOVF9EQVRBQ09VTlRfTXNrICAgICAgICAgIC8qITwgRGF0YSBjb3VudCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19TVEEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1NUQV9DQ1JDRkFJTF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DQ1JDRkFJTF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX1NUQV9DQ1JDRkFJTCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSByZWNlaXZlZCAoQ1JDIGNoZWNrIGZhaWxlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfRENSQ0ZBSUxfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfRENSQ0ZBSUxfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfRENSQ0ZBSUxfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19TVEFfRENSQ0ZBSUwgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfRENSQ0ZBSUxfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgYmxvY2sgc2VudC9yZWNlaXZlZCAoQ1JDIGNoZWNrIGZhaWxlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ1RJTUVPVVRfUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ1RJTUVPVVRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ1RJTUVPVVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ1RJTUVPVVQgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ1RJTUVPVVRfTXNrICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcmVzcG9uc2UgdGltZW91dCAqLw0KI2RlZmluZSBTRElPX1NUQV9EVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EVElNRU9VVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX1NUQV9EVElNRU9VVCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EVElNRU9VVF9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSB0aW1lb3V0ICovDQojZGVmaW5lIFNESU9fU1RBX1RYVU5ERVJSX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYVU5ERVJSX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYVU5ERVJSX1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNESU9fU1RBX1RYVU5ERVJSICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYVU5ERVJSX01zayAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIHVuZGVycnVuIGVycm9yICovDQojZGVmaW5lIFNESU9fU1RBX1JYT1ZFUlJfUG9zICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYT1ZFUlJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYT1ZFUlJfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNESU9fU1RBX1JYT1ZFUlIgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYT1ZFUlJfTXNrICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlZCBGSUZPIG92ZXJydW4gZXJyb3IgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EUkVORF9Qb3MgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ01EUkVORF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ01EUkVORF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EUkVORCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ01EUkVORF9Nc2sgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgcmVzcG9uc2UgcmVjZWl2ZWQgKENSQyBjaGVjayBwYXNzZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFNFTlRfUG9zICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NNRFNFTlRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NNRFNFTlRfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNESU9fU1RBX0NNRFNFTlQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NNRFNFTlRfTXNrICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHNlbnQgKG5vIHJlc3BvbnNlIHJlcXVpcmVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQVRBRU5EX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQVRBRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQVRBRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9EQVRBRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQVRBRU5EX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSBlbmQgKGRhdGEgY291bnRlciwgU0RJRENPVU5ULCBpcyB6ZXJvKSAqLw0KI2RlZmluZSBTRElPX1NUQV9TVEJJVEVSUl9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9TVEJJVEVSUl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9TVEJJVEVSUl9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9TVEJJVEVSUiAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9TVEJJVEVSUl9Nc2sgICAgICAgICAgICAgIC8qITwgU3RhcnQgYml0IG5vdCBkZXRlY3RlZCBvbiBhbGwgZGF0YSBzaWduYWxzIGluIHdpZGUgYnVzIG1vZGUgKi8NCiNkZWZpbmUgU0RJT19TVEFfREJDS0VORF9Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfREJDS0VORF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfREJDS0VORF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfREJDS0VORCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfREJDS0VORF9Nc2sgICAgICAgICAgICAgICAvKiE8IERhdGEgYmxvY2sgc2VudC9yZWNlaXZlZCAoQ1JDIGNoZWNrIHBhc3NlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EQUNUX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ01EQUNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ01EQUNUX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EQUNUICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ01EQUNUX01zayAgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgdHJhbnNmZXIgaW4gcHJvZ3Jlc3MgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhBQ1RfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhBQ1RfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhBQ1RfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhBQ1QgICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhBQ1RfTXNrICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNtaXQgaW4gcHJvZ3Jlc3MgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhBQ1RfUG9zICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhBQ1RfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhBQ1RfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhBQ1QgICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhBQ1RfTXNrICAgICAgICAgICAgICAgICAvKiE8IERhdGEgcmVjZWl2ZSBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9IRV9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9IRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEZJRk9IRV9Qb3MpICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEZJRk9IRSAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEZJRk9IRV9Nc2sgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRklGTyBIYWxmIEVtcHR5OiBhdCBsZWFzdCA4IHdvcmRzIGNhbiBiZSB3cml0dGVuIGludG8gdGhlIEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPSEZfUG9zICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPSEZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhGSUZPSEZfUG9zKSAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPSEYgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhGSUZPSEZfTXNrICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRklGTyBIYWxmIEZ1bGw6IHRoZXJlIGFyZSBhdCBsZWFzdCA4IHdvcmRzIGluIHRoZSBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0ZfUG9zICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0ZfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYRklGT0ZfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0YgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYRklGT0ZfTXNrICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIGZ1bGwgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRl9Qb3MgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhGSUZPRl9Qb3MpICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhGSUZPRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRklGTyBmdWxsICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0VfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0VfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYRklGT0VfUG9zKSAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0UgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYRklGT0VfTXNrICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIGVtcHR5ICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0VfUG9zICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0VfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1JYRklGT0VfUG9zKSAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1JYRklGT0UgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1JYRklGT0VfTXNrICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIEZJRk8gZW1wdHkgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhEQVZMX1BvcyAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhEQVZMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhEQVZMX1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhEQVZMICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhEQVZMX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIHRyYW5zbWl0IEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhEQVZMX1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhEQVZMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhEQVZMX1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhEQVZMICAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhEQVZMX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIHJlY2VpdmUgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9TRElPSVRfUG9zICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9TRElPSVRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9TRElPSVRfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9TRElPSVQgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9TRElPSVRfTXNrICAgICAgICAgICAgICAgIC8qITwgU0RJTyBpbnRlcnJ1cHQgcmVjZWl2ZWQgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0VBVEFFTkRfUG9zICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ0VBVEFFTkRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ0VBVEFFTkRfUG9zKSAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ0VBVEFFTkQgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ0VBVEFFTkRfTXNrICAgICAgICAgICAgICAvKiE8IENFLUFUQSBjb21tYW5kIGNvbXBsZXRpb24gc2lnbmFsIHJlY2VpdmVkIGZvciBDTUQ2MSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fSUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0lDUl9DQ1JDRkFJTENfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9DQ1JDRkFJTENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9DQ1JDRkFJTENfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX0lDUl9DQ1JDRkFJTEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9DQ1JDRkFJTENfTXNrICAgICAgICAgICAgIC8qITwgQ0NSQ0ZBSUwgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfRENSQ0ZBSUxDX1BvcyAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfRENSQ0ZBSUxDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfRENSQ0ZBSUxDX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19JQ1JfRENSQ0ZBSUxDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfRENSQ0ZBSUxDX01zayAgICAgICAgICAgICAvKiE8IERDUkNGQUlMIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NUSU1FT1VUQ19Qb3MgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NUSU1FT1VUQ19Qb3MpICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNESU9fSUNSX0NUSU1FT1VUQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgLyohPCBDVElNRU9VVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EVElNRU9VVENfUG9zICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EVElNRU9VVENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EVElNRU9VVENfUG9zKSAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX0lDUl9EVElNRU9VVEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EVElNRU9VVENfTXNrICAgICAgICAgICAgIC8qITwgRFRJTUVPVVQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfVFhVTkRFUlJDX1BvcyAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfVFhVTkRFUlJDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfVFhVTkRFUlJDX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfVFhVTkRFUlJDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfVFhVTkRFUlJDX01zayAgICAgICAgICAgICAvKiE8IFRYVU5ERVJSIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1JYT1ZFUlJDX1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1JYT1ZFUlJDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1JYT1ZFUlJDX1BvcykgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNESU9fSUNSX1JYT1ZFUlJDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1JYT1ZFUlJDX01zayAgICAgICAgICAgICAgLyohPCBSWE9WRVJSIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFJFTkRDX1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NNRFJFTkRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NNRFJFTkRDX1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFJFTkRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NNRFJFTkRDX01zayAgICAgICAgICAgICAgLyohPCBDTURSRU5EIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFNFTlRDX1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NNRFNFTlRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NNRFNFTlRDX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNESU9fSUNSX0NNRFNFTlRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NNRFNFTlRDX01zayAgICAgICAgICAgICAgLyohPCBDTURTRU5UIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RBVEFFTkRDX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RBVEFFTkRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RBVEFFTkRDX1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fSUNSX0RBVEFFTkRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RBVEFFTkRDX01zayAgICAgICAgICAgICAgLyohPCBEQVRBRU5EIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1NUQklURVJSQ19Qb3MgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1NUQklURVJSQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1NUQklURVJSQ19Qb3MpICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fSUNSX1NUQklURVJSQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1NUQklURVJSQ19Nc2sgICAgICAgICAgICAgLyohPCBTVEJJVEVSUiBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQkNLRU5EQ19Qb3MgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EQkNLRU5EQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EQkNLRU5EQ19Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQkNLRU5EQyAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EQkNLRU5EQ19Nc2sgICAgICAgICAgICAgIC8qITwgREJDS0VORCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9TRElPSVRDX1BvcyAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9TRElPSVRDX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9TRElPSVRDX1BvcykgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBTRElPX0lDUl9TRElPSVRDICAgICAgICAgICAgICAgICAgICBTRElPX0lDUl9TRElPSVRDX01zayAgICAgICAgICAgICAgIC8qITwgU0RJT0lUIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0NFQVRBRU5EQ19Qb3MgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NFQVRBRU5EQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NFQVRBRU5EQ19Qb3MpICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFNESU9fSUNSX0NFQVRBRU5EQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NFQVRBRU5EQ19Nc2sgICAgICAgICAgICAgLyohPCBDRUFUQUVORCBmbGFnIGNsZWFyIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19NQVNLIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ0NSQ0ZBSUxJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfQ0NSQ0ZBSUxJRV9Nc2sgICAgICAgICAgIC8qITwgQ29tbWFuZCBDUkMgRmFpbCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EQ1JDRkFJTElFX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EQ1JDRkFJTElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EQ1JDRkFJTElFX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNESU9fTUFTS19EQ1JDRkFJTElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19EQ1JDRkFJTElFX01zayAgICAgICAgICAgLyohPCBEYXRhIENSQyBGYWlsIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NUSU1FT1VUSUVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NUSU1FT1VUSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NUSU1FT1VUSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NUSU1FT1VUSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NUSU1FT1VUSUVfTXNrICAgICAgICAgICAvKiE8IENvbW1hbmQgVGltZU91dCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EVElNRU9VVElFX1BvcyAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EVElNRU9VVElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EVElNRU9VVElFX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fTUFTS19EVElNRU9VVElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19EVElNRU9VVElFX01zayAgICAgICAgICAgLyohPCBEYXRhIFRpbWVPdXQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhVTkRFUlJJRV9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhVTkRFUlJJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhVTkRFUlJJRV9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhVTkRFUlJJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhVTkRFUlJJRV9Nc2sgICAgICAgICAgIC8qITwgVHggRklGTyBVbmRlclJ1biBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWE9WRVJSSUVfUG9zICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWE9WRVJSSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWE9WRVJSSUVfUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNESU9fTUFTS19SWE9WRVJSSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWE9WRVJSSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIE92ZXJSdW4gRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EUkVORElFX1BvcyAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ01EUkVORElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ01EUkVORElFX1BvcykgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EUkVORElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfQ01EUkVORElFX01zayAgICAgICAgICAgIC8qITwgQ29tbWFuZCBSZXNwb25zZSBSZWNlaXZlZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DTURTRU5USUVfUG9zICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DTURTRU5USUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DTURTRU5USUVfUG9zKSAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNESU9fTUFTS19DTURTRU5USUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19DTURTRU5USUVfTXNrICAgICAgICAgICAgLyohPCBDb21tYW5kIFNlbnQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfREFUQUVORElFX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfREFUQUVORElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfREFUQUVORElFX1BvcykgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfREFUQUVORElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfREFUQUVORElFX01zayAgICAgICAgICAgIC8qITwgRGF0YSBFbmQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfU1RCSVRFUlJJRV9Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfU1RCSVRFUlJJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfU1RCSVRFUlJJRV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfU1RCSVRFUlJJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfU1RCSVRFUlJJRV9Nc2sgICAgICAgICAgIC8qITwgU3RhcnQgQml0IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RCQ0tFTkRJRV9Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RCQ0tFTkRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RCQ0tFTkRJRV9Qb3MpICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RCQ0tFTkRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RCQ0tFTkRJRV9Nc2sgICAgICAgICAgICAvKiE8IERhdGEgQmxvY2sgRW5kIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNREFDVElFX1BvcyAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NNREFDVElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NNREFDVElFX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNREFDVElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NNREFDVElFX01zayAgICAgICAgICAgICAvKiE8IENvbW1hbmQgQWN0aW5nIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYQUNUSUVfUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYQUNUSUVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYQUNUSUVfUG9zKSAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYQUNUSUUgICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYQUNUSUVfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgVHJhbnNtaXQgQWN0aW5nIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYQUNUSUVfUG9zICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYQUNUSUVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYQUNUSUVfUG9zKSAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYQUNUSUUgICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYQUNUSUVfTXNrICAgICAgICAgICAgICAvKiE8IERhdGEgcmVjZWl2ZSBhY3RpbmcgaW50ZXJydXB0IGVuYWJsZWQgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0hFSUVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0hFSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYRklGT0hFSUVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0hFSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYRklGT0hFSUVfTXNrICAgICAgICAgICAvKiE8IFR4IEZJRk8gSGFsZiBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9IRklFX1BvcyAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9IRklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9IRklFX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9IRklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9IRklFX01zayAgICAgICAgICAgLyohPCBSeCBGSUZPIEhhbGYgRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9GSUVfUG9zICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9GSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWEZJRk9GSUVfUG9zKSAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWEZJRk9GSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWEZJRk9GSUVfTXNrICAgICAgICAgICAgLyohPCBUeCBGSUZPIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRklFX1BvcyAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRklFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhGSUZPRklFX1BvcykgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRklFICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhGSUZPRklFX01zayAgICAgICAgICAgIC8qITwgUnggRklGTyBGdWxsIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0VJRV9Qb3MgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0VJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYRklGT0VJRV9Qb3MpICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0VJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYRklGT0VJRV9Nc2sgICAgICAgICAgICAvKiE8IFR4IEZJRk8gRW1wdHkgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRUlFX1BvcyAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRUlFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhGSUZPRUlFX1BvcykgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhGSUZPRUlFICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhGSUZPRUlFX01zayAgICAgICAgICAgIC8qITwgUnggRklGTyBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWERBVkxJRV9Qb3MgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWERBVkxJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWERBVkxJRV9Qb3MpICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19UWERBVkxJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWERBVkxJRV9Nc2sgICAgICAgICAgICAgLyohPCBEYXRhIGF2YWlsYWJsZSBpbiBUeCBGSUZPIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYREFWTElFX1BvcyAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYREFWTElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYREFWTElFX1BvcykgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYREFWTElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYREFWTElFX01zayAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIFJ4IEZJRk8gaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfU0RJT0lUSUVfUG9zICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfU0RJT0lUSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfU0RJT0lUSUVfUG9zKSAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfU0RJT0lUSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfU0RJT0lUSUVfTXNrICAgICAgICAgICAgIC8qITwgU0RJTyBNb2RlIEludGVycnVwdCBSZWNlaXZlZCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DRUFUQUVORElFX1BvcyAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DRUFUQUVORElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DRUFUQUVORElFX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19DRUFUQUVORElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19DRUFUQUVORElFX01zayAgICAgICAgICAgLyohPCBDRS1BVEEgY29tbWFuZCBjb21wbGV0aW9uIHNpZ25hbCByZWNlaXZlZCBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRklGT0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRklGT0NOVF9GSUZPQ09VTlRfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRklGT0NOVF9GSUZPQ09VTlRfTXNrICAgICAgICAgICgweEZGRkZGRlUgPDwgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Qb3MpIC8qITwgMHgwMEZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0ZJRk9DTlRfRklGT0NPVU5UICAgICAgICAgICAgICBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX01zayAgICAgICAgIC8qITwgUmVtYWluaW5nIG51bWJlciBvZiB3b3JkcyB0byBiZSB3cml0dGVuIHRvIG9yIHJlYWQgZnJvbSB0aGUgRklGTyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19GSUZPIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0ZJRk9fRklGT0RBVEFfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0ZJRk9fRklGT0RBVEFfTXNrICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19GSUZPX0ZJRk9EQVRBX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQSAgICAgICAgICAgICAgICAgIFNESU9fRklGT19GSUZPREFUQV9Nc2sgICAgICAgICAgICAgLyohPCBSZWNlaXZlIGFuZCB0cmFuc21pdCBGSUZPIGRhdGEgKi8NCg0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWwgUGVyaXBoZXJhbCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NQSEFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEEgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUGhhc2UgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUE9MX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUE9MX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUE9MX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBvbGFyaXR5ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfTVNUUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUiAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfTVNUUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIgU2VsZWN0aW9uICovDQoNCiNkZWZpbmUgU1BJX0NSMV9CUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgU1BJX0NSMV9CUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJSWzI6MF0gYml0cyAoQmF1ZCBSYXRlIENvbnRyb2wpICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgU1BJX0NSMV9TUEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TUEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TUEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TUEUgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TUEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNQSSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVF9Qb3MgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9MU0JGSVJTVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVCAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9MU0JGSVJTVF9Nc2sgICAgICAgICAgICAgICAvKiE8IEZyYW1lIEZvcm1hdCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTSV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NTSV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTSSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgc2xhdmUgc2VsZWN0ICovDQojZGVmaW5lIFNQSV9DUjFfU1NNX1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1NNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1NNX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNQSV9DUjFfU1NNICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1NNX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBzbGF2ZSBtYW5hZ2VtZW50ICovDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfUlhPTkxZX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfUlhPTkxZX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIG9ubHkgKi8NCiNkZWZpbmUgU1BJX0NSMV9ERkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9ERkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9ERkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9ERkYgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9ERkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgRnJhbWUgRm9ybWF0ICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1JDTkVYVF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVCAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1JDTkVYVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBDUkMgbmV4dCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NSQ0VOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgIC8qITwgSGFyZHdhcmUgQ1JDIGNhbGN1bGF0aW9uIGVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElPRV9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JJRElPRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JJRElPRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElPRSAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JJRElPRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3V0cHV0IGVuYWJsZSBpbiBiaWRpcmVjdGlvbmFsIG1vZGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CSURJTU9ERV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERSAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CSURJTU9ERV9Nc2sgICAgICAgICAgICAgICAvKiE8IEJpZGlyZWN0aW9uYWwgZGF0YSBtb2RlIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1JYRE1BRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU4gICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1JYRE1BRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgUnggQnVmZmVyIERNQSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9UWERNQUVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9UWERNQUVOX01zayAgICAgICAgICAgICAgICAvKiE8IFR4IEJ1ZmZlciBETUEgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfU1NPRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRSAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfU1NPRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTUyBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfRVJSSUVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfRVJSSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNQSV9DUjJfRVJSSUUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfUlhORUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfUlhORUlFX01zayAgICAgICAgICAgICAgICAgLyohPCBSWCBidWZmZXIgTm90IEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWEVJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9UWEVJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWEVJRSAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFR4IGJ1ZmZlciBFbXB0eSBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9TUl9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9SWE5FX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9TUl9SWE5FICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIGJ1ZmZlciBOb3QgRW1wdHkgKi8NCiNkZWZpbmUgU1BJX1NSX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1RYRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX1NSX1RYRSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IGJ1ZmZlciBFbXB0eSAqLw0KI2RlZmluZSBTUElfU1JfQ0hTSURFX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfQ0hTSURFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfQ0hTSURFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTUElfU1JfQ0hTSURFICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfQ0hTSURFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBzaWRlICovDQojZGVmaW5lIFNQSV9TUl9VRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9VRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9VRFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNQSV9TUl9VRFIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9VRFJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBVbmRlcnJ1biBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9DUkNFUlJfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9DUkNFUlJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9DUkNFUlJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNQSV9TUl9DUkNFUlIgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9DUkNFUlJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDUkMgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfTU9ERl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfTU9ERl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfTU9ERl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTUElfU1JfTU9ERiAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfTU9ERl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTW9kZSBmYXVsdCAqLw0KI2RlZmluZSBTUElfU1JfT1ZSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfT1ZSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfU1JfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcnJ1biBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9CU1lfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9CU1lfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNQSV9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXN5IGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0RSX0RSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1JDUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zKSAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFkgICAgICAgICAgICAgICAgICAgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAvKiE8IENSQyBwb2x5bm9taWFsIHJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfUlhDUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9SWENSQ1JfUlhDUkNfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkMgICAgICAgICAgICAgICAgICAgIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgLyohPCBSeCBDUkMgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9UWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX1RYQ1JDUl9UWENSQ19Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQyAgICAgICAgICAgICAgICAgICAgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFR4IENSQyBSZWdpc3RlciAqLw0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBJbnRlci1pbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DUjFfUEVfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUEVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19DUjFfUEUgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NNQlVTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NNQlVTX01zayAgICAgICAgICAgICAgICAgIC8qITwgU01CdXMgTW9kZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NNQlRZUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEUgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NNQlRZUEVfTXNrICAgICAgICAgICAgICAgIC8qITwgU01CdXMgVHlwZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOQVJQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOQVJQX01zayAgICAgICAgICAgICAgICAgIC8qITwgQVJQIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOUEVDX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOUEVDX01zayAgICAgICAgICAgICAgICAgIC8qITwgUEVDIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOR0NfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOR0NfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOR0NfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOR0MgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOR0NfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbCBDYWxsIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Qb3MgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX05PU1RSRVRDSF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSCAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX05PU1RSRVRDSF9Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU3RyZXRjaGluZyBEaXNhYmxlIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NUQVJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NUQVJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUT1BfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NUT1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUT1AgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgU3RvcCBHZW5lcmF0aW9uICovDQojZGVmaW5lIEkyQ19DUjFfQUNLX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfQUNLX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUNLX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19DUjFfQUNLICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfQUNLX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZSBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9QT1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QT1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QT1NfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9QT1MgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QT1NfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFja25vd2xlZGdlL1BFQyBQb3NpdGlvbiAoZm9yIGRhdGEgcmVjZXB0aW9uKSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BFQ19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFQyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGFja2V0IEVycm9yIENoZWNraW5nICovDQojZGVmaW5lIEkyQ19DUjFfQUxFUlRfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfQUxFUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUxFUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEkyQ19DUjFfQUxFUlQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfQUxFUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBBbGVydCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NXUlNUX1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NXUlNUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgUmVzZXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9GUkVRX01zayAgICAgICAgICAgICAgICAgICAgKDB4M0ZVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9GUkVRX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZSRVFbNTowXSBiaXRzIChQZXJpcGhlcmFsIENsb2NrIEZyZXF1ZW5jeSkgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzUgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU5fUG9zICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lURVJSRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lURVJSRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU5fUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lURVZURU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lURVZURU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU5fUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lUQlVGRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lUQlVGRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQnVmZmVyIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9ETUFFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9ETUFFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9ETUFFTiAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IERNQSBSZXF1ZXN0cyBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9MQVNUX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9MQVNUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9MQVNUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9MQVNUICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9MQVNUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERNQSBMYXN0IFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX09BUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfNyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkVVICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIEFkZHJlc3MgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOF85ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDMwMFUgICAgICAgICAgICAgLyohPCBJbnRlcmZhY2UgQWRkcmVzcyAqLw0KDQojZGVmaW5lIEkyQ19PQVIxX0FERDBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDMgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ0X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ0ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA1ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ3X1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ3ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDcgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA4ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDkgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgOSAqLw0KDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREVfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERE1PREVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREUgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERE1PREVfTXNrICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzaW5nIE1vZGUgKFNsYXZlIG1vZGUpICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX09BUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTF9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIyX0VORFVBTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTCAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIyX0VORFVBTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEdWFsIGFkZHJlc3NpbmcgbW9kZSBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX09BUjJfQUREMl9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjJfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IEkyQ19PQVIyX0FERDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRkUgKi8NCiNkZWZpbmUgSTJDX09BUjJfQUREMiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjJfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBhZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19EUl9EUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19EUl9EUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IEkyQ19EUl9EUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEkyQ19EUl9EUiAgICAgICAgICAgICAgICAgSTJDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCA4LWJpdCBEYXRhIFJlZ2lzdGVyICAgICAgICAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfU1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1NSMV9TQl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TQl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX1NSMV9TQiAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IEJpdCAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUREUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19TUjFfQUREUiAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzIHNlbnQgKG1hc3RlciBtb2RlKS9tYXRjaGVkIChzbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0JURl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0JURl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfU1IxX0JURiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQnl0ZSBUcmFuc2ZlciBGaW5pc2hlZCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FERDEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgMTAtYml0IGhlYWRlciBzZW50IChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TVE9QRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRiAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0b3AgZGV0ZWN0aW9uIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1JYTkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciBub3QgRW1wdHkgKHJlY2VpdmVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9UWEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEUgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgRW1wdHkgKHRyYW5zbWl0dGVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9CRVJSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBFcnJvciAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE9fUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FSTE9fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE8gICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQXJiaXRyYXRpb24gTG9zdCAobWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19TUjFfQUYgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZSBGYWlsdXJlICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfT1ZSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuL1VuZGVycnVuICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfUEVDRVJSX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgLyohPCBQRUMgRXJyb3IgaW4gcmVjZXB0aW9uICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfVElNRU9VVF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBUaW1lb3V0IG9yIFRsb3cgRXJyb3IgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TTUJBTEVSVF9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVCAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEFsZXJ0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19TUjJfTVNMX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfTVNMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19TUjJfTVNMICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIvU2xhdmUgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9CVVNZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBCdXN5ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfVFJBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdHRlci9SZWNlaXZlciAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfUG9zICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0dFTkNBTExfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTEwgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbCBDYWxsIEFkZHJlc3MgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Qb3MgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfU01CREVGQVVMVF9Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVCAgICAgICAgICAgICAgICAgIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgLyohPCBTTUJ1cyBEZXZpY2UgRGVmYXVsdCBBZGRyZXNzIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1NNQkhPU1RfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1QgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgIC8qITwgU01CdXMgSG9zdCBIZWFkZXIgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfRFVBTEZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBEdWFsIEZsYWcgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfUEVDX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBJMkNfU1IyX1BFQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEkyQ19TUjJfUEVDICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYWNrZXQgRXJyb3IgQ2hlY2tpbmcgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1JfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBJMkNfQ0NSX0NDUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1IgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIENvbnRyb2wgUmVnaXN0ZXIgaW4gRmFzdC9TdGFuZGFyZCBtb2RlIChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NDUl9EVVRZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZhc3QgTW9kZSBEdXR5IEN5Y2xlICovDQojZGVmaW5lIEkyQ19DQ1JfRlNfUG9zICAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DQ1JfRlNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19DQ1JfRlMgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBJMkMgTWFzdGVyIE1vZGUgU2VsZWN0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfVFJJU0UgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgICgweDNGVSA8PCBJMkNfVFJJU0VfVFJJU0VfUG9zKSAgICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRSAgICAgICAgICAgICAgICAgICAgIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNYXhpbXVtIFJpc2UgVGltZSBpbiBGYXN0L1N0YW5kYXJkIG1vZGUgKE1hc3RlciBtb2RlKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgVW5pdmVyc2FsIFN5bmNocm9ub3VzIEFzeW5jaHJvbm91cyBSZWNlaXZlciBUcmFuc21pdHRlciAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfU1JfUEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfUEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfU1JfUEUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfUEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhcml0eSBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9GRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9GRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9GRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9TUl9GRSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9GRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRnJhbWluZyBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9ORV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9ORV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9ORV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9TUl9ORSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9ORV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTm9pc2UgRXJyb3IgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9TUl9PUkVfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9PUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9PUkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9TUl9PUkUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9PUkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlclJ1biBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9JRExFX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9JRExFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9JRExFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9JRExFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9JRExFX01zayAgICAgICAgICAgICAgICAgIC8qITwgSURMRSBsaW5lIGRldGVjdGVkICovDQojZGVmaW5lIFVTQVJUX1NSX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1JYTkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX1NSX1JYTkUgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZWFkIERhdGEgUmVnaXN0ZXIgTm90IEVtcHR5ICovDQojZGVmaW5lIFVTQVJUX1NSX1RDX1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1RDX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1RDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX1NSX1RDICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1RDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQ29tcGxldGUgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfVFhFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVFhFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IERhdGEgUmVnaXN0ZXIgRW1wdHkgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTEJEX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfTEJEX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfTEJEX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTEJEICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfTEJEX01zayAgICAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9TUl9DVFNfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9DVFNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9DVFNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9DVFMgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9DVFNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ1RTIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVSA8PCBVU0FSVF9EUl9EUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxRkYgKi8NCiNkZWZpbmUgVVNBUlRfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Nc2sgICAgICAgICAgKDB4RlUgPDwgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uICAgICAgICAgICAgICBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX01zayAgICAgICAgIC8qITwgRnJhY3Rpb24gb2YgVVNBUlRESVYgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Qb3MgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Nc2sgICAgICAgICAgKDB4RkZGVSA8PCBVU0FSVF9CUlJfRElWX01hbnRpc3NhX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTWFudGlzc2EgICAgICAgICAgICAgIFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfTXNrICAgICAgICAgLyohPCBNYW50aXNzYSBvZiBVU0FSVERJViAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjFfU0JLX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfU0JLX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfU0JLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfU0JLICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfU0JLX01zayAgICAgICAgICAgICAgICAgIC8qITwgU2VuZCBCcmVhayAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUldVX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUldVX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUldVX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUldVICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUldVX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgd2FrZXVwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0NSMV9SRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlciBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0dGVyIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfSURMRUlFX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfSURMRUlFX01zayAgICAgICAgICAgICAgIC8qITwgSURMRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUVfUG9zICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SWE5FSUVfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUUgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SWE5FSUVfTXNrICAgICAgICAgICAgICAgLyohPCBSWE5FIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RDSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUUgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RDSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBDb21wbGV0ZSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRV9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9UWEVJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QRUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICAgICAgLyohPCBQRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QUyAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgU2VsZWN0aW9uICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QQ0VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0UgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgQ29udHJvbCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1dBS0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IFdha2V1cCBtZXRob2QgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX01fUG9zICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX01fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX01fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX00gICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX01fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdvcmQgbGVuZ3RoICovDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9VRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9VRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBVU0FSVCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX09WRVI4X1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX09WRVI4X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX09WRVI4X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX09WRVI4ICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX09WRVI4X01zayAgICAgICAgICAgICAgICAvKiE8IFVTQVJUIE92ZXJzbWFwbGluZyA4LWJpdHMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FERF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0FERF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNBUlRfQ1IyX0FERF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FERCAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0FERF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3Mgb2YgdGhlIFVTQVJUIG5vZGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRExfUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRExfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCRExfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCREwgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCRExfTXNrICAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gTGVuZ3RoICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRV9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MQkRJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MQkRJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCQ0xfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0wgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgICAgICAvKiE8IExhc3QgQml0IENsb2NrIHB1bHNlICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DUEhBX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQaGFzZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ1BPTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NMS0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgICAgICAvKiE8IENsb2NrIEVuYWJsZSAqLw0KDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9TVE9QX01zayAgICAgICAgICAgICAgICAgLyohPCBTVE9QWzE6MF0gYml0cyAoU1RPUCBiaXRzKSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTl9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MSU5FTl9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTiAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MSU5FTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBMSU4gbW9kZSBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0VJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0VJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU5fUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0lSRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU4gICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0lSRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IElyREEgbW9kZSBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0lSTFBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0lSTFBfTXNrICAgICAgICAgICAgICAgICAvKiE8IElyREEgTG93LVBvd2VyICovDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTF9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19IRFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTCAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19IRFNFTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBIYWxmLUR1cGxleCBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0tfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0tfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX05BQ0tfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0sgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX05BQ0tfTXNrICAgICAgICAgICAgICAgICAvKiE8IFNtYXJ0Y2FyZCBOQUNLIGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTl9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfU0NFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfU0NFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgU21hcnRjYXJkIG1vZGUgZW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFJlY2VpdmVyICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFRyYW5zbWl0dGVyICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19SVFNFX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICAgICAgLyohPCBSVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNFX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICAgICAgLyohPCBDVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDVFMgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfT05FQklUX1BvcyAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfT05FQklUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfT05FQklUX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX09ORUJJVCAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX09ORUJJVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBPbmUgQml0IG1ldGhvZCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfR1RQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQyAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUFNDWzc6MF0gYml0cyAoUHJlc2NhbGVyIHZhbHVlKSAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18wICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18xICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18yICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18zICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ180ICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ181ICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ182ICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ183ICAgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFVTQVJUX0dUUFJfR1RfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0dUUFJfR1RfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBVU0FSVF9HVFBSX0dUX1BvcykgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfR1QgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0dUUFJfR1RfTXNrICAgICAgICAgICAgICAgICAgLyohPCBHdWFyZCB0aW1lIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWJ1ZyBNQ1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9JRENPREUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERCR01DVV9JRENPREVfREVWX0lEX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfREVWX0lEX01zayAgICAgICAgICAgLyohPCBEZXZpY2UgSWRlbnRpZmllciAqLw0KDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX1BvcyAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgICAgICAgICAgICgweEZGRkZVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweEZGRkYwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgICAgICAgICAgLyohPCBSRVZfSURbMTU6MF0gYml0cyAoUmV2aXNpb24gSWRlbnRpZmllcikgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMCAgICAgICAgICAgICAgKDB4MDAwMVUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMSAgICAgICAgICAgICAgKDB4MDAwMlUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMiAgICAgICAgICAgICAgKDB4MDAwNFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMyAgICAgICAgICAgICAgKDB4MDAwOFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNCAgICAgICAgICAgICAgKDB4MDAxMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNSAgICAgICAgICAgICAgKDB4MDAyMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNiAgICAgICAgICAgICAgKDB4MDA0MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNyAgICAgICAgICAgICAgKDB4MDA4MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOCAgICAgICAgICAgICAgKDB4MDEwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOSAgICAgICAgICAgICAgKDB4MDIwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTAgICAgICAgICAgICAgKDB4MDQwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTEgICAgICAgICAgICAgKDB4MDgwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTIgICAgICAgICAgICAgKDB4MTAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTMgICAgICAgICAgICAgKDB4MjAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTQgICAgICAgICAgICAgKDB4NDAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTUgICAgICAgICAgICAgKDB4ODAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TTEVFUF9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUCAgICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TTEVFUF9Nc2sgICAgICAgICAgICAvKiE8IERlYnVnIFNsZWVwIE1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX1BvcyAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TVE9QX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QICAgICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAvKiE8IERlYnVnIFN0b3AgTW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfTXNrICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TVEFOREJZX01zayAgICAgICAgICAvKiE8IERlYnVnIFN0YW5kYnkgbW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTiAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Nc2sgICAgICAgICAgIC8qITwgVHJhY2UgUGluIEFzc2lnbm1lbnQgQ29udHJvbCAqLw0KDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFX01zayAgICAgICAgICAgICgweDNVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFICAgICAgICAgICAgICAgIERCR01DVV9DUl9UUkFDRV9NT0RFX01zayAgICAgICAgICAgLyohPCBUUkFDRV9NT0RFWzE6MF0gYml0cyAoVHJhY2UgUGluIEFzc2lnbm1lbnQgQ29udHJvbCkgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfMCAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfMSAgICAgICAgICAgICAgKDB4MlUgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Qb3MgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgIC8qITwgRGVidWcgSW5kZXBlbmRlbnQgV2F0Y2hkb2cgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QX1BvcyAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfV1dER19TVE9QX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfV1dER19TVE9QX01zayAgICAgICAgLyohPCBEZWJ1ZyBXaW5kb3cgV2F0Y2hkb2cgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMV9TVE9QX1BvcyAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMV9TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMV9TVE9QX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMV9TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMV9TVE9QX01zayAgICAgICAgLyohPCBUSU0xIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX1BvcyAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMl9TVE9QX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX01zayAgICAgICAgLyohPCBUSU0yIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QX1BvcyAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNM19TVE9QX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNM19TVE9QX01zayAgICAgICAgLyohPCBUSU0zIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNNF9TVE9QX1BvcyAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNNF9TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNNF9TVE9QX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNNF9TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNNF9TVE9QX01zayAgICAgICAgLyohPCBUSU00IGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX1BvcyAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX01zayAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVCAgICBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Nc2sgLyohPCBTTUJVUyB0aW1lb3V0IG1vZGUgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX1BvcyAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX01zayAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX0kyQzJfU01CVVNfVElNRU9VVF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzJfU01CVVNfVElNRU9VVCAgICBEQkdNQ1VfQ1JfREJHX0kyQzJfU01CVVNfVElNRU9VVF9Nc2sgLyohPCBTTUJVUyB0aW1lb3V0IG1vZGUgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTVfU1RPUF9Qb3MgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTVfU1RPUF9Nc2sgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMTVfU1RPUF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTE1X1NUT1AgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTE1X1NUT1BfTXNrICAgICAgIC8qITwgRGVidWcgVElNMTUgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTZfU1RPUF9Qb3MgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTZfU1RPUF9Nc2sgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMTZfU1RPUF9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTE2X1NUT1AgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTE2X1NUT1BfTXNrICAgICAgIC8qITwgRGVidWcgVElNMTYgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTdfU1RPUF9Qb3MgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTdfU1RPUF9Nc2sgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMTdfU1RPUF9Qb3MpIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTE3X1NUT1AgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTE3X1NUT1BfTXNrICAgICAgIC8qITwgRGVidWcgVElNMTcgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgRkxBU0ggYW5kIE9wdGlvbiBCeXRlcyBSZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0hMRkNZQV9Qb3MgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX0hMRkNZQV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX0hMRkNZQV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0hMRkNZQSAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX0hMRkNZQV9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIEhhbGYgQ3ljbGUgQWNjZXNzIEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfS0VZUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9LRVlSX0ZLRVlSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9LRVlSX0ZLRVlSX01zayAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfS0VZUl9GS0VZUl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9LRVlSX0ZLRVlSICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVlSX0ZLRVlSX01zayAgICAgICAgICAgICAgIC8qITwgRlBFQyBLZXkgKi8NCg0KI2RlZmluZSBSRFBfS0VZX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSRFBfS0VZX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNVUgPDwgUkRQX0tFWV9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDBBNSAqLw0KI2RlZmluZSBSRFBfS0VZICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRFBfS0VZX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUkRQIEtleSAqLw0KI2RlZmluZSBGTEFTSF9LRVkxX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9LRVkxX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg0NTY3MDEyM1UgPDwgRkxBU0hfS0VZMV9Qb3MpICAgIC8qITwgMHg0NTY3MDEyMyAqLw0KI2RlZmluZSBGTEFTSF9LRVkxICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkxX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBFQyBLZXkxICovDQojZGVmaW5lIEZMQVNIX0tFWTJfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0tFWTJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweENERUY4OUFCVSA8PCBGTEFTSF9LRVkyX1BvcykgICAgLyohPCAweENERUY4OUFCICovDQojZGVmaW5lIEZMQVNIX0tFWTIgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBGUEVDIEtleTIgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfT1BUS0VZUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX01zayAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVIgICAgICAgICAgICAgICBGTEFTSF9PUFRLRVlSX09QVEtFWVJfTXNrICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5ICovDQoNCiNkZWZpbmUgIEZMQVNIX09QVEtFWTEgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTEgICAgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5MSAqLw0KI2RlZmluZSAgRkxBU0hfT1BUS0VZMiAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMiAgICAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBLZXkyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1NSX0JTWV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX0JTWV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX1NSX0JTWSAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBCdXN5ICovDQojZGVmaW5lIEZMQVNIX1NSX1BHRVJSX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1NSX1BHRVJSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX1BHRVJSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX1NSX1BHRVJSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX1BHRVJSX01zayAgICAgICAgICAgICAgICAgLyohPCBQcm9ncmFtbWluZyBFcnJvciAqLw0KI2RlZmluZSBGTEFTSF9TUl9XUlBSVEVSUl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9XUlBSVEVSUl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9XUlBSVEVSUl9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGTEFTSF9TUl9XUlBSVEVSUiAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9XUlBSVEVSUl9Nc2sgICAgICAgICAgICAgIC8qITwgV3JpdGUgUHJvdGVjdGlvbiBFcnJvciAqLw0KI2RlZmluZSBGTEFTSF9TUl9FT1BfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9FT1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9FT1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGTEFTSF9TUl9FT1AgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9FT1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRW5kIG9mIG9wZXJhdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9DUl9QR19Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9QR19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9QR19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9DUl9QRyAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9QR19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUHJvZ3JhbW1pbmcgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEVSX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfUEVSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfUEVSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEVSICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfUEVSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBhZ2UgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTUVSX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfTUVSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfTUVSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTUVSICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfTUVSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1hc3MgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUUEdfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfT1BUUEdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfT1BUUEdfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUUEcgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfT1BUUEdfTXNrICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIFByb2dyYW1taW5nICovDQojZGVmaW5lIEZMQVNIX0NSX09QVEVSX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVEVSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVEVSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVEVSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVEVSX01zayAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBFcmFzZSAqLw0KI2RlZmluZSBGTEFTSF9DUl9TVFJUX1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9TVFJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9TVFJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGTEFTSF9DUl9TVFJUICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9TVFJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTE9DS19Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IExvY2sgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUV1JFX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfT1BUV1JFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfT1BUV1JFX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT1BUV1JFICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfT1BUV1JFX01zayAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlcyBXcml0ZSBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRVJSSUVfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfRVJSSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRVJSSUUgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRU9QSUVfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfRU9QSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfRU9QSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfRU9QSUUgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfRU9QSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBvcGVyYXRpb24gaW50ZXJydXB0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0FSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9BUl9GQVJfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BUl9GQVJfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfQVJfRkFSX1BvcykgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9BUl9GQVIgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9BUl9GQVJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfT0JSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9PQlJfT1BURVJSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfT1BURVJSX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfT1BURVJSX1BvcykgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9PQlJfT1BURVJSICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfT1BURVJSX01zayAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX1JEUFJUX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX1JEUFJUX01zayAgICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiAqLw0KDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9JV0RHX1NXX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9JV0RHX1NXX01zayAgICAgICAgICAgICAgLyohPCBJV0RHIFNXICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1BfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1BfTXNrICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9uUlNUX1NUT1BfUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1AgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9uUlNUX1NUT1BfTXNrICAgICAgICAgICAgLyohPCBuUlNUX1NUT1AgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQllfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQllfTXNrICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX25SU1RfU1REQllfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQlkgICAgICAgICAgICAgICAgRkxBU0hfT0JSX25SU1RfU1REQllfTXNrICAgICAgICAgICAvKiE8IG5SU1RfU1REQlkgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVJfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgRkxBU0hfT0JSX1VTRVJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUMgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVIgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFVzZXIgT3B0aW9uIEJ5dGVzICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMF9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9PQlJfREFUQTBfUG9zKSAgICAgLyohPCAweDAwMDNGQzAwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMCAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9EQVRBMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEYXRhMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTFfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfT0JSX0RBVEExX1BvcykgICAgIC8qITwgMHgwM0ZDMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTEgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfREFUQTFfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YTEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlBfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlBfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX1dSUFJfV1JQX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUFJfV1JQX01zayAgICAgICAgICAgICAgICAgLyohPCBXcml0ZSBQcm90ZWN0ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9SRFAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1JEUF9SRFBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1JEUF9SRFBfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9SRFBfUkRQX1BvcykgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZMQVNIX1JEUF9SRFAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1JEUF9SRFBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfUkRQX25SRFBfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfUkRQX25SRFBfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1JEUF9uUkRQX1BvcykgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfUkRQX25SRFAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfUkRQX25SRFBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1VTRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfVVNFUl9VU0VSX1BvcyAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfVVNFUl9VU0VSX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1VTRVJfVVNFUl9Qb3MpICAgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfVVNFUl9VU0VSICAgICAgICAgICAgICAgICAgICAgRkxBU0hfVVNFUl9VU0VSX01zayAgICAgICAgICAgICAgICAvKiE8IFVzZXIgb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfVVNFUl9uVVNFUl9Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfVVNFUl9uVVNFUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1VTRVJfblVTRVJfUG9zKSAgICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfVVNFUl9uVVNFUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfVVNFUl9uVVNFUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFVzZXIgY29tcGxlbWVudGVkIG9wdGlvbiBieXRlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9EYXRhMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0RBVEEwX0RBVEEwX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0RBVEEwX0RBVEEwX01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9EQVRBMF9EQVRBMF9Qb3MpICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZMQVNIX0RBVEEwX0RBVEEwICAgICAgICAgICAgICAgICAgIEZMQVNIX0RBVEEwX0RBVEEwX01zayAgICAgICAgICAgICAgLyohPCBVc2VyIGRhdGEgc3RvcmFnZSBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9uREFUQTBfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMF9uREFUQTBfTXNrICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTBfbkRBVEEwX1BvcykgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9uREFUQTAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMF9uREFUQTBfTXNrICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2UgY29tcGxlbWVudGVkIG9wdGlvbiBieXRlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9EYXRhMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0RBVEExX0RBVEExX1BvcyAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0RBVEExX0RBVEExX01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9EQVRBMV9EQVRBMV9Qb3MpICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX0RBVEExX0RBVEExICAgICAgICAgICAgICAgICAgIEZMQVNIX0RBVEExX0RBVEExX01zayAgICAgICAgICAgICAgLyohPCBVc2VyIGRhdGEgc3RvcmFnZSBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9uREFUQTFfUG9zICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMV9uREFUQTFfTXNrICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTFfbkRBVEExX1BvcykgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9uREFUQTEgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMV9uREFUQTFfTXNrICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2UgY29tcGxlbWVudGVkIG9wdGlvbiBieXRlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlAwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUDBfV1JQMF9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDBfV1JQMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAwX1dSUDBfUG9zKSAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZMQVNIX1dSUDBfV1JQMCAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDBfV1JQMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMF9uV1JQMF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMF9uV1JQMF9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDBfbldSUDBfUG9zKSAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMF9uV1JQMCAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMF9uV1JQMF9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUDEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQMV9XUlAxX1BvcyAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMV9XUlAxX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDFfV1JQMV9Qb3MpICAgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMV9XUlAxICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMV9XUlAxX01zayAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBGTEFTSF9XUlAxX25XUlAxX1BvcyAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAxX25XUlAxX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMV9uV1JQMV9Qb3MpICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAxX25XUlAxICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAxX25XUlAxX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAyX1dSUDJfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAyX1dSUDJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMl9XUlAyX1BvcykgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlAyX1dSUDIgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAyX1dSUDJfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDJfbldSUDJfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDJfbldSUDJfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAyX25XUlAyX1BvcykgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1dSUDJfbldSUDIgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDJfbldSUDJfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlAzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUDNfV1JQM19Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDNfV1JQM19Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAzX1dSUDNfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX1dSUDNfV1JQMyAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDNfV1JQM19Nc2sgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfV1JQM19uV1JQM19Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQM19uV1JQM19Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDNfbldSUDNfUG9zKSAgICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQM19uV1JQMyAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQM19uV1JQM19Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZXMgKi8NCg0KDQoNCi8qKg0KICAqIEB9DQoqLw0KDQovKioNCiAgKiBAfQ0KKi8gDQoNCi8qKiBAYWRkdG9ncm91cCBFeHBvcnRlZF9tYWNybw0KICAqIEB7DQogICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQURDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0FEQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBBREMxKSkNCg0KI2RlZmluZSBJU19BRENfQ09NTU9OX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBBREMxX0NPTU1PTikNCg0KI2RlZmluZSBJU19BRENfRE1BX0NBUEFCSUxJVFlfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEFEQzEpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ0VDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0NFQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IENFQykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDUkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfQ1JDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQ1JDKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERBQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19EQUNfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBEQUMxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERNQSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19ETUFfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNCkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNykpDQogIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBHUElPQSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9CKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0MpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPRCkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9FKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gSW5zdGFuY2VzICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BRl9JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gTG9jayBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBJMkMxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBJMkMyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU01CVVMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfU01CVVNfQUxMX0lOU1RBTkNFICAgICAgICAgSVNfSTJDX0FMTF9JTlNUQU5DRQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19JV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IElXREcpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTUEkgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NQSV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBTUEkxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTVEFSVCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVElNIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1RJTV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU02KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU03KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNSkgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNykpDQoNCiNkZWZpbmUgSVNfVElNX0FEVkFOQ0VEX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBUSU0xKQ0KDQojZGVmaW5lIElTX1RJTV9DQzFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzNfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQoNCiNkZWZpbmUgSVNfVElNX0NDNF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfRVRSTU9ERTFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0VUUk1PREUyX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9USVhfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9JVFJYX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE1KSkNCg0KI2RlZmluZSBJU19USU1fT0NYUkVGX0NMRUFSX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9FTkNPREVSX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fWE9SX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9NQVNURVJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpKQ0KDQojZGVmaW5lIElTX1RJTV9TTEFWRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNSkpDQoNCiNkZWZpbmUgSVNfVElNX0RNQUJVUlNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE1KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCg0KI2RlZmluZSBJU19USU1fQlJFQUtfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hfSU5TVEFOQ0UoSU5TVEFOQ0UsIENIQU5ORUwpIFwNCiAgICgoKChJTlNUQU5DRSkgPT0gVElNMSkgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0yKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0zKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU00KSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xNSkgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE2KSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTE3KSAmJiAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkpKSkNCg0KI2RlZmluZSBJU19USU1fQ0NYTl9JTlNUQU5DRShJTlNUQU5DRSwgQ0hBTk5FTCkgXA0KICAgKCgoKElOU1RBTkNFKSA9PSBUSU0xKSAmJiAgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8yKSB8fCAgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSkpICAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xNSkgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSkgICAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xNikgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpKSAgICAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xNykgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpKSkNCg0KI2RlZmluZSBJU19USU1fQ09VTlRFUl9NT0RFX1NFTEVDVF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fUkVQRVRJVElPTl9DT1VOVEVSX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE1KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tfRElWSVNJT05fSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTUpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KICAgIA0KI2RlZmluZSBJU19USU1fRE1BX0NDX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE1KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCiAgICANCiNkZWZpbmUgSVNfVElNX0NPTU1VVEFUSU9OX0VWRU5UX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE1KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCg0KI2RlZmluZSBJU19USU1fRVRSX0lOU1RBTkNFKElOU1RBTkNFKSAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpKQ0KDQojZGVmaW5lIElTX1RJTV9IQUxMX1NFTlNPUl9JTlRFUkZBQ0VfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSkNCg0KI2RlZmluZSBJU19USU1fMzJCX0NPVU5URVJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgICAgICAgICAwVQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVORCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVU0FSVCBJbnN0YW5jZXMgOiBTeW5jaHJvbm91cyBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VU0FSVF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEFzeW5jaHJvbm91cyBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFsZi1EdXBsZXggbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0hBTEZEVVBMRVhfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IExJTiBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfTElOX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEhhcmR3YXJlIEZsb3cgY29udHJvbCAqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVNfVUFSVF9IV0ZMT1dfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogU21hcmQgY2FyZCBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TTUFSVENBUkRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IElSREEgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0lSREFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogTXVsdGktUHJvY2Vzc29yIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9NVUxUSVBST0NFU1NPUl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBETUEgbW9kZSBhdmFpbGFibGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJUQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19SVENfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKChJTlNUQU5DRSkgPT0gUlRDKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBXV0RHIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfV1dER19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKElOU1RBTkNFKSA9PSBXV0RHKQ0KDQoNCg0KDQojZGVmaW5lIFJDQ19IU0VfTUlOICAgICAgICAgNDAwMDAwMFUNCiNkZWZpbmUgUkNDX0hTRV9NQVggICAgICAgIDI2MDAwMDAwVQ0KDQojZGVmaW5lIFJDQ19NQVhfRlJFUVVFTkNZICAyNDAwMDAwMFUNCg0KLyoqDQogICogQH0NCiAgKi8gDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogIEZvciBhIHBhaW5sZXNzIGNvZGVzIG1pZ3JhdGlvbiBiZXR3ZWVuIHRoZSBTVE0zMkYxeHggZGV2aWNlIHByb2R1Y3QgICAgICAgKi8NCi8qICBsaW5lcywgdGhlIGFsaWFzZXMgZGVmaW5lZCBiZWxvdyBhcmUgcHV0IGluIHBsYWNlIHRvIG92ZXJjb21lIHRoZSAgICAgICAgICovDQovKiAgZGlmZmVyZW5jZXMgaW4gdGhlIGludGVycnVwdCBoYW5kbGVycyBhbmQgSVJRbiBkZWZpbml0aW9ucy4gICAgICAgICAgICAgICAqLw0KLyogIE5vIG5lZWQgdG8gdXBkYXRlIGRldmVsb3BlZCBpbnRlcnJ1cHQgY29kZSB3aGVuIG1vdmluZyBhY3Jvc3MgICAgICAgICAgICAgKi8gDQovKiAgcHJvZHVjdCBsaW5lcyB3aXRoaW4gdGhlIHNhbWUgU1RNMzJGMSBGYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyogQWxpYXNlcyBmb3IgX19JUlFuICovDQojZGVmaW5lIEFEQzFfMl9JUlFuICAgICAgICAgICAgIEFEQzFfSVJRbg0KI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFuICAgICAgICBDRUNfSVJRbg0KI2RlZmluZSBVU0JXYWtlVXBfSVJRbiAgICAgICAgICBDRUNfSVJRbg0KI2RlZmluZSBUSU05X0lSUW4gICAgICAgICAgICAgICBUSU0xX0JSS19USU0xNV9JUlFuDQojZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRbiAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUW4NCiNkZWZpbmUgVElNMV9CUktfSVJRbiAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRbg0KI2RlZmluZSBUSU0xX1RSR19DT01fSVJRbiAgICAgICBUSU0xX1RSR19DT01fVElNMTdfSVJRbg0KI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRbiBUSU0xX1RSR19DT01fVElNMTdfSVJRbg0KI2RlZmluZSBUSU0xMV9JUlFuICAgICAgICAgICAgICBUSU0xX1RSR19DT01fVElNMTdfSVJRbg0KI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUW4gICAgICBUSU0xX1VQX1RJTTE2X0lSUW4NCiNkZWZpbmUgVElNMTBfSVJRbiAgICAgICAgICAgICAgVElNMV9VUF9USU0xNl9JUlFuDQojZGVmaW5lIFRJTTFfVVBfSVJRbiAgICAgICAgICAgIFRJTTFfVVBfVElNMTZfSVJRbg0KI2RlZmluZSBUSU02X0lSUW4gICAgICAgICAgICAgICBUSU02X0RBQ19JUlFuDQoNCg0KLyogQWxpYXNlcyBmb3IgX19JUlFIYW5kbGVyICovDQojZGVmaW5lIEFEQzFfMl9JUlFIYW5kbGVyICAgICAgICAgICAgIEFEQzFfSVJRSGFuZGxlcg0KI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFIYW5kbGVyICAgICAgICBDRUNfSVJRSGFuZGxlcg0KI2RlZmluZSBVU0JXYWtlVXBfSVJRSGFuZGxlciAgICAgICAgICBDRUNfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU05X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU0xX0JSS19USU0xNV9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRSGFuZGxlciAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUUhhbmRsZXINCiNkZWZpbmUgVElNMV9CUktfSVJRSGFuZGxlciAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX1RSR19DT01fSVJRSGFuZGxlciAgICAgICBUSU0xX1RSR19DT01fVElNMTdfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRSGFuZGxlciBUSU0xX1RSR19DT01fVElNMTdfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xMV9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1RSR19DT01fVElNMTdfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUUhhbmRsZXIgICAgICBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXINCiNkZWZpbmUgVElNMTBfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTFfVVBfSVJRSGFuZGxlciAgICAgICAgICAgIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlcg0KI2RlZmluZSBUSU02X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU02X0RBQ19JUlFIYW5kbGVyDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KDQojaWZkZWYgX19jcGx1c3BsdXMNCiAgfQ0KI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovDQogIA0KI2VuZGlmIC8qIF9fU1RNMzJGMTAweEJfSCAqLw0KICANCiAgDQogIA0KICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLw0K