LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjEwMXhlLmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEB2ZXJzaW9uIFY0LjIuMA0KICAqIEBkYXRlICAgIDMxLU1hcmNoLTIwMTcNCiAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlLiANCiAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHRoZSBwZXJpcGhlcmFsIHJlZ2lzdGVyJ3MgZGVmaW5pdGlvbnMsIGJpdHMgDQogICogICAgICAgICAgZGVmaW5pdGlvbnMgYW5kIG1lbW9yeSBtYXBwaW5nIGZvciBTVE0zMkYxeHggZGV2aWNlcy4gICAgICAgICAgICANCiAgKiAgICAgICAgICAgIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoNCiAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscw0KICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24NCiAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUNCiAgKiAgDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBhdHRlbnRpb24NCiAgKg0KICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPg0KICAqDQogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCiAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQogICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbg0KICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQogICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMNCiAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQ0KICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQogICoNCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQoNCi8qKiBAYWRkdG9ncm91cCBDTVNJUw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBzdG0zMmYxMDF4ZQ0KICAqIEB7DQogICovDQogICAgDQojaWZuZGVmIF9fU1RNMzJGMTAxeEVfSA0KI2RlZmluZSBfX1NUTTMyRjEwMXhFX0gNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogZXh0ZXJuICJDIiB7DQojZW5kaWYgDQoNCi8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTMgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzIA0KICovDQojZGVmaW5lIF9fQ00zX1JFViAgICAgICAgICAgICAgICAgIDB4MDIwMFUgIC8qITwgQ29yZSBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUgICAgICAgLyohPCBPdGhlciBTVE0zMiBkZXZpY2VzIGRvZXMgbm90IHByb3ZpZGUgYW4gTVBVICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgICA0VSAgICAgICAvKiE8IFNUTTMyIHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgIDBVICAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfaW50ZXJydXB0X251bWJlcl9kZWZpbml0aW9uDQogICogQHsNCiAgKi8NCg0KLyoqDQogKiBAYnJpZWYgU1RNMzJGMTB4IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiwgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBkZXZpY2UgDQogKiAgICAgICAgaW4gQHJlZiBMaWJyYXJ5X2NvbmZpZ3VyYXRpb25fc2VjdGlvbiANCiAqLw0KDQogLyohPCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24gKi8NCnR5cGVkZWYgZW51bQ0Kew0KLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgPSAtMTMsICAgIC8qITwgMyBDb3J0ZXgtTTMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAqLw0KICBNZW1vcnlNYW5hZ2VtZW50X0lSUW4gICAgICAgPSAtMTIsICAgIC8qITwgNCBDb3J0ZXgtTTMgTWVtb3J5IE1hbmFnZW1lbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAqLw0KICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgPSAtMTAsICAgIC8qITwgNiBDb3J0ZXgtTTMgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAqLw0KICBTVkNhbGxfSVJRbiAgICAgICAgICAgICAgICAgPSAtNSwgICAgIC8qITwgMTEgQ29ydGV4LU0zIFNWIENhbGwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0zIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTeXNUaWNrX0lSUW4gICAgICAgICAgICAgICAgPSAtMSwgICAgIC8qITwgMTUgQ29ydGV4LU0zIFN5c3RlbSBUaWNrIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLw0KDQovKioqKioqICBTVE0zMiBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICovDQogIFRBTVBFUl9JUlFuICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgLyohPCBSVEMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJDQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBSQ0MgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgLyohPCBFWFRJIExpbmUwIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkyX0lSUW4gICAgICAgICAgICAgICAgICA9IDgsICAgICAgLyohPCBFWFRJIExpbmUyIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDksICAgICAgLyohPCBFWFRJIExpbmUzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDExLCAgICAgLyohPCBETUExIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDEyLCAgICAgLyohPCBETUExIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDE0LCAgICAgLyohPCBETUExIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDE1LCAgICAgLyohPCBETUExIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDZfSVJRbiAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIENoYW5uZWwgNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDdfSVJRbiAgICAgICAgICA9IDE3LCAgICAgLyohPCBETUExIENoYW5uZWwgNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyohPCBBREMxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk5XzVfSVJRbiAgICAgICAgICAgICAgICA9IDIzLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzk6NV0gSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyohPCBUSU0yIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI5LCAgICAgLyohPCBUSU0zIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTRfSVJRbiAgICAgICAgICAgICAgICAgICA9IDMwLCAgICAgLyohPCBUSU00IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMxLCAgICAgLyohPCBJMkMxIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzFfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDMyLCAgICAgLyohPCBJMkMxIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMzLCAgICAgLyohPCBJMkMyIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEkyQzJfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDM0LCAgICAgLyohPCBJMkMyIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyohPCBTUEkxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM2LCAgICAgLyohPCBTUEkyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMV9JUlFuICAgICAgICAgICAgICAgICA9IDM3LCAgICAgLyohPCBVU0FSVDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMl9JUlFuICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyohPCBVU0FSVDIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUM19JUlFuICAgICAgICAgICAgICAgICA9IDM5LCAgICAgLyohPCBVU0FSVDMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxNV8xMF9JUlFuICAgICAgICAgICAgICA9IDQwLCAgICAgLyohPCBFeHRlcm5hbCBMaW5lWzE1OjEwXSBJbnRlcnJ1cHRzICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19BbGFybV9JUlFuICAgICAgICAgICAgICA9IDQxLCAgICAgLyohPCBSVEMgQWxhcm0gdGhyb3VnaCBFWFRJIExpbmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICovDQogIEZTTUNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDQ4LCAgICAgLyohPCBGU01DIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTVfSVJRbiAgICAgICAgICAgICAgICAgICA9IDUwLCAgICAgLyohPCBUSU01IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFNQSTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDUxLCAgICAgLyohPCBTUEkzIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVBUlQ0X0lSUW4gICAgICAgICAgICAgICAgICA9IDUyLCAgICAgLyohPCBVQVJUNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVBUlQ1X0lSUW4gICAgICAgICAgICAgICAgICA9IDUzLCAgICAgLyohPCBVQVJUNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTZfSVJRbiAgICAgICAgICAgICAgICAgICA9IDU0LCAgICAgLyohPCBUSU02IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDU1LCAgICAgLyohPCBUSU03IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDU2LCAgICAgLyohPCBETUEyIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDU3LCAgICAgLyohPCBETUEyIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDU4LCAgICAgLyohPCBETUEyIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTJfQ2hhbm5lbDRfNV9JUlFuICAgICAgICA9IDU5LCAgICAgLyohPCBETUEyIENoYW5uZWwgNCBhbmQgQ2hhbm5lbCA1IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICovDQp9IElSUW5fVHlwZTsNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KI2luY2x1ZGUgImNvcmVfY20zLmgiDQojaW5jbHVkZSAic3lzdGVtX3N0bTMyZjF4eC5oIg0KI2luY2x1ZGUgPHN0ZGludC5oPg0KDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9yZWdpc3RlcnNfc3RydWN0dXJlcw0KICAqIEB7DQogICovICAgDQoNCi8qKiANCiAgKiBAYnJpZWYgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsNCiAgX19JTyB1aW50MzJfdCBDUjE7DQogIF9fSU8gdWludDMyX3QgQ1IyOw0KICBfX0lPIHVpbnQzMl90IFNNUFIxOw0KICBfX0lPIHVpbnQzMl90IFNNUFIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIxOw0KICBfX0lPIHVpbnQzMl90IEpPRlIyOw0KICBfX0lPIHVpbnQzMl90IEpPRlIzOw0KICBfX0lPIHVpbnQzMl90IEpPRlI0Ow0KICBfX0lPIHVpbnQzMl90IEhUUjsNCiAgX19JTyB1aW50MzJfdCBMVFI7DQogIF9fSU8gdWludDMyX3QgU1FSMTsNCiAgX19JTyB1aW50MzJfdCBTUVIyOw0KICBfX0lPIHVpbnQzMl90IFNRUjM7DQogIF9fSU8gdWludDMyX3QgSlNRUjsNCiAgX19JTyB1aW50MzJfdCBKRFIxOw0KICBfX0lPIHVpbnQzMl90IEpEUjI7DQogIF9fSU8gdWludDMyX3QgSkRSMzsNCiAgX19JTyB1aW50MzJfdCBKRFI0Ow0KICBfX0lPIHVpbnQzMl90IERSOw0KfSBBRENfVHlwZURlZjsNCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBzdGF0dXMgcmVnaXN0ZXIsICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyAgICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAxLCB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDA0ICAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMiwgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHgwOCAgKi8NCiAgdWludDMyX3QgIFJFU0VSVkVEWzE2XTsNCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIHJlZ2lzdGVyLCAgICAgIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4NEMgICovDQp9IEFEQ19Db21tb25fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBCYWNrdXAgUmVnaXN0ZXJzICANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgdWludDMyX3QgIFJFU0VSVkVEMDsNCiAgX19JTyB1aW50MzJfdCBEUjE7DQogIF9fSU8gdWludDMyX3QgRFIyOw0KICBfX0lPIHVpbnQzMl90IERSMzsNCiAgX19JTyB1aW50MzJfdCBEUjQ7DQogIF9fSU8gdWludDMyX3QgRFI1Ow0KICBfX0lPIHVpbnQzMl90IERSNjsNCiAgX19JTyB1aW50MzJfdCBEUjc7DQogIF9fSU8gdWludDMyX3QgRFI4Ow0KICBfX0lPIHVpbnQzMl90IERSOTsNCiAgX19JTyB1aW50MzJfdCBEUjEwOw0KICBfX0lPIHVpbnQzMl90IFJUQ0NSOw0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCiAgdWludDMyX3QgIFJFU0VSVkVEMTNbMl07DQogIF9fSU8gdWludDMyX3QgRFIxMTsNCiAgX19JTyB1aW50MzJfdCBEUjEyOw0KICBfX0lPIHVpbnQzMl90IERSMTM7DQogIF9fSU8gdWludDMyX3QgRFIxNDsNCiAgX19JTyB1aW50MzJfdCBEUjE1Ow0KICBfX0lPIHVpbnQzMl90IERSMTY7DQogIF9fSU8gdWludDMyX3QgRFIxNzsNCiAgX19JTyB1aW50MzJfdCBEUjE4Ow0KICBfX0lPIHVpbnQzMl90IERSMTk7DQogIF9fSU8gdWludDMyX3QgRFIyMDsNCiAgX19JTyB1aW50MzJfdCBEUjIxOw0KICBfX0lPIHVpbnQzMl90IERSMjI7DQogIF9fSU8gdWludDMyX3QgRFIyMzsNCiAgX19JTyB1aW50MzJfdCBEUjI0Ow0KICBfX0lPIHVpbnQzMl90IERSMjU7DQogIF9fSU8gdWludDMyX3QgRFIyNjsNCiAgX19JTyB1aW50MzJfdCBEUjI3Ow0KICBfX0lPIHVpbnQzMl90IERSMjg7DQogIF9fSU8gdWludDMyX3QgRFIyOTsNCiAgX19JTyB1aW50MzJfdCBEUjMwOw0KICBfX0lPIHVpbnQzMl90IERSMzE7DQogIF9fSU8gdWludDMyX3QgRFIzMjsNCiAgX19JTyB1aW50MzJfdCBEUjMzOw0KICBfX0lPIHVpbnQzMl90IERSMzQ7DQogIF9fSU8gdWludDMyX3QgRFIzNTsNCiAgX19JTyB1aW50MzJfdCBEUjM2Ow0KICBfX0lPIHVpbnQzMl90IERSMzc7DQogIF9fSU8gdWludDMyX3QgRFIzODsNCiAgX19JTyB1aW50MzJfdCBEUjM5Ow0KICBfX0lPIHVpbnQzMl90IERSNDA7DQogIF9fSU8gdWludDMyX3QgRFI0MTsNCiAgX19JTyB1aW50MzJfdCBEUjQyOw0KfSBCS1BfVHlwZURlZjsNCiAgDQoNCi8qKiANCiAgKiBAYnJpZWYgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgRFI7ICAgICAgICAgICAvKiE8IENSQyBEYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDhfdCAgSURSOyAgICAgICAgICAvKiE8IENSQyBJbmRlcGVuZGVudCBkYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIHVpbnQ4X3QgICAgICAgUkVTRVJWRUQwOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA1ICovDQogIHVpbnQxNl90ICAgICAgUkVTRVJWRUQxOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA2ICovICANCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgIC8qITwgQ1JDIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8gDQp9IENSQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIERpZ2l0YWwgdG8gQW5hbG9nIENvbnZlcnRlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IFNXVFJJR1I7DQogIF9fSU8gdWludDMyX3QgREhSMTJSMTsNCiAgX19JTyB1aW50MzJfdCBESFIxMkwxOw0KICBfX0lPIHVpbnQzMl90IERIUjhSMTsNCiAgX19JTyB1aW50MzJfdCBESFIxMlIyOw0KICBfX0lPIHVpbnQzMl90IERIUjEyTDI7DQogIF9fSU8gdWludDMyX3QgREhSOFIyOw0KICBfX0lPIHVpbnQzMl90IERIUjEyUkQ7DQogIF9fSU8gdWludDMyX3QgREhSMTJMRDsNCiAgX19JTyB1aW50MzJfdCBESFI4UkQ7DQogIF9fSU8gdWludDMyX3QgRE9SMTsNCiAgX19JTyB1aW50MzJfdCBET1IyOw0KfSBEQUNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBEZWJ1ZyBNQ1UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJRENPREU7DQogIF9fSU8gdWludDMyX3QgQ1I7DQp9REJHTUNVX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRE1BIENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgQ05EVFI7DQogIF9fSU8gdWludDMyX3QgQ1BBUjsNCiAgX19JTyB1aW50MzJfdCBDTUFSOw0KfSBETUFfQ2hhbm5lbF9UeXBlRGVmOw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElTUjsNCiAgX19JTyB1aW50MzJfdCBJRkNSOw0KfSBETUFfVHlwZURlZjsNCg0KDQoNCi8qKiANCiAgKiBAYnJpZWYgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJTVI7DQogIF9fSU8gdWludDMyX3QgRU1SOw0KICBfX0lPIHVpbnQzMl90IFJUU1I7DQogIF9fSU8gdWludDMyX3QgRlRTUjsNCiAgX19JTyB1aW50MzJfdCBTV0lFUjsNCiAgX19JTyB1aW50MzJfdCBQUjsNCn0gRVhUSV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEZMQVNIIFJlZ2lzdGVycw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEFDUjsNCiAgX19JTyB1aW50MzJfdCBLRVlSOw0KICBfX0lPIHVpbnQzMl90IE9QVEtFWVI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQVI7DQogIF9fSU8gdWludDMyX3QgUkVTRVJWRUQ7DQogIF9fSU8gdWludDMyX3QgT0JSOw0KICBfX0lPIHVpbnQzMl90IFdSUFI7DQp9IEZMQVNIX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgT3B0aW9uIEJ5dGVzIFJlZ2lzdGVycw0KICAqLw0KICANCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDE2X3QgUkRQOw0KICBfX0lPIHVpbnQxNl90IFVTRVI7DQogIF9fSU8gdWludDE2X3QgRGF0YTA7DQogIF9fSU8gdWludDE2X3QgRGF0YTE7DQogIF9fSU8gdWludDE2X3QgV1JQMDsNCiAgX19JTyB1aW50MTZfdCBXUlAxOw0KICBfX0lPIHVpbnQxNl90IFdSUDI7DQogIF9fSU8gdWludDE2X3QgV1JQMzsNCn0gT0JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBCVENSWzhdOyAgIA0KfSBGU01DX0JhbmsxX1R5cGVEZWY7IA0KDQovKiogDQogICogQGJyaWVmIEZsZXhpYmxlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciBCYW5rMUUNCiAgKi8NCiAgDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEJXVFJbN107DQp9IEZTTUNfQmFuazFFX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRmxleGlibGUgU3RhdGljIE1lbW9yeSBDb250cm9sbGVyIEJhbmsyDQogICovDQogIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBQQ1IyOyAgICAgICAvKiE8IE5BTkQgRmxhc2ggY29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NjAgKi8NCiAgX19JTyB1aW50MzJfdCBTUjI7ICAgICAgICAvKiE8IE5BTkQgRmxhc2ggRklGTyBzdGF0dXMgYW5kIGludGVycnVwdCByZWdpc3RlciAyLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NjQgKi8NCiAgX19JTyB1aW50MzJfdCBQTUVNMjsgICAgICAvKiE8IE5BTkQgRmxhc2ggQ29tbW9uIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMiwgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NjggKi8NCiAgX19JTyB1aW50MzJfdCBQQVRUMjsgICAgICAvKiE8IE5BTkQgRmxhc2ggQXR0cmlidXRlIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMiwgQWRkcmVzcyBvZmZzZXQ6IDB4NkMgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDA7ICAvKiE8IFJlc2VydmVkLCAweDcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBFQ0NSMjsgICAgICAvKiE8IE5BTkQgRmxhc2ggRUNDIHJlc3VsdCByZWdpc3RlcnMgMiwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NzQgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDE7ICAvKiE8IFJlc2VydmVkLCAweDc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDI7ICAvKiE8IFJlc2VydmVkLCAweDdDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBQQ1IzOyAgICAgICAvKiE8IE5BTkQgRmxhc2ggY29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODAgKi8NCiAgX19JTyB1aW50MzJfdCBTUjM7ICAgICAgICAvKiE8IE5BTkQgRmxhc2ggRklGTyBzdGF0dXMgYW5kIGludGVycnVwdCByZWdpc3RlciAzLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODQgKi8NCiAgX19JTyB1aW50MzJfdCBQTUVNMzsgICAgICAvKiE8IE5BTkQgRmxhc2ggQ29tbW9uIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMywgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODggKi8NCiAgX19JTyB1aW50MzJfdCBQQVRUMzsgICAgICAvKiE8IE5BTkQgRmxhc2ggQXR0cmlidXRlIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgMywgQWRkcmVzcyBvZmZzZXQ6IDB4OEMgKi8NCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDM7ICAvKiE8IFJlc2VydmVkLCAweDkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBFQ0NSMzsgICAgICAvKiE8IE5BTkQgRmxhc2ggRUNDIHJlc3VsdCByZWdpc3RlcnMgMywgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4OTQgKi8NCn0gRlNNQ19CYW5rMl8zX1R5cGVEZWY7ICANCg0KLyoqIA0KICAqIEBicmllZiBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIgQmFuazQNCiAgKi8NCiAgDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFBDUjQ7DQogIF9fSU8gdWludDMyX3QgU1I0Ow0KICBfX0lPIHVpbnQzMl90IFBNRU00Ow0KICBfX0lPIHVpbnQzMl90IFBBVFQ0Ow0KICBfX0lPIHVpbnQzMl90IFBJTzQ7IA0KfSBGU01DX0Jhbms0X1R5cGVEZWY7IA0KDQovKiogDQogICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkw7DQogIF9fSU8gdWludDMyX3QgQ1JIOw0KICBfX0lPIHVpbnQzMl90IElEUjsNCiAgX19JTyB1aW50MzJfdCBPRFI7DQogIF9fSU8gdWludDMyX3QgQlNSUjsNCiAgX19JTyB1aW50MzJfdCBCUlI7DQogIF9fSU8gdWludDMyX3QgTENLUjsNCn0gR1BJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEFsdGVybmF0ZSBGdW5jdGlvbiBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBFVkNSOw0KICBfX0lPIHVpbnQzMl90IE1BUFI7DQogIF9fSU8gdWludDMyX3QgRVhUSUNSWzRdOw0KICB1aW50MzJfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDMyX3QgTUFQUjI7ICANCn0gQUZJT19UeXBlRGVmOw0KLyoqIA0KICAqIEBicmllZiBJbnRlciBJbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOw0KICBfX0lPIHVpbnQzMl90IENSMjsNCiAgX19JTyB1aW50MzJfdCBPQVIxOw0KICBfX0lPIHVpbnQzMl90IE9BUjI7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgU1IxOw0KICBfX0lPIHVpbnQzMl90IFNSMjsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgVFJJU0U7DQp9IEkyQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEluZGVwZW5kZW50IFdBVENIRE9HDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgS1I7ICAgICAgICAgICAvKiE8IEtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgUFI7ICAgICAgICAgICAvKiE8IFByZXNjYWxlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgUkxSOyAgICAgICAgICAvKiE8IFJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQp9IElXREdfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBQb3dlciBDb250cm9sDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KfSBQV1JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENGR1I7DQogIF9fSU8gdWludDMyX3QgQ0lSOw0KICBfX0lPIHVpbnQzMl90IEFQQjJSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFQQjFSU1RSOw0KICBfX0lPIHVpbnQzMl90IEFIQkVOUjsNCiAgX19JTyB1aW50MzJfdCBBUEIyRU5SOw0KICBfX0lPIHVpbnQzMl90IEFQQjFFTlI7DQogIF9fSU8gdWludDMyX3QgQkRDUjsNCiAgX19JTyB1aW50MzJfdCBDU1I7DQoNCg0KfSBSQ0NfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZWFsLVRpbWUgQ2xvY2sNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUkg7DQogIF9fSU8gdWludDMyX3QgQ1JMOw0KICBfX0lPIHVpbnQzMl90IFBSTEg7DQogIF9fSU8gdWludDMyX3QgUFJMTDsNCiAgX19JTyB1aW50MzJfdCBESVZIOw0KICBfX0lPIHVpbnQzMl90IERJVkw7DQogIF9fSU8gdWludDMyX3QgQ05USDsNCiAgX19JTyB1aW50MzJfdCBDTlRMOw0KICBfX0lPIHVpbnQzMl90IEFMUkg7DQogIF9fSU8gdWludDMyX3QgQUxSTDsNCn0gUlRDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgU0QgaG9zdCBJbnRlcmZhY2UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBQT1dFUjsNCiAgX19JTyB1aW50MzJfdCBDTEtDUjsNCiAgX19JTyB1aW50MzJfdCBBUkc7DQogIF9fSU8gdWludDMyX3QgQ01EOw0KICBfX0kgdWludDMyX3QgUkVTUENNRDsNCiAgX19JIHVpbnQzMl90IFJFU1AxOw0KICBfX0kgdWludDMyX3QgUkVTUDI7DQogIF9fSSB1aW50MzJfdCBSRVNQMzsNCiAgX19JIHVpbnQzMl90IFJFU1A0Ow0KICBfX0lPIHVpbnQzMl90IERUSU1FUjsNCiAgX19JTyB1aW50MzJfdCBETEVOOw0KICBfX0lPIHVpbnQzMl90IERDVFJMOw0KICBfX0kgdWludDMyX3QgRENPVU5UOw0KICBfX0kgdWludDMyX3QgU1RBOw0KICBfX0lPIHVpbnQzMl90IElDUjsNCiAgX19JTyB1aW50MzJfdCBNQVNLOw0KICB1aW50MzJfdCAgUkVTRVJWRUQwWzJdOw0KICBfX0kgdWludDMyX3QgRklGT0NOVDsNCiAgdWludDMyX3QgIFJFU0VSVkVEMVsxM107DQogIF9fSU8gdWludDMyX3QgRklGTzsNCn0gU0RJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgRFI7DQogIF9fSU8gdWludDMyX3QgQ1JDUFI7DQogIF9fSU8gdWludDMyX3QgUlhDUkNSOw0KICBfX0lPIHVpbnQzMl90IFRYQ1JDUjsNCiAgX19JTyB1aW50MzJfdCBJMlNDRkdSOw0KfSBTUElfVHlwZURlZjsNCg0KLyoqDQogICogQGJyaWVmIFRJTSBUaW1lcnMNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU01DUjsgICAgICAgICAgICAvKiE8IFRJTSBzbGF2ZSBNb2RlIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgRElFUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEvaW50ZXJydXB0IGVuYWJsZSByZWdpc3RlciwgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgRUdSOyAgICAgICAgICAgICAvKiE8IFRJTSBldmVudCBnZW5lcmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjE7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMSwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjI7ICAgICAgICAgICAvKiE8IFRJTSAgY2FwdHVyZS9jb21wYXJlIG1vZGUgcmVnaXN0ZXIgMiwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgQ0NFUjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgZW5hYmxlIHJlZ2lzdGVyLCAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQogIF9fSU8gdWludDMyX3QgQ05UOyAgICAgICAgICAgICAvKiE8IFRJTSBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgUFNDOyAgICAgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICovDQogIF9fSU8gdWludDMyX3QgQVJSOyAgICAgICAgICAgICAvKiE8IFRJTSBhdXRvLXJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDJDICovDQogIF9fSU8gdWludDMyX3QgUkNSOyAgICAgICAgICAgICAvKiE8IFRJTSAgcmVwZXRpdGlvbiBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovDQogIF9fSU8gdWludDMyX3QgQ0NSMTsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMjsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM4ICovDQogIF9fSU8gdWludDMyX3QgQ0NSMzsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMywgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovDQogIF9fSU8gdWludDMyX3QgQ0NSNDsgICAgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovDQogIF9fSU8gdWludDMyX3QgQkRUUjsgICAgICAgICAgICAvKiE8IFRJTSBicmVhayBhbmQgZGVhZC10aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ0ICovDQogIF9fSU8gdWludDMyX3QgRENSOyAgICAgICAgICAgICAvKiE8IFRJTSBETUEgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovDQogIF9fSU8gdWludDMyX3QgRE1BUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEgYWRkcmVzcyBmb3IgZnVsbCB0cmFuc2ZlciByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovDQogIF9fSU8gdWludDMyX3QgT1I7ICAgICAgICAgICAgICAvKiE8IFRJTSBvcHRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovDQp9VElNX1R5cGVEZWY7DQoNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyDQogICovDQogDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgIC8qITwgVVNBUlQgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgVVNBUlQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IEJSUjsgICAgICAgIC8qITwgVVNBUlQgQmF1ZCByYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMzsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IEdUUFI7ICAgICAgIC8qITwgVVNBUlQgR3VhcmQgdGltZSBhbmQgcHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KfSBVU0FSVF9UeXBlRGVmOw0KDQoNCg0KLyoqIA0KICAqIEBicmllZiBXaW5kb3cgV0FUQ0hET0cNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsgICAvKiE8IFdXREcgQ29udHJvbCByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBDRlI7ICAvKiE8IFdXREcgQ29uZmlndXJhdGlvbiByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBTUjsgICAvKiE8IFdXREcgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCn0gV1dER19UeXBlRGVmOw0KDQovKioNCiAgKiBAfQ0KICAqLw0KICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX21lbW9yeV9tYXANCiAgKiBAew0KICAqLw0KDQoNCiNkZWZpbmUgRkxBU0hfQkFTRSAgICAgICAgICAgIDB4MDgwMDAwMDBVIC8qITwgRkxBU0ggYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8NCiNkZWZpbmUgRkxBU0hfQkFOSzFfRU5EICAgICAgIDB4MDgwN0ZGRkZVIC8qITwgRkxBU0ggRU5EIGFkZHJlc3Mgb2YgYmFuazEgKi8NCiNkZWZpbmUgU1JBTV9CQVNFICAgICAgICAgICAgIDB4MjAwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkFTRSAgICAgICAgICAgMHg0MDAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQoNCiNkZWZpbmUgU1JBTV9CQl9CQVNFICAgICAgICAgIDB4MjIwMDAwMDBVIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGJpdC1iYW5kIHJlZ2lvbiAqLw0KI2RlZmluZSBQRVJJUEhfQkJfQkFTRSAgICAgICAgMHg0MjAwMDAwMFUgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQoNCiNkZWZpbmUgRlNNQ19CQVNFICAgICAgICAgICAgIDB4NjAwMDAwMDBVIC8qITwgRlNNQyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19SX0JBU0UgICAgICAgICAgIDB4QTAwMDAwMDBVIC8qITwgRlNNQyByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQoNCi8qITwgUGVyaXBoZXJhbCBtZW1vcnkgbWFwICovDQojZGVmaW5lIEFQQjFQRVJJUEhfQkFTRSAgICAgICBQRVJJUEhfQkFTRQ0KI2RlZmluZSBBUEIyUEVSSVBIX0JBU0UgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxMDAwMFUpDQojZGVmaW5lIEFIQlBFUklQSF9CQVNFICAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDIwMDAwVSkNCg0KI2RlZmluZSBUSU0yX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBUSU0zX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDBVKQ0KI2RlZmluZSBUSU00X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDA4MDBVKQ0KI2RlZmluZSBUSU01X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDBDMDBVKQ0KI2RlZmluZSBUSU02X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDEwMDBVKQ0KI2RlZmluZSBUSU03X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDE0MDBVKQ0KI2RlZmluZSBSVENfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDI4MDBVKQ0KI2RlZmluZSBXV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDJDMDBVKQ0KI2RlZmluZSBJV0RHX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KI2RlZmluZSBTUEkyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDM4MDBVKQ0KI2RlZmluZSBTUEkzX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDNDMDBVKQ0KI2RlZmluZSBVU0FSVDJfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ0MDBVKQ0KI2RlZmluZSBVU0FSVDNfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDQ4MDBVKQ0KI2RlZmluZSBVQVJUNF9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDRDMDBVKQ0KI2RlZmluZSBVQVJUNV9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDUwMDBVKQ0KI2RlZmluZSBJMkMxX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDU0MDBVKQ0KI2RlZmluZSBJMkMyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NTgwMCkNCiNkZWZpbmUgQktQX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA2QzAwVSkNCiNkZWZpbmUgUFdSX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3MDAwVSkNCiNkZWZpbmUgREFDX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3NDAwVSkNCiNkZWZpbmUgQUZJT19CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwMDAwVSkNCiNkZWZpbmUgRVhUSV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgR1BJT0FfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwODAwVSkNCiNkZWZpbmUgR1BJT0JfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwQzAwVSkNCiNkZWZpbmUgR1BJT0NfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgR1BJT0RfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxNDAwVSkNCiNkZWZpbmUgR1BJT0VfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxODAwVSkNCiNkZWZpbmUgR1BJT0ZfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxQzAwVSkNCiNkZWZpbmUgR1BJT0dfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkNCiNkZWZpbmUgQURDMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyNDAwVSkNCiNkZWZpbmUgU1BJMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzMDAwVSkNCiNkZWZpbmUgVVNBUlQxX0JBU0UgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzODAwVSkNCg0KI2RlZmluZSBTRElPX0JBU0UgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxODAwMFUpDQoNCiNkZWZpbmUgRE1BMV9CQVNFICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWwxX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAwOFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDJfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDFDVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsM19CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMzBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw0X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA0NFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDVfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDU4VSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNl9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwNkNVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw3X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA4MFUpDQojZGVmaW5lIERNQTJfQkFTRSAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsMV9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDA0MDhVKQ0KI2RlZmluZSBETUEyX0NoYW5uZWwyX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDQxQ1UpDQojZGVmaW5lIERNQTJfQ2hhbm5lbDNfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDMwVSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsNF9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDA0NDRVKQ0KI2RlZmluZSBETUEyX0NoYW5uZWw1X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDQ1OFUpDQojZGVmaW5lIFJDQ19CQVNFICAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgQ1JDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KDQojZGVmaW5lIEZMQVNIX1JfQkFTRSAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkgLyohPCBGbGFzaCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZMQVNIU0laRV9CQVNFICAgICAgICAweDFGRkZGN0UwVSAgICAvKiE8IEZMQVNIIFNpemUgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFVJRF9CQVNFICAgICAgICAgICAgICAweDFGRkZGN0U4VSAgICAvKiE8IFVuaXF1ZSBkZXZpY2UgSUQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIE9CX0JBU0UgICAgICAgICAgICAgICAweDFGRkZGODAwVSAgICAvKiE8IEZsYXNoIE9wdGlvbiBCeXRlcyBiYXNlIGFkZHJlc3MgKi8NCg0KDQojZGVmaW5lIEZTTUNfQkFOSzEgICAgICAgICAgICAoRlNNQ19CQVNFKSAgICAgICAgICAgICAgIC8qITwgRlNNQyBCYW5rMSBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMV8xICAgICAgICAgIChGU01DX0JBTksxKSAgICAgICAgICAgICAgLyohPCBGU01DIEJhbmsxXzEgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzFfMiAgICAgICAgICAoRlNNQ19CQU5LMSArIDB4MDQwMDAwMDBVKSAvKiE8IEZTTUMgQmFuazFfMiBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMV8zICAgICAgICAgIChGU01DX0JBTksxICsgMHgwODAwMDAwMFUpIC8qITwgRlNNQyBCYW5rMV8zIGJhc2UgYWRkcmVzcyAqLw0KI2RlZmluZSBGU01DX0JBTksxXzQgICAgICAgICAgKEZTTUNfQkFOSzEgKyAweDBDMDAwMDAwVSkgLyohPCBGU01DIEJhbmsxXzQgYmFzZSBhZGRyZXNzICovDQoNCiNkZWZpbmUgRlNNQ19CQU5LMiAgICAgICAgICAgIChGU01DX0JBU0UgKyAweDEwMDAwMDAwVSkgIC8qITwgRlNNQyBCYW5rMiBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LMyAgICAgICAgICAgIChGU01DX0JBU0UgKyAweDIwMDAwMDAwVSkgIC8qITwgRlNNQyBCYW5rMyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LNCAgICAgICAgICAgIChGU01DX0JBU0UgKyAweDMwMDAwMDAwVSkgIC8qITwgRlNNQyBCYW5rNCBiYXNlIGFkZHJlc3MgKi8NCg0KI2RlZmluZSBGU01DX0JBTksxX1JfQkFTRSAgICAgKEZTTUNfUl9CQVNFICsgMHgwMDAwMDAwMFUpICAgIC8qITwgRlNNQyBCYW5rMSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzFFX1JfQkFTRSAgICAoRlNNQ19SX0JBU0UgKyAweDAwMDAwMTA0VSkgICAgLyohPCBGU01DIEJhbmsxRSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZTTUNfQkFOSzJfM19SX0JBU0UgICAoRlNNQ19SX0JBU0UgKyAweDAwMDAwMDYwVSkgICAgLyohPCBGU01DIEJhbmsyL0JhbmszIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRlNNQ19CQU5LNF9SX0JBU0UgICAgIChGU01DX1JfQkFTRSArIDB4MDAwMDAwQTBVKSAgICAvKiE8IEZTTUMgQmFuazQgcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KDQojZGVmaW5lIERCR01DVV9CQVNFICAgICAgICAgIDB4RTAwNDIwMDBVIC8qITwgRGVidWcgTUNVIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8NCg0KDQoNCi8qKg0KICAqIEB9DQogICovDQogIA0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfZGVjbGFyYXRpb24NCiAgKiBAew0KICAqLyAgDQoNCiNkZWZpbmUgVElNMiAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNMl9CQVNFKQ0KI2RlZmluZSBUSU0zICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0zX0JBU0UpDQojZGVmaW5lIFRJTTQgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTRfQkFTRSkNCiNkZWZpbmUgVElNNSAgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopVElNNV9CQVNFKQ0KI2RlZmluZSBUSU02ICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU02X0JBU0UpDQojZGVmaW5lIFRJTTcgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTdfQkFTRSkNCiNkZWZpbmUgUlRDICAgICAgICAgICAgICAgICAoKFJUQ19UeXBlRGVmICopUlRDX0JBU0UpDQojZGVmaW5lIFdXREcgICAgICAgICAgICAgICAgKChXV0RHX1R5cGVEZWYgKilXV0RHX0JBU0UpDQojZGVmaW5lIElXREcgICAgICAgICAgICAgICAgKChJV0RHX1R5cGVEZWYgKilJV0RHX0JBU0UpDQojZGVmaW5lIFNQSTIgICAgICAgICAgICAgICAgKChTUElfVHlwZURlZiAqKVNQSTJfQkFTRSkNCiNkZWZpbmUgU1BJMyAgICAgICAgICAgICAgICAoKFNQSV9UeXBlRGVmICopU1BJM19CQVNFKQ0KI2RlZmluZSBVU0FSVDIgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUMl9CQVNFKQ0KI2RlZmluZSBVU0FSVDMgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUM19CQVNFKQ0KI2RlZmluZSBVQVJUNCAgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVBUlQ0X0JBU0UpDQojZGVmaW5lIFVBUlQ1ICAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVUFSVDVfQkFTRSkNCiNkZWZpbmUgSTJDMSAgICAgICAgICAgICAgICAoKEkyQ19UeXBlRGVmICopSTJDMV9CQVNFKQ0KI2RlZmluZSBJMkMyICAgICAgICAgICAgICAgICgoSTJDX1R5cGVEZWYgKilJMkMyX0JBU0UpDQojZGVmaW5lIEJLUCAgICAgICAgICAgICAgICAgKChCS1BfVHlwZURlZiAqKUJLUF9CQVNFKQ0KI2RlZmluZSBQV1IgICAgICAgICAgICAgICAgICgoUFdSX1R5cGVEZWYgKilQV1JfQkFTRSkNCiNkZWZpbmUgREFDMSAgICAgICAgICAgICAgICAoKERBQ19UeXBlRGVmICopREFDX0JBU0UpDQojZGVmaW5lIERBQyAgICAgICAgICAgICAgICAgKChEQUNfVHlwZURlZiAqKURBQ19CQVNFKSAvKiBLZXB0IGZvciBsZWdhY3kgcHVycG9zZSAqLw0KI2RlZmluZSBBRklPICAgICAgICAgICAgICAgICgoQUZJT19UeXBlRGVmICopQUZJT19CQVNFKQ0KI2RlZmluZSBFWFRJICAgICAgICAgICAgICAgICgoRVhUSV9UeXBlRGVmICopRVhUSV9CQVNFKQ0KI2RlZmluZSBHUElPQSAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0FfQkFTRSkNCiNkZWZpbmUgR1BJT0IgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9CX0JBU0UpDQojZGVmaW5lIEdQSU9DICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPQ19CQVNFKQ0KI2RlZmluZSBHUElPRCAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0RfQkFTRSkNCiNkZWZpbmUgR1BJT0UgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9FX0JBU0UpDQojZGVmaW5lIEdQSU9GICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPRl9CQVNFKQ0KI2RlZmluZSBHUElPRyAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0dfQkFTRSkNCiNkZWZpbmUgQURDMSAgICAgICAgICAgICAgICAoKEFEQ19UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBBREMxX0NPTU1PTiAgICAgICAgICgoQURDX0NvbW1vbl9UeXBlRGVmICopQURDMV9CQVNFKQ0KI2RlZmluZSBTUEkxICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKilTUEkxX0JBU0UpDQojZGVmaW5lIFVTQVJUMSAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQxX0JBU0UpDQojZGVmaW5lIFNESU8gICAgICAgICAgICAgICAgKChTRElPX1R5cGVEZWYgKilTRElPX0JBU0UpDQojZGVmaW5lIERNQTEgICAgICAgICAgICAgICAgKChETUFfVHlwZURlZiAqKURNQTFfQkFTRSkNCiNkZWZpbmUgRE1BMiAgICAgICAgICAgICAgICAoKERNQV9UeXBlRGVmICopRE1BMl9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwxICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDFfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWwyX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDMgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsM19CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw0ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDRfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNSAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw1X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDYgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsNl9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw3ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDdfQkFTRSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsMSAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUEyX0NoYW5uZWwxX0JBU0UpDQojZGVmaW5lIERNQTJfQ2hhbm5lbDIgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMl9DaGFubmVsMl9CQVNFKQ0KI2RlZmluZSBETUEyX0NoYW5uZWwzICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTJfQ2hhbm5lbDNfQkFTRSkNCiNkZWZpbmUgRE1BMl9DaGFubmVsNCAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUEyX0NoYW5uZWw0X0JBU0UpDQojZGVmaW5lIERNQTJfQ2hhbm5lbDUgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMl9DaGFubmVsNV9CQVNFKQ0KI2RlZmluZSBSQ0MgICAgICAgICAgICAgICAgICgoUkNDX1R5cGVEZWYgKilSQ0NfQkFTRSkNCiNkZWZpbmUgQ1JDICAgICAgICAgICAgICAgICAoKENSQ19UeXBlRGVmICopQ1JDX0JBU0UpDQojZGVmaW5lIEZMQVNIICAgICAgICAgICAgICAgKChGTEFTSF9UeXBlRGVmICopRkxBU0hfUl9CQVNFKQ0KI2RlZmluZSBPQiAgICAgICAgICAgICAgICAgICgoT0JfVHlwZURlZiAqKU9CX0JBU0UpDQojZGVmaW5lIEZTTUNfQmFuazEgICAgICAgICAgKChGU01DX0JhbmsxX1R5cGVEZWYgKilGU01DX0JBTksxX1JfQkFTRSkNCiNkZWZpbmUgRlNNQ19CYW5rMUUgICAgICAgICAoKEZTTUNfQmFuazFFX1R5cGVEZWYgKilGU01DX0JBTksxRV9SX0JBU0UpDQojZGVmaW5lIEZTTUNfQmFuazJfMyAgICAgICAgKChGU01DX0JhbmsyXzNfVHlwZURlZiAqKUZTTUNfQkFOSzJfM19SX0JBU0UpDQojZGVmaW5lIEZTTUNfQmFuazQgICAgICAgICAgKChGU01DX0Jhbms0X1R5cGVEZWYgKilGU01DX0JBTks0X1JfQkFTRSkNCiNkZWZpbmUgREJHTUNVICAgICAgICAgICAgICAoKERCR01DVV9UeXBlRGVmICopREJHTUNVX0JBU0UpDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX2NvbnN0YW50cw0KICAqIEB7DQogICovDQogIA0KICAvKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9SZWdpc3RlcnNfQml0c19EZWZpbml0aW9uDQogICogQHsNCiAgKi8NCiAgICANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBQZXJpcGhlcmFsIFJlZ2lzdGVyc19CaXRzX0RlZmluaXRpb24gICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgKENSQykgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19EUl9EUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBDUkNfRFJfRFJfUG9zKSAgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIENSQ19EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICAgIENSQ19EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHJlZ2lzdGVyIGJpdHMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDUkNfSURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0lEUl9JRFJfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0lEUl9JRFJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IENSQ19JRFJfSURSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgQ1JDX0lEUl9JRFIgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0lEUl9JRFJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEdlbmVyYWwtcHVycG9zZSA4LWJpdCBkYXRhIHJlZ2lzdGVyIGJpdHMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQ1JDX0NSX1JFU0VUX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0NSX1JFU0VUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQ1JDX0NSX1JFU0VUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQ1JDX0NSX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgQ1JDX0NSX1JFU0VUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJFU0VUIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb3dlciBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUFdSX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUFdSX0NSX0xQRFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0xQRFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0xQRFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUFdSX0NSX0xQRFMgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0xQRFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IExvdy1Qb3dlciBEZWVwc2xlZXAgKi8NCiNkZWZpbmUgUFdSX0NSX1BERFNfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BERFNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUFdSX0NSX1BERFMgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BERFNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBvd2VyIERvd24gRGVlcHNsZWVwICovDQojZGVmaW5lIFBXUl9DUl9DV1VGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9DV1VGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFBXUl9DUl9DV1VGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9DV1VGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBXYWtldXAgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfQ1NCRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1NCRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfQ1NCRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgU3RhbmRieSBGbGFnICovDQojZGVmaW5lIFBXUl9DUl9QVkRFX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QVkRFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFBXUl9DUl9QVkRFICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QVkRFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQb3dlciBWb2x0YWdlIERldGVjdG9yIEVuYWJsZSAqLw0KDQojZGVmaW5lIFBXUl9DUl9QTFNfUG9zICAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFBXUl9DUl9QTFNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMEUwICovDQojZGVmaW5lIFBXUl9DUl9QTFMgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQTFNbMjowXSBiaXRzIChQVkQgTGV2ZWwgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFBWRCBsZXZlbCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuMlYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYxICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi4zViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjIgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA0MFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjRWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDYwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuNVYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY0ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi42ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjUgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBBMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjdWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuOFYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY3ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi45ViAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSBQV1JfQ1JfUExTXzJWMiAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYwDQojZGVmaW5lIFBXUl9DUl9QTFNfMlYzICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjENCiNkZWZpbmUgUFdSX0NSX1BMU18yVjQgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMg0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNSAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYzDQojZGVmaW5lIFBXUl9DUl9QTFNfMlY2ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjQNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjcgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNQ0KI2RlZmluZSBQV1JfQ1JfUExTXzJWOCAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY2DQojZGVmaW5lIFBXUl9DUl9QTFNfMlY5ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjcNCg0KI2RlZmluZSBQV1JfQ1JfREJQX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfREJQX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1JfREJQICAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfREJQX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRGlzYWJsZSBCYWNrdXAgRG9tYWluIHdyaXRlIHByb3RlY3Rpb24gKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFBXUl9DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBQV1JfQ1NSX1dVRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1dVRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBQV1JfQ1NSX1dVRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2FrZXVwIEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NTUl9TQkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9TQkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9TQkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUFdSX0NTUl9TQkYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9TQkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YW5kYnkgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1NSX1BWRE9fUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX1BWRE9fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX1BWRE9fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBQV1JfQ1NSX1BWRE8gICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX1BWRE9fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIE91dHB1dCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVBfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX0VXVVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX0VXVVBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1NSX0VXVVBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIFdLVVAgcGluICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFja3VwIHJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxX0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxX0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMl9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMl9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjNfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjNfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjNfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI0X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI0X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI0X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI1IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNV9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjZfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjZfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjZfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI3X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI3X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI3X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI4IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSOF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSOF9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSOF9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSOSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjlfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjlfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjlfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxMF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxMF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxMF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxMF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxMF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTFfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTFfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTFfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjEyX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjEyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjEyX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjEyX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjEyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjEzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxM19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxM19EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxM19EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxM19EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxM19EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTRfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTRfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTRfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTRfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMTUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjE1X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjE1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjE1X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjE1X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjE1X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjE2IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxNl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxNl9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxNl9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxNl9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxNl9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxNyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTdfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTdfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTdfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTdfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxOCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjE4X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjE4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjE4X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjE4X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjE4X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjE5IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIxOV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIxOV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIxOV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIxOV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIxOV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjBfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjBfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjBfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjIxX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjIxX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjIxX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjIxX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyMl9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyMl9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyMl9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyMl9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyMl9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjNfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjNfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjNfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjNfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjI0X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjI0X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjI0X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjI0X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjI1IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyNV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyNV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyNV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyNV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyNV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyNiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjZfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjZfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjZfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjZfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMjcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjI3X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjI3X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjI3X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjI3X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjI4IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIyOF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIyOF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIyOF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIyOF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIyOF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIyOSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMjlfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMjlfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMjlfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMjlfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjMwX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjMwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjMwX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjMwX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjMwX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjMxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzMV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzMV9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzMV9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzMV9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzJfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzJfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzJfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjMzX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjMzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjMzX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjMzX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjMzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjM0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzNF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzNF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzNF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzNF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzVfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzVfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzVfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjM2X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjM2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjM2X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjM2X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjM2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjM3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzN19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzN19EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzN19EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzN19EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzN19EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIzOCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMzhfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMzhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMzhfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMzhfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMzhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMzkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjM5X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjM5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjM5X0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjM5X0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjM5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjQwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI0MF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI0MF9EX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI0MF9EX1BvcykgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI0MF9EICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI0MF9EX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI0MSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNDFfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNDFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNDFfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNDFfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNDFfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjQyX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjQyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjQyX0RfUG9zKSAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjQyX0QgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjQyX0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQojZGVmaW5lIFJUQ19CS1BfTlVNQkVSIDQyDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfUlRDQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9SVENDUl9DQUxfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9DQUxfTXNrICAgICAgICAgICAgICAgICAgICgweDdGVSA8PCBCS1BfUlRDQ1JfQ0FMX1BvcykgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIEJLUF9SVENDUl9DQUwgICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9DQUxfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDYWxpYnJhdGlvbiB2YWx1ZSAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQ0NPX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfUlRDQ1JfQ0NPX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfUlRDQ1JfQ0NPX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQ0NPICAgICAgICAgICAgICAgICAgICAgICBCS1BfUlRDQ1JfQ0NPX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2FsaWJyYXRpb24gQ2xvY2sgT3V0cHV0ICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09FX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9BU09FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9BU09FX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09FICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9BU09FX01zayAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBvciBTZWNvbmQgT3V0cHV0IEVuYWJsZSAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPU19Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPU19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfUlRDQ1JfQVNPU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBCS1BfUlRDQ1JfQVNPUyAgICAgICAgICAgICAgICAgICAgICBCS1BfUlRDQ1JfQVNPU19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQWxhcm0gb3IgU2Vjb25kIE91dHB1dCBTZWxlY3Rpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0NSX1RQRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NSX1RQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NSX1RQRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQktQX0NSX1RQRSAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NSX1RQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBwaW4gZW5hYmxlICovDQojZGVmaW5lIEJLUF9DUl9UUEFMX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DUl9UUEFMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DUl9UUEFMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEJLUF9DUl9UUEFMICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DUl9UUEFMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUQU1QRVIgcGluIGFjdGl2ZSBsZXZlbCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfQ1NSX0NURV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX0NURV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX0NURV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBCS1BfQ1NSX0NURSAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX0NURV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgVGFtcGVyIGV2ZW50ICovDQojZGVmaW5lIEJLUF9DU1JfQ1RJX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfQ1RJX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfQ1RJX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEJLUF9DU1JfQ1RJICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfQ1RJX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBUYW1wZXIgSW50ZXJydXB0ICovDQojZGVmaW5lIEJLUF9DU1JfVFBJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfVFBJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfVFBJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEJLUF9DU1JfVFBJRSAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfVFBJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUQU1QRVIgUGluIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgQktQX0NTUl9URUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9URUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9URUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQktQX0NTUl9URUYgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9URUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRhbXBlciBFdmVudCBGbGFnICovDQojZGVmaW5lIEJLUF9DU1JfVElGX1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfVElGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEJLUF9DU1JfVElGICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0IEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19DUl9IU0lPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNJT05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DUl9IU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTSVJEWV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTSVJEWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayByZWFkeSBmbGFnICovDQojZGVmaW5lIFJDQ19DUl9IU0lUUklNX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lUUklNX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAgICAgLyohPCAweDAwMDAwMEY4ICovDQojZGVmaW5lIFJDQ19DUl9IU0lUUklNICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJVFJJTV9Nc2sgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHRyaW1taW5nICovDQojZGVmaW5lIFJDQ19DUl9IU0lDQUxfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgUkNDX0NSX0hTSUNBTF9Qb3MpICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIFJDQ19DUl9IU0lDQUwgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJQ0FMX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIENhbGlicmF0aW9uICovDQojZGVmaW5lIFJDQ19DUl9IU0VPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFT05fUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRVJEWV9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRVJEWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayByZWFkeSBmbGFnICovDQojZGVmaW5lIFJDQ19DUl9IU0VCWVBfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VCWVBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFQllQX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VCWVAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFQllQX01zayAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIEJ5cGFzcyAqLw0KI2RlZmluZSBSQ0NfQ1JfQ1NTT05fUG9zICAgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfQ1NTT05fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0NTU09OX1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfQ1NTT04gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0NTU09OX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMT05fUG9zICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfUExMT05fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX1BMTE9OX1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMT04gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX1BMTE9OX01zayAgICAgICAgICAgICAgICAgIC8qITwgUExMIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX1BMTFJEWV9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX1BMTFJEWV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIHJlYWR5IGZsYWcgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DRkdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KLyohPCBTVyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1NXX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9TV19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFJDQ19DRkdSX1NXICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9TV19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTV1sxOjBdIGJpdHMgKFN5c3RlbSBjbG9jayBTd2l0Y2gpICovDQojZGVmaW5lIFJDQ19DRkdSX1NXXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9TV19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DRkdSX1NXXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9TV19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfU1dfSFNJICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTSSBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfSFNFICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUExMICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDJVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KLyohPCBTV1MgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfU1dTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1MgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfU1dTX01zayAgICAgICAgICAgICAgICAgIC8qITwgU1dTWzE6MF0gYml0cyAoU3lzdGVtIENsb2NrIFN3aXRjaCBTdGF0dXMpICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTSSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTSSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19IU0UgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0Ugb3NjaWxsYXRvciB1c2VkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfUExMICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwOFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQoNCi8qITwgSFBSRSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAgICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkUgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9IUFJFX01zayAgICAgICAgICAgICAgICAgLyohPCBIUFJFWzM6MF0gYml0cyAoQUhCIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMiAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNCAgICAgICAgICAgICAgICAgICAweDAwMDAwMDkwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWOCAgICAgICAgICAgICAgICAgICAweDAwMDAwMEEwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMTYgICAgICAgICAgICAgICAgICAweDAwMDAwMEIwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAxNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjY0ICAgICAgICAgICAgICAgICAgMHgwMDAwMDBDMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgNjQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxMjggICAgICAgICAgICAgICAgIDB4MDAwMDAwRDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDEyOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjI1NiAgICAgICAgICAgICAgICAgMHgwMDAwMDBFMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMjU2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNTEyICAgICAgICAgICAgICAgICAweDAwMDAwMEYwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA1MTIgKi8NCg0KLyohPCBQUFJFMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwNzAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QUFJFMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQUkUxWzI6MF0gYml0cyAoQVBCMSBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9QUFJFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWMSAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWMiAgICAgICAgICAgICAgICAgIDB4MDAwMDA0MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjQgICAgICAgICAgICAgICAgICAweDAwMDAwNTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVY4ICAgICAgICAgICAgICAgICAgMHgwMDAwMDYwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWMTYgICAgICAgICAgICAgICAgIDB4MDAwMDA3MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAxNiAqLw0KDQovKiE8IFBQUkUyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDM4MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTIgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkUyX01zayAgICAgICAgICAgICAgICAvKiE8IFBSRTJbMjowXSBiaXRzIChBUEIyIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BQUkUyX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVYxICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVYyICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWNCAgICAgICAgICAgICAgICAgIDB4MDAwMDI4MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjggICAgICAgICAgICAgICAgICAweDAwMDAzMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVYxNiAgICAgICAgICAgICAgICAgMHgwMDAwMzgwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovDQoNCi8qITwgQURDUFBSRSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRSAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9BRENQUkVfTXNrICAgICAgICAgICAgICAgLyohPCBBRENQUkVbMTowXSBiaXRzIChBREMgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfQURDUFJFX1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfQURDUFJFX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVYyICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjQgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWNiAgICAgICAgICAgICAgICAgMHgwMDAwODAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSA2ICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY4ICAgICAgICAgICAgICAgICAweDAwMDBDMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDggKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkNfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkNfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMU1JDX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkMgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMU1JDX01zayAgICAgICAgICAgICAgIC8qITwgUExMIGVudHJ5IGNsb2NrIHNvdXJjZSAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX1BvcyAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExYVFBSRV9Qb3MpICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExYVFBSRV9Nc2sgICAgICAgICAgICAgLyohPCBIU0UgZGl2aWRlciBmb3IgUExMIGVudHJ5ICovDQoNCi8qITwgUExMTVVMIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF9Nc2sgICAgICAgICAgICAgICAgICgweEZVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAzQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTCAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTExfTXNrICAgICAgICAgICAgICAvKiE8IFBMTE1VTFszOjBdIGJpdHMgKFBMTCBtdWx0aXBsaWNhdGlvbiBmYWN0b3IpICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTExfMyAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMX1BvcykgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfSFNFICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIGNsb2NrIG5vdCBkaXZpZGVkIGZvciBQTEwgZW50cnkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfSFNFX0RJVjIgICAgICAgICAgIDB4MDAwMjAwMDBVICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIGNsb2NrIGRpdmlkZWQgYnkgMiBmb3IgUExMIGVudHJ5ICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDIgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoyICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwzX1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwzX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMM19Qb3MpICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwzICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMM19Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNF9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDRfUG9zKSAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNCAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDRfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDVfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDVfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1BMTE1VTEw1X1BvcykgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDUgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw1X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo1ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw2X1BvcyAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw2X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMNl9Qb3MpICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw2ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMNl9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMN19Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMN19Nc2sgICAgICAgICAgICAgICAgKDB4NVUgPDwgUkNDX0NGR1JfUExMTVVMTDdfUG9zKSAgIC8qITwgMHgwMDE0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNyAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDdfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjcgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDhfUG9zICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDhfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1BMTE1VTEw4X1BvcykgICAvKiE8IDB4MDAxODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDggICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw4X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw5X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw5X01zayAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMOV9Qb3MpICAgLyohPCAweDAwMUMwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw5ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMOV9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqOSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTBfUG9zICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTBfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMTDEwX1BvcykgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDEwX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrMTAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDExX1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDExX01zayAgICAgICAgICAgICAgICgweDlVIDw8IFJDQ19DRkdSX1BMTE1VTEwxMV9Qb3MpICAvKiE8IDB4MDAyNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDExICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxMV9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTJfUG9zICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTJfTXNrICAgICAgICAgICAgICAgKDB4NVUgPDwgUkNDX0NGR1JfUExMTVVMTDEyX1BvcykgIC8qITwgMHgwMDI4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTIgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDEyX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjEyICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxM19Qb3MgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxM19Nc2sgICAgICAgICAgICAgICAoMHhCVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTNfUG9zKSAgLyohPCAweDAwMkMwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMyAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTNfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE0X1BvcyAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE0X01zayAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1BMTE1VTEwxNF9Qb3MpICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE0ICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxNF9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTVfUG9zICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTVfTXNrICAgICAgICAgICAgICAgKDB4RFUgPDwgUkNDX0NGR1JfUExMTVVMTDE1X1BvcykgIC8qITwgMHgwMDM0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTUgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDE1X01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE1ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNl9Qb3MgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNl9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTZfUG9zKSAgLyohPCAweDAwMzgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNiAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTZfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTYgKi8NCg0KLyohPCBNQ08gY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fUG9zICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ08gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX01zayAgICAgICAgICAgICAgICAgIC8qITwgTUNPWzI6MF0gYml0cyAoTWljcm9jb250cm9sbGVyIENsb2NrIE91dHB1dCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fTk9DTE9DSyAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19TWVNDTEsgICAgICAgICAgICAgICAgICAweDA0MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX0hTSSAgICAgICAgICAgICAgICAgICAgIDB4MDUwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0kgY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNFICAgICAgICAgICAgICAgICAgICAgMHgwNjAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fUExMQ0xLX0RJVjIgICAgICAgICAgICAgMHgwNzAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBjbG9jayBkaXZpZGVkIGJ5IDIgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KDQogLyogUmVmZXJlbmNlIGRlZmluZXMgKi8NCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ08NCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8wICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMA0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzEgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18xDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMiAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzINCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9OT0NMT0NLICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fTk9DTE9DSw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1NZU0NMSyAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19TWVNDTEsNCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0kgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fSFNJDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNFICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX0hTRQ0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1BMTF9ESVYyICAgICAgICAgICAgIFJDQ19DRkdSX01DT19QTExDTEtfRElWMg0KDQovKiE8KioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NJUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTSVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBMU0kgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNFUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTRVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBIU0UgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlGX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfUExMUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfUExMUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0ZfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0NTU0ZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0YgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NGX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTSVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBMU0kgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNJUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTRVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBIU0UgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNFUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNJUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfUExMUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfUExMUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NDX1BvcyAgICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfQ1NTQ19Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NDICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfQ1NTQ19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMlJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0FGSU9SU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FGSU9SU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9BRklPUlNUX01zayAgICAgICAgICAvKiE8IEFsdGVybmF0ZSBGdW5jdGlvbiBJL08gcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEFSU1RfUG9zICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BBUlNUX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BBUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBBIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BCUlNUX1BvcyAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BCUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEJSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgQiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Qb3MgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUENSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUENSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BDUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUERSU1RfUG9zICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUERSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BEUlNUX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BEUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBEIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BREMxUlNUX1BvcyAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BREMxUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0FEQzFSU1RfTXNrICAgICAgICAgIC8qITwgQURDIDEgaW50ZXJmYWNlIHJlc2V0ICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Qb3MgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTFSU1RfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xUlNUX01zayAgICAgICAgICAvKiE8IFRJTTEgVGltZXIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NQSTFSU1RfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NQSTFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9TUEkxUlNUX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TUEkxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgLyohPCBTUEkgMSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Nc2sgICAgICAgIC8qITwgVVNBUlQxIHJlc2V0ICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRVJTVF9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEVSU1RfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEVSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BFUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEUgcmVzZXQgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRlJTVF9Qb3MgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QRlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUEZSU1RfUG9zKSAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEZSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BGUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEYgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEdSU1RfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEdSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BHUlNUX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BHUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QR1JTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBHIHJlc2V0ICovDQoNCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMVJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTJSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU0yUlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU0zUlNUX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0zUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgLyohPCBUaW1lciAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcyAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgICAgIC8qITwgV2luZG93IFdhdGNoZG9nIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfUG9zICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX01zayAgICAgICAgLyohPCBVU0FSVCAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcyAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgIC8qITwgSTJDIDEgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1RfUG9zICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfQktQUlNUX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfQktQUlNUX01zayAgICAgICAgICAgLyohPCBCYWNrdXAgaW50ZXJmYWNlIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfUFdSUlNUX1BvcykgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfUFdSUlNUX01zayAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgcmVzZXQgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNFJTVF9Qb3MgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNFJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTRSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTRSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU00UlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDQgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTJSU1RfUG9zICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTJSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9TUEkyUlNUX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9TUEkyUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfU1BJMlJTVF9Nc2sgICAgICAgICAgLyohPCBTUEkgMiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX1BvcyAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1VTQVJUM1JTVF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNBUlQzUlNUICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1VTQVJUM1JTVF9Nc2sgICAgICAgIC8qITwgVVNBUlQgMyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMlJTVF9Qb3MgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0kyQzJSU1RfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9JMkMyUlNUX01zayAgICAgICAgICAvKiE8IEkyQyAyIHJlc2V0ICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNVJTVF9Qb3MgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNNVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTVSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTVSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU01UlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDUgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTZSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU02UlNUX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU02UlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNNlJTVF9Nc2sgICAgICAgICAgLyohPCBUaW1lciA2IHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU03UlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVElNN1JTVF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNN1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTdSU1RfTXNrICAgICAgICAgIC8qITwgVGltZXIgNyByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJM1JTVF9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfU1BJM1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1NQSTNSU1RfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1NQSTNSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9TUEkzUlNUX01zayAgICAgICAgICAvKiE8IFNQSSAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNFJTVF9Qb3MgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNFJTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVUFSVDRSU1RfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VBUlQ0UlNUICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VQVJUNFJTVF9Nc2sgICAgICAgICAvKiE8IFVBUlQgNCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVUFSVDVSU1RfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVUFSVDVSU1RfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1VBUlQ1UlNUX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VQVJUNVJTVCAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVUFSVDVSU1RfTXNrICAgICAgICAgLyohPCBVQVJUIDUgcmVzZXQgKi8NCg0KDQoNCg0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfREFDUlNUX1BvcyAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfREFDUlNUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfREFDUlNUICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0RBQ1JTVF9Nc2sgICAgICAgICAgIC8qITwgREFDIGludGVyZmFjZSByZXNldCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FIQkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9ETUExRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9ETUExRU5fTXNrICAgICAgICAgICAgIC8qITwgRE1BMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU5fUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfU1JBTUVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfU1JBTUVOX01zayAgICAgICAgICAgICAvKiE8IFNSQU0gaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9GTElURkVOX1BvcykgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU4gICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9GTElURkVOX01zayAgICAgICAgICAgIC8qITwgRkxJVEYgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU5fUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0NSQ0VOX1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU4gICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgLyohPCBDUkMgY2xvY2sgZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUEyRU5fUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUEyRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRE1BMkVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUEyRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRE1BMkVOX01zayAgICAgICAgICAgICAvKiE8IERNQTIgY2xvY2sgZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0FIQkVOUl9GU01DRU5fUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9GU01DRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfRlNNQ0VOX1BvcykgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GU01DRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfRlNNQ0VOX01zayAgICAgICAgICAgICAvKiE8IEZTTUMgY2xvY2sgZW5hYmxlICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIyRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0FGSU9FTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQUZJT0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0FGSU9FTl9Nc2sgICAgICAgICAgICAvKiE8IEFsdGVybmF0ZSBGdW5jdGlvbiBJL08gY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTl9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BBRU5fUG9zKSAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUEFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BBRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBBIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU5fUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QQkVOX1BvcykgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BCRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QQkVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgQiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUENFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQ0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUENFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTl9Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BERU5fUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUERFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BERU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBEIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfQURDMUVOX1BvcykgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9BREMxRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfQURDMUVOX01zayAgICAgICAgICAgIC8qITwgQURDIDEgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTFFTl9Qb3MpICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1RJTTFFTl9Nc2sgICAgICAgICAgICAvKiE8IFRJTTEgVGltZXIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTl9Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9TUEkxRU5fUG9zKSAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NQSTFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9TUEkxRU5fTXNrICAgICAgICAgICAgLyohPCBTUEkgMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fUG9zICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1VTQVJUMUVOX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Nc2sgICAgICAgICAgLyohPCBVU0FSVDEgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BFRU5fUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BFRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QRUVOX1BvcykgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BFRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QRUVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgRSBjbG9jayBlbmFibGUgKi8NCg0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BGRU5fUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BGRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QRkVOX1BvcykgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BGRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QRkVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgRiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QR0VOX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QR0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUEdFTl9Qb3MpICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QR0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUEdFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEcgY2xvY2sgZW5hYmxlICovDQoNCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMUVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNMkVOX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0yRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNMkVOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgMiBjbG9jayBlbmFibGVkKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTNFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNM0VOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTNFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9XV0RHRU5fUG9zKSAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1dXREdFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9XV0RHRU5fTXNrICAgICAgICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX1BvcyAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNBUlQyRU5fTXNrICAgICAgICAgIC8qITwgVVNBUlQgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX1BvcyAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MpICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfSTJDMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAvKiE8IEkyQyAxIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fUG9zICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0JLUEVOX1BvcykgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfQktQRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0JLUEVOX01zayAgICAgICAgICAgICAvKiE8IEJhY2t1cCBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX1BvcyAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MpICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTRFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNEVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTRFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTl9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9TUEkyRU5fUG9zKSAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1NQSTJFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9TUEkyRU5fTXNrICAgICAgICAgICAgLyohPCBTUEkgMiBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fUG9zICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQzRU5fTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1VTQVJUM0VOX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUM0VOICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VU0FSVDNFTl9Nc2sgICAgICAgICAgLyohPCBVU0FSVCAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU5fUG9zICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfSTJDMkVOX1BvcykgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9JMkMyRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfSTJDMkVOX01zayAgICAgICAgICAgIC8qITwgSTJDIDIgY2xvY2sgZW5hYmxlICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU01RU5fUG9zICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU01RU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNNUVOX1BvcykgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU01RU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNNUVOX01zayAgICAgICAgICAgIC8qITwgVGltZXIgNSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNkVOX1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTZFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNNkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTZFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDYgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTdFTl9Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTdFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU03RU5fUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTdFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU03RU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciA3IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9TUEkzRU5fUG9zICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9TUEkzRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfU1BJM0VOX1BvcykgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9TUEkzRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfU1BJM0VOX01zayAgICAgICAgICAgIC8qITwgU1BJIDMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VBUlQ0RU5fUG9zICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VBUlQ0RU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VQVJUNEVOX1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VBUlQ0RU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VQVJUNEVOX01zayAgICAgICAgICAgLyohPCBVQVJUIDQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VBUlQ1RU5fUG9zICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VBUlQ1RU5fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9VQVJUNUVOX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VBUlQ1RU4gICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9VQVJUNUVOX01zayAgICAgICAgICAgLyohPCBVQVJUIDUgY2xvY2sgZW5hYmxlICovDQoNCg0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfREFDRU5fUG9zICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfREFDRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX0RBQ0VOX1BvcykgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfREFDRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX0RBQ0VOX01zayAgICAgICAgICAgICAvKiE8IERBQyBpbnRlcmZhY2UgY2xvY2sgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0JEQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VPTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19CRENSX0xTRU9OICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VPTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRVJEWV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFUkRZICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRVJEWV9Nc2sgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIFJlYWR5ICovDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VCWVBfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19CRENSX0xTRUJZUCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VCWVBfTXNrICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBCeXBhc3MgKi8NCg0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUwgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfUlRDU0VMX01zayAgICAgICAgICAgICAgIC8qITwgUlRDU0VMWzE6MF0gYml0cyAoUlRDIGNsb2NrIHNvdXJjZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0hTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIGNsb2NrIGRpdmlkZWQgYnkgMTI4IHVzZWQgYXMgUlRDIGNsb2NrICovDQoNCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU5fUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX1JUQ0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDRU4gICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAvKiE8IFJUQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1RfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1RfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0JEUlNUX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfQkRSU1QgICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0JEUlNUX01zayAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkb21haW4gc29mdHdhcmUgcmVzZXQgICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovICANCiNkZWZpbmUgUkNDX0NTUl9MU0lPTl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNJT05fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lPTiAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNJT05fTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MU0lSRFlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xTSVJEWSAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MU0lSRFlfTXNrICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgUmVhZHkgKi8NCiNkZWZpbmUgUkNDX0NTUl9STVZGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9STVZGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUk1WRl9Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9STVZGICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUk1WRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlbW92ZSByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1BJTlJTVEZfUG9zKSAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUElOUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBQSU4gcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEZfUG9zICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9QT1JSU1RGX1BvcykgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BPUlJTVEYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgICAgIC8qITwgUE9SL1BEUiByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURl9Qb3MgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1NGVFJTVEZfUG9zKSAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfU0ZUUlNURiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBSZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEZfUG9zICAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0lXREdSU1RGX1BvcykgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0lXREdSU1RGX01zayAgICAgICAgICAgICAgLyohPCBJbmRlcGVuZGVudCBXYXRjaGRvZyByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfUG9zICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1dXREdSU1RGX1BvcykgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEYgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1dXREdSU1RGX01zayAgICAgICAgICAgICAgLyohPCBXaW5kb3cgd2F0Y2hkb2cgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MUFdSUlNURl9Qb3MpICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX0xQV1JSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgIC8qITwgTG93LVBvd2VyIHJlc2V0IGZsYWcgKi8NCg0KDQogDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgIEdlbmVyYWwgUHVycG9zZSBhbmQgQWx0ZXJuYXRlIEZ1bmN0aW9uIEkvTyAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0NSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9NT0RFX1BvcykgLyohPCAweDMzMzMzMzMzICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggbW9kZSBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTBfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUwX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUwWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDApICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTFfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUxX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUxWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUyX1BvcykgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUyX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDIpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTNfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREUzX1BvcykgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREUzX01zayAgICAgICAgICAgICAgICAvKiE8IE1PREUzWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDMpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTRfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU0X1BvcykgICAgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU0X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU0WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfUG9zICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU1X1BvcykgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU1X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDUpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfUG9zICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTZfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU2X1BvcykgICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTYgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU2X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU2WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDYpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfTU9ERTdfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX01PREU3X1BvcykgICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfTU9ERTcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX01PREU3X01zayAgICAgICAgICAgICAgICAvKiE8IE1PREU3WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDMzMzMzMzMzVSA8PCBHUElPX0NSTF9DTkZfUG9zKSAvKiE8IDB4Q0NDQ0NDQ0MgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYwX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYwX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAwKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYwXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYxX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYxWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjJbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMikgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYzX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYzX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAzKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYzXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GM19Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfUG9zICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY0X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY0WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDQpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY0X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDBDMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjVbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNSkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjVfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY2X1BvcyAgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY2X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GNlsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA2KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY2XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GNl9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfUG9zICAgICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY3X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY3WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDcpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY3X1BvcykgICAgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19DUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfTU9ERV9Qb3MpIC8qITwgMHgzMzMzMzMzMyAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IG1vZGUgYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA4KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFOV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREU5ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFOV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFOVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMCAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTBfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTBbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTApICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTBfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxMV9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxMVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTExXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfUG9zICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTIgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTEyX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTEyWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTJfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTEyX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMyAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTNfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTNbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTMpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxM18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTNfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0X01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxNF9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxNFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxNCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE0XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxNF9Qb3MpICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTUgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTE1X01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTE1WzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTVfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTE1X1BvcykgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkhfQ05GX1BvcykgLyohPCAweENDQ0NDQ0NDICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjhbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gOCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkY5X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkY5X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GOVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA5KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkY5XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxMFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTBfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTFbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTEpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjExXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxMV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjEyX1BvcykgICAgICAvKiE8IDB4MDAwQzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjEyX01zayAgICAgICAgICAgICAgICAvKiE8IENORjEyWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDEyKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTJfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxM19Qb3MpICAgICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxM1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMykgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEzX1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTRfUG9zKSAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTRbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTQpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE0XzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxNF9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjE1X1BvcykgICAgICAvKiE8IDB4QzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjE1X01zayAgICAgICAgICAgICAgICAvKiE8IENORjE1WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDE1KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTVfUG9zKSAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKiE8KioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19JRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAzICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI1X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA2ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI3X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCA5ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDEyICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxM19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19PRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAyICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA1ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI2X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA4ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI5X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjEyX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDEzICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjE1X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19CU1JSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlM5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlM5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzExX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDExICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxMl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxNSAqLw0KDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIwX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIwX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfUG9zICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIzX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjMgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIzX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjRfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSNV9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA1ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI2X1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjYgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI2X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Qb3MgICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjdfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSOF9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA4ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI5X1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjkgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI5X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfUG9zICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEwX1BvcykgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfUG9zICAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjExX1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEyX1BvcykgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTIgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEyX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfUG9zICAgICAgICAgICAgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjEzX1BvcykgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfUG9zICAgICAgICAgICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE0X1BvcykgICAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfUG9zICAgICAgICAgICAgICAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjE1X1BvcykgICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMTUgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjE1X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIwX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIwICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIzX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIzICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjQgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI0X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA0ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNSAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2X1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI2X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI2ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjdfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjcgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI3X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA3ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOCAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDggKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5X1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI5ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjExICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjEzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjEzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjE1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjE1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19MQ0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0syICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s0X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLNV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzZfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzZfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s3X1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzcgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s3X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLOF9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s4ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLOF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzlfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMF9Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEwICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMF9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzExX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTEgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzExX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDExICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTJfUG9zKSAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMiAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTJfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxM19Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzEzICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxM19Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzE0X1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTQgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzE0X01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxNSAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTVfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTUgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0tfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0tLX1BvcykgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDS0sgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0tLX01zayAgICAgICAgICAgICAgICAvKiE8IExvY2sga2V5ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VWQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VWQ1JfUElOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU4gICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX01zayAgICAgICAgICAgICAgICAgLyohPCBQSU5bMzowXSBiaXRzIChQaW4gc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQovKiE8IFBJTiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgwICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQaW4gMCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDFfUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDFfTXNrICAgICAgICAgICAgIC8qITwgUGluIDEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfUG9zICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFgyX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgyX01zayAgICAgICAgICAgICAvKiE8IFBpbiAyIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYM19Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgzICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYM19Nc2sgICAgICAgICAgICAgLyohPCBQaW4gMyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BJTl9QWDRfUG9zKSAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNCAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDRfTXNrICAgICAgICAgICAgIC8qITwgUGluIDQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDVfTXNrICAgICAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVZDUl9QSU5fUFg1X1BvcykgICAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg1X01zayAgICAgICAgICAgICAvKiE8IFBpbiA1IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X1BvcyAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2X01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYNl9Qb3MpICAgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg2ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYNl9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYN19Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19FVkNSX1BJTl9QWDdfUG9zKSAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDdfTXNrICAgICAgICAgICAgIC8qITwgUGluIDcgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDhfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFg4X1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDggICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg4X01zayAgICAgICAgICAgICAvKiE8IFBpbiA4IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5X01zayAgICAgICAgICAgICAgICAoMHg5VSA8PCBBRklPX0VWQ1JfUElOX1BYOV9Qb3MpICAgLyohPCAweDAwMDAwMDA5ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg5ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYOV9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gOSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTBfTXNrICAgICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FVkNSX1BJTl9QWDEwX1BvcykgIC8qITwgMHgwMDAwMDAwQSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEwX01zayAgICAgICAgICAgIC8qITwgUGluIDEwIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMV9Nc2sgICAgICAgICAgICAgICAoMHhCVSA8PCBBRklPX0VWQ1JfUElOX1BYMTFfUG9zKSAgLyohPCAweDAwMDAwMDBCICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMSAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTFfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyX01zayAgICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVZDUl9QSU5fUFgxMl9Qb3MpICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEyICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxMl9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTNfTXNrICAgICAgICAgICAgICAgKDB4RFUgPDwgQUZJT19FVkNSX1BJTl9QWDEzX1BvcykgIC8qITwgMHgwMDAwMDAwRCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTMgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDEzX01zayAgICAgICAgICAgIC8qITwgUGluIDEzIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNF9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUElOX1BYMTRfUG9zKSAgLyohPCAweDAwMDAwMDBFICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNCAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTRfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVZDUl9QSU5fUFgxNV9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDE1ICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxNV9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxNSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX01zayAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQT1JUWzI6MF0gYml0cyAoUG9ydCBzZWxlY3Rpb24pICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUXzIgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX0VWQ1JfUE9SVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qITwgUE9SVCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BBICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IEEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEJfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BCX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEIgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BCX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgQiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQ19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUENfUG9zKSAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUENfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBDIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUE9SVF9QRF9Qb3MpICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BEICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QRF9Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfUG9zICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BFX1BvcykgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEUgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BFX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgRSBzZWxlY3RlZCAqLw0KDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfRVZPRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFGSU9fRVZDUl9FVk9FICAgICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfRVZPRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBFdmVudCBPdXRwdXQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX01BUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TUEkxX1JFTUFQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1BJMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1BJMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1NQSTFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgU1BJMSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX0kyQzFfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9JMkMxX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fTUFQUl9JMkMxX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfSTJDMV9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBJMkMxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQxX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQxIHJlbWFwcGluZyAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQyX1JFTUFQICAgICAgICAgICAgICAgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Nc2sgICAgICAgIC8qITwgVVNBUlQyIHJlbWFwcGluZyAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVAgICAgICAgICAgICAgICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX01zayAgICAgICAgLyohPCBVU0FSVDNfUkVNQVBbMTowXSBiaXRzIChVU0FSVDMgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQXzEgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQovKiBVU0FSVDNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX05PUkVNQVAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKFRYL1BCMTAsIFJYL1BCMTEsIENLL1BCMTIsIENUUy9QQjEzLCBSVFMvUEIxNCkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfUG9zICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfUEFSVElBTFJFTUFQICBBRklPX01BUFJfVVNBUlQzX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChUWC9QQzEwLCBSWC9QQzExLCBDSy9QQzEyLCBDVFMvUEIxMywgUlRTL1BCMTQpICovDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX1BvcyAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9VU0FSVDNfUkVNQVBfRlVMTFJFTUFQX01zayAoMHgzVSA8PCBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVVNBUlQzX1JFTUFQX0ZVTExSRU1BUCAgICAgQUZJT19NQVBSX1VTQVJUM19SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoVFgvUEQ4LCBSWC9QRDksIENLL1BEMTAsIENUUy9QRDExLCBSVFMvUEQxMikgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTFfUkVNQVBbMTowXSBiaXRzIChUSU0xIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KDQovKiE8IFRJTTFfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKEVUUi9QQTEyLCBDSDEvUEE4LCBDSDIvUEE5LCBDSDMvUEExMCwgQ0g0L1BBMTEsIEJLSU4vUEIxMiwgQ0gxTi9QQjEzLCBDSDJOL1BCMTQsIENIM04vUEIxNSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX1BvcyAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQICAgIEFGSU9fTUFQUl9USU0xX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChFVFIvUEExMiwgQ0gxL1BBOCwgQ0gyL1BBOSwgQ0gzL1BBMTAsIENINC9QQTExLCBCS0lOL1BBNiwgQ0gxTi9QQTcsIENIMk4vUEIwLCBDSDNOL1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKEVUUi9QRTcsIENIMS9QRTksIENIMi9QRTExLCBDSDMvUEUxMywgQ0g0L1BFMTQsIEJLSU4vUEUxNSwgQ0gxTi9QRTgsIENIMk4vUEUxMCwgQ0gzTi9QRTEyKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNMl9SRU1BUFsxOjBdIGJpdHMgKFRJTTIgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMjAwICovDQoNCi8qITwgVElNMl9SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoQ0gxL0VUUi9QQTAsIENIMi9QQTEsIENIMy9QQTIsIENINC9QQTMpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMSAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDFfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL0VUUi9QQTE1LCBDSDIvUEIzLCBDSDMvUEEyLCBDSDQvUEEzKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcyAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDIgICBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAyX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKENIMS9FVFIvUEEwLCBDSDIvUEExLCBDSDMvUEIxMCwgQ0g0L1BCMTEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Qb3MgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9GVUxMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQICAgICAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Nc2sgLyohPCBGdWxsIHJlbWFwIChDSDEvRVRSL1BBMTUsIENIMi9QQjMsIENIMy9QQjEwLCBDSDQvUEIxMSkgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9USU0zX1JFTUFQX01zayAgICAgICAgICAvKiE8IFRJTTNfUkVNQVBbMTowXSBiaXRzIChUSU0zIHJlbWFwcGluZykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfMCAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KDQovKiE8IFRJTTNfUkVNQVAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9OT1JFTUFQICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gcmVtYXAgKENIMS9QQTYsIENIMi9QQTcsIENIMy9QQjAsIENINC9QQjEpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUCAgICBBRklPX01BUFJfVElNM19SRU1BUF9QQVJUSUFMUkVNQVBfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL1BCNCwgQ0gyL1BCNSwgQ0gzL1BCMCwgQ0g0L1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKENIMS9QQzYsIENIMi9QQzcsIENIMy9QQzgsIENINC9QQzkpICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTRfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9USU00X1JFTUFQX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU00X1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfVElNNF9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBUSU00X1JFTUFQIGJpdCAoVElNNCByZW1hcHBpbmcpICovDQoNCg0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfUEQwMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1BEMDFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1BEMDFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9QRDAxX1JFTUFQX01zayAgICAgICAgICAvKiE8IFBvcnQgRDAvUG9ydCBEMSBtYXBwaW5nIG9uIE9TQ19JTi9PU0NfT1VUICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU01Q0g0X0lSRU1BUF9Qb3MgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU01Q0g0X0lSRU1BUF9Nc2sgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVElNNUNINF9JUkVNQVBfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTVDSDRfSVJFTUFQICAgICAgICAgICAgIEFGSU9fTUFQUl9USU01Q0g0X0lSRU1BUF9Nc2sgICAgICAvKiE8IFRJTTUgQ2hhbm5lbDQgSW50ZXJuYWwgUmVtYXAgKi8NCg0KLyohPCBTV0pfQ0ZHIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTXNrICAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkcgICAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX01zayAgICAgICAgICAgICAvKiE8IFNXSl9DRkdbMjowXSBiaXRzIChTZXJpYWwgV2lyZSBKVEFHIGNvbmZpZ3VyYXRpb24pICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRklPX01BUFJfU1dKX0NGR19Qb3MpICAgLyohPCAweDA0MDAwMDAwICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfUkVTRVQgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZ1bGwgU1dKIChKVEFHLURQICsgU1ctRFApIDogUmVzZXQgU3RhdGUgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfUG9zICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfTXNrICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX1BvcykgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Nc2sgICAgLyohPCBGdWxsIFNXSiAoSlRBRy1EUCArIFNXLURQKSBidXQgd2l0aG91dCBKTlRSU1QgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfUG9zICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfTXNrICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX1BvcykgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFICAgICAgICBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Nc2sgLyohPCBKVEFHLURQIERpc2FibGVkIGFuZCBTVy1EUCBFbmFibGVkICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfUG9zICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfTXNrICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX1BvcykgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEUgICAgICAgICAgICBBRklPX01BUFJfU1dKX0NGR19ESVNBQkxFX01zayAgICAgLyohPCBKVEFHLURQIERpc2FibGVkIGFuZCBTVy1EUCBEaXNhYmxlZCAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTEgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX01zayAgICAgICAgICAgIC8qITwgRVhUSSAxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9Qb3MpICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUG9zKSAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMyAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDMgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEkwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEJfTXNrICAgICAgICAgLyohPCBQQlswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX01zayAgICAgICAgIC8qITwgUENbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEVfTXNrICAgICAgICAgLyohPCBQRVswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX01zayAgICAgICAgIC8qITwgUEZbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzBdIHBpbiAqLw0KDQovKiE8IEVYVEkxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEJfTXNrICAgICAgICAgLyohPCBQQlsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX01zayAgICAgICAgIC8qITwgUENbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEVfTXNrICAgICAgICAgLyohPCBQRVsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX01zayAgICAgICAgIC8qITwgUEZbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzFdIHBpbiAqLw0KDQovKiE8IEVYVEkyIGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUENfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUENfTXNrICAgICAgICAgLyohPCBQQ1syXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX01zayAgICAgICAgIC8qITwgUERbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Qb3MgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEZfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEZfTXNrICAgICAgICAgLyohPCBQRlsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX01zayAgICAgICAgIC8qITwgUEdbMl0gcGluICovDQoNCi8qITwgRVhUSTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Nc2sgICAgICAgICAvKiE8IFBCWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUENfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUENfTXNrICAgICAgICAgLyohPCBQQ1szXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX01zayAgICAgICAgIC8qITwgUERbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Nc2sgICAgICAgICAvKiE8IFBFWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEZfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEZfTXNrICAgICAgICAgLyohPCBQRlszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX01zayAgICAgICAgIC8qITwgUEdbM10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTUgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X01zayAgICAgICAgICAgIC8qITwgRVhUSSA1IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9Qb3MpICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUG9zKSAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNyAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDcgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEk0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEJfTXNrICAgICAgICAgLyohPCBQQls0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX01zayAgICAgICAgIC8qITwgUENbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEVfTXNrICAgICAgICAgLyohPCBQRVs0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX01zayAgICAgICAgIC8qITwgUEZbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzRdIHBpbiAqLw0KDQovKiBFWFRJNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QQl9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX01zayAgICAgICAgIC8qITwgUEJbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUERfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUERfTXNrICAgICAgICAgLyohPCBQRFs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QRV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX01zayAgICAgICAgIC8qITwgUEVbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEdfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEdfTXNrICAgICAgICAgLyohPCBQR1s1XSBwaW4gKi8NCg0KLyohPCBFWFRJNiBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEJfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEJfTXNrICAgICAgICAgLyohPCBQQls2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX01zayAgICAgICAgIC8qITwgUENbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEVfUG9zICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEVfTXNrICAgICAgICAgLyohPCBQRVs2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX01zayAgICAgICAgIC8qITwgUEZbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Nc2sgICAgICAgICAvKiE8IFBHWzZdIHBpbiAqLw0KDQovKiE8IEVYVEk3IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEJfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEJfTXNrICAgICAgICAgLyohPCBQQls3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX01zayAgICAgICAgIC8qITwgUENbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Nc2sgICAgICAgICAvKiE8IFBEWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEVfTXNrICAgICAgICAgLyohPCBQRVs3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX01zayAgICAgICAgIC8qITwgUEZbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QR19Nc2sgICAgICAgICAvKiE8IFBHWzddIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BvcykgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTggICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X01zayAgICAgICAgICAgIC8qITwgRVhUSSA4IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9Qb3MpICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgOSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfUG9zICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTBfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSTEwX1BvcykgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTEwX01zayAgICAgICAgICAgLyohPCBFWFRJIDEwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMV9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTFfUG9zKSAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMSAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTFfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTEgY29uZmlndXJhdGlvbiAqLw0KDQovKiE8IEVYVEk4IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEJfTXNrICAgICAgICAgLyohPCBQQls4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QQ19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX01zayAgICAgICAgIC8qITwgUENbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEVfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEVfTXNrICAgICAgICAgLyohPCBQRVs4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QRl9Qb3MpIC8qITwgMHgwMDAwMDAwNSAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX01zayAgICAgICAgIC8qITwgUEZbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QR19Nc2sgICAgICAgICAvKiE8IFBHWzhdIHBpbiAqLw0KDQovKiE8IEVYVEk5IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEJfTXNrICAgICAgICAgLyohPCBQQls5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX01zayAgICAgICAgIC8qITwgUENbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEVfTXNrICAgICAgICAgLyohPCBQRVs5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX01zayAgICAgICAgIC8qITwgUEZbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzldIHBpbiAqLw0KDQovKiE8IEVYVEkxMCBjb25maWd1cmF0aW9uICovICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEJfTXNrICAgICAgICAvKiE8IFBCWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUENfTXNrICAgICAgICAvKiE8IFBDWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUERfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUERfTXNrICAgICAgICAvKiE8IFBEWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEVfTXNrICAgICAgICAvKiE8IFBFWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEZfTXNrICAgICAgICAvKiE8IFBGWzEwXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfUEdfTXNrICAgICAgICAvKiE8IFBHWzEwXSBwaW4gKi8NCg0KLyohPCBFWFRJMTEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QQ19Nc2sgICAgICAgIC8qITwgUENbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRF9Nc2sgICAgICAgIC8qITwgUERbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFX1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Qb3MpIC8qITwgMHgwMDAwNTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHX1BvcyAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9QR19Nc2sgICAgICAgIC8qITwgUEdbMTFdIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX0VYVElDUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxMl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTEyICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxMl9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BvcykgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTMgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX01zayAgICAgICAgICAgLyohPCBFWFRJIDEzIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNF9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTRfUG9zKSAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNCAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNV9Qb3MpIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE1ICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNV9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxNSBjb25maWd1cmF0aW9uICovDQoNCi8qIEVYVEkxMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BCX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BCX01zayAgICAgICAgLyohPCBQQlsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BDX01zayAgICAgICAgLyohPCBQQ1sxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BEX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BEX01zayAgICAgICAgLyohPCBQRFsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BFX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BFX01zayAgICAgICAgLyohPCBQRVsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BGX01zayAgICAgICAgLyohPCBQRlsxMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfUG9zICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BHX1BvcykgLyohPCAweDAwMDAwMDA2ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX1BHX01zayAgICAgICAgLyohPCBQR1sxMl0gcGluICovDQoNCi8qIEVYVEkxMyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BCX01zayAgICAgICAgLyohPCBQQlsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BDX01zayAgICAgICAgLyohPCBQQ1sxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BEX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BEX01zayAgICAgICAgLyohPCBQRFsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfUG9zICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BFX01zayAgICAgICAgLyohPCBQRVsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BGX01zayAgICAgICAgLyohPCBQRlsxM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTEzX1BHX1BvcykgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEzX1BHX01zayAgICAgICAgLyohPCBQR1sxM10gcGluICovDQoNCi8qITwgRVhUSTE0IGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QQ19Nc2sgICAgICAgIC8qITwgUENbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRF9Nc2sgICAgICAgIC8qITwgUERbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFX1BvcyAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9QR19Nc2sgICAgICAgIC8qITwgUEdbMTRdIHBpbiAqLw0KDQovKiE8IEVYVEkxNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BCX01zayAgICAgICAgLyohPCBQQlsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BDX01zayAgICAgICAgLyohPCBQQ1sxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BEX01zayAgICAgICAgLyohPCBQRFsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BFX01zayAgICAgICAgLyohPCBQRVsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BGX01zayAgICAgICAgLyohPCBQRlsxNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X1BHX01zayAgICAgICAgLyohPCBQR1sxNV0gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRklPX01BUFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQoNCg0KI2RlZmluZSBBRklPX01BUFIyX0ZTTUNfTkFEVl9SRU1BUF9Qb3MgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFIyX0ZTTUNfTkFEVl9SRU1BUF9Nc2sgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSMl9GU01DX05BRFZfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSMl9GU01DX05BRFZfUkVNQVAgICAgICAgICAgIEFGSU9fTUFQUjJfRlNNQ19OQURWX1JFTUFQX01zayAgICAvKiE8IEZTTUMgTkFEViByZW1hcHBpbmcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9JTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfSU1SX01SMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfSU1SX01SMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfSU1SX01SM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfSU1SX01SNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfSU1SX01SNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjhfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfSU1SX01SOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SOV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfSU1SX01SOSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIxOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTggKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0lNUl9JTTAgRVhUSV9JTVJfTVIwDQojZGVmaW5lICBFWFRJX0lNUl9JTTEgRVhUSV9JTVJfTVIxDQojZGVmaW5lICBFWFRJX0lNUl9JTTIgRVhUSV9JTVJfTVIyDQojZGVmaW5lICBFWFRJX0lNUl9JTTMgRVhUSV9JTVJfTVIzDQojZGVmaW5lICBFWFRJX0lNUl9JTTQgRVhUSV9JTVJfTVI0DQojZGVmaW5lICBFWFRJX0lNUl9JTTUgRVhUSV9JTVJfTVI1DQojZGVmaW5lICBFWFRJX0lNUl9JTTYgRVhUSV9JTVJfTVI2DQojZGVmaW5lICBFWFRJX0lNUl9JTTcgRVhUSV9JTVJfTVI3DQojZGVmaW5lICBFWFRJX0lNUl9JTTggRVhUSV9JTVJfTVI4DQojZGVmaW5lICBFWFRJX0lNUl9JTTkgRVhUSV9JTVJfTVI5DQojZGVmaW5lICBFWFRJX0lNUl9JTTEwIEVYVElfSU1SX01SMTANCiNkZWZpbmUgIEVYVElfSU1SX0lNMTEgRVhUSV9JTVJfTVIxMQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMiBFWFRJX0lNUl9NUjEyDQojZGVmaW5lICBFWFRJX0lNUl9JTTEzIEVYVElfSU1SX01SMTMNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTQgRVhUSV9JTVJfTVIxNA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNSBFWFRJX0lNUl9NUjE1DQojZGVmaW5lICBFWFRJX0lNUl9JTTE2IEVYVElfSU1SX01SMTYNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTcgRVhUSV9JTVJfTVIxNw0KI2RlZmluZSAgRVhUSV9JTVJfSU0xOCBFWFRJX0lNUl9NUjE4DQojZGVmaW5lICBFWFRJX0lNUl9JTSAgIDB4MDAwN0ZGRkZVICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIEFsbCAqLw0KIA0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0VNUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIwX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIwX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfRU1SX01SMSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAzICovDQojZGVmaW5lIEVYVElfRU1SX01SNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfRU1SX01SNCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI2X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA2ICovDQojZGVmaW5lIEVYVElfRU1SX01SN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SN19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfRU1SX01SNyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjhfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI5X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA5ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfRU1SX01SMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE1X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTZfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTZfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxN19Qb3MgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE4X1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE4X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9FTVJfRU0wIEVYVElfRU1SX01SMA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xIEVYVElfRU1SX01SMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0yIEVYVElfRU1SX01SMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0zIEVYVElfRU1SX01SMw0KI2RlZmluZSAgRVhUSV9FTVJfRU00IEVYVElfRU1SX01SNA0KI2RlZmluZSAgRVhUSV9FTVJfRU01IEVYVElfRU1SX01SNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU02IEVYVElfRU1SX01SNg0KI2RlZmluZSAgRVhUSV9FTVJfRU03IEVYVElfRU1SX01SNw0KI2RlZmluZSAgRVhUSV9FTVJfRU04IEVYVElfRU1SX01SOA0KI2RlZmluZSAgRVhUSV9FTVJfRU05IEVYVElfRU1SX01SOQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMCBFWFRJX0VNUl9NUjEwDQojZGVmaW5lICBFWFRJX0VNUl9FTTExIEVYVElfRU1SX01SMTENCiNkZWZpbmUgIEVYVElfRU1SX0VNMTIgRVhUSV9FTVJfTVIxMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMyBFWFRJX0VNUl9NUjEzDQojZGVmaW5lICBFWFRJX0VNUl9FTTE0IEVYVElfRU1SX01SMTQNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTUgRVhUSV9FTVJfTVIxNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNiBFWFRJX0VNUl9NUjE2DQojZGVmaW5lICBFWFRJX0VNUl9FTTE3IEVYVElfRU1SX01SMTcNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTggRVhUSV9FTVJfTVIxOA0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9SVFNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIzX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAzICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA2ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI5ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA5ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEwICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjExX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjExX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjExICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjExX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEyX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEyICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjEzICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0X1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE0ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE0X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE1ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE2ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3X1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE3X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE3ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE3X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE4X1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjE4X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjE4X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjE4ICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjE4X01zayAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMCBFWFRJX1JUU1JfVFIwDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxIEVYVElfUlRTUl9UUjENCiNkZWZpbmUgIEVYVElfUlRTUl9SVDIgRVhUSV9SVFNSX1RSMg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMyBFWFRJX1JUU1JfVFIzDQojZGVmaW5lICBFWFRJX1JUU1JfUlQ0IEVYVElfUlRTUl9UUjQNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDUgRVhUSV9SVFNSX1RSNQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNiBFWFRJX1JUU1JfVFI2DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ3IEVYVElfUlRTUl9UUjcNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDggRVhUSV9SVFNSX1RSOA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUOSBFWFRJX1JUU1JfVFI5DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMCBFWFRJX1JUU1JfVFIxMA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTEgRVhUSV9SVFNSX1RSMTENCiNkZWZpbmUgIEVYVElfUlRTUl9SVDEyIEVYVElfUlRTUl9UUjEyDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMyBFWFRJX1JUU1JfVFIxMw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTQgRVhUSV9SVFNSX1RSMTQNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE1IEVYVElfUlRTUl9UUjE1DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNiBFWFRJX1JUU1JfVFIxNg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTcgRVhUSV9SVFNSX1RSMTcNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE4IEVYVElfUlRTUl9UUjE4DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0ZUU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfRlRTUl9UUjBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjIgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAzICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjUgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA2ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA3ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjggICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA5ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEwX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEwICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMSAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEzICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE2ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxN19Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxN19Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNyAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMThfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMThfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMThfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMCBFWFRJX0ZUU1JfVFIwDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxIEVYVElfRlRTUl9UUjENCiNkZWZpbmUgIEVYVElfRlRTUl9GVDIgRVhUSV9GVFNSX1RSMg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMyBFWFRJX0ZUU1JfVFIzDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ0IEVYVElfRlRTUl9UUjQNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDUgRVhUSV9GVFNSX1RSNQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNiBFWFRJX0ZUU1JfVFI2DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ3IEVYVElfRlRTUl9UUjcNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDggRVhUSV9GVFNSX1RSOA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUOSBFWFRJX0ZUU1JfVFI5DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMCBFWFRJX0ZUU1JfVFIxMA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTEgRVhUSV9GVFNSX1RSMTENCiNkZWZpbmUgIEVYVElfRlRTUl9GVDEyIEVYVElfRlRTUl9UUjEyDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMyBFWFRJX0ZUU1JfVFIxMw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTQgRVhUSV9GVFNSX1RSMTQNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE1IEVYVElfRlRTUl9UUjE1DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNiBFWFRJX0ZUU1JfVFIxNg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTcgRVhUSV9GVFNSX1RSMTcNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE4IEVYVElfRlRTUl9UUjE4DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1NXSUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIwX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIwX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyX1BvcyAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIyX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIyICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIyX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIzX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIzX01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAzICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0X1BvcyAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI0X1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI0ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI0X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1X1BvcyAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI1X1BvcykgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI1ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI1X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI2X1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI2X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA2ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3X1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI3X1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI3ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI3X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA3ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4X1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI4X1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI4ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI4X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X01zayAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI5X1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5ICAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI5X01zayAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA5ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMF9Qb3MgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMF9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTFfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTFfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTFfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTEgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTFfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyX1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEyX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjEyICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEyX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxM19Qb3MgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxM19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxM19Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMyAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxM19Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTRfUG9zICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTRfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTRfUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTQgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTRfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1X1BvcyAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE1X1BvcykgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE1ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE1X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNl9Qb3MgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNl9Qb3MpICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNiAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNl9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTdfUG9zICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTdfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTdfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTcgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTdfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE4X1BvcyAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE4X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE4X1BvcykgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE4ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE4X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kwIEVYVElfU1dJRVJfU1dJRVIwDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEgRVhUSV9TV0lFUl9TV0lFUjENCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMiBFWFRJX1NXSUVSX1NXSUVSMg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kzIEVYVElfU1dJRVJfU1dJRVIzDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTQgRVhUSV9TV0lFUl9TV0lFUjQNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNSBFWFRJX1NXSUVSX1NXSUVSNQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k2IEVYVElfU1dJRVJfU1dJRVI2DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTcgRVhUSV9TV0lFUl9TV0lFUjcNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJOCBFWFRJX1NXSUVSX1NXSUVSOA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k5IEVYVElfU1dJRVJfU1dJRVI5DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEwIEVYVElfU1dJRVJfU1dJRVIxMA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMSBFWFRJX1NXSUVSX1NXSUVSMTENCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTIgRVhUSV9TV0lFUl9TV0lFUjEyDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEzIEVYVElfU1dJRVJfU1dJRVIxMw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNCBFWFRJX1NXSUVSX1NXSUVSMTQNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTUgRVhUSV9TV0lFUl9TV0lFUjE1DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE2IEVYVElfU1dJRVJfU1dJRVIxNg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNyBFWFRJX1NXSUVSX1NXSUVSMTcNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTggRVhUSV9TV0lFUl9TV0lFUjE4DQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9QUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUFJfUFIwX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIwX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIwX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUFJfUFIwICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIwX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfUFJfUFIxICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxICovDQojZGVmaW5lIEVYVElfUFJfUFIyX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIyX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIyX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfUFJfUFIyICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIyX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAyICovDQojZGVmaW5lIEVYVElfUFJfUFIzX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIzX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIzX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUFJfUFIzICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIzX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAzICovDQojZGVmaW5lIEVYVElfUFJfUFI0X1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI0X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI0X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfUFJfUFI0ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI0X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA0ICovDQojZGVmaW5lIEVYVElfUFJfUFI1X1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI1X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI1X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfUFJfUFI1ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI1X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUFJfUFI2X1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI2X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI2X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUFJfUFI2ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI2X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA2ICovDQojZGVmaW5lIEVYVElfUFJfUFI3X1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI3X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI3X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfUFJfUFI3ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI3X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA3ICovDQojZGVmaW5lIEVYVElfUFJfUFI4X1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI4X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI4X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfUFJfUFI4ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI4X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUFJfUFI5X1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI5X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI5X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUFJfUFI5ICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFI5X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA5ICovDQojZGVmaW5lIEVYVElfUFJfUFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTFfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjEyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjEyICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjEyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfUFJfUFIxM19Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE1X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE1ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfUFJfUFIxNl9Qb3MgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTdfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE4X1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE4X1BvcykgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE4ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9QUl9QSUYwIEVYVElfUFJfUFIwDQojZGVmaW5lICBFWFRJX1BSX1BJRjEgRVhUSV9QUl9QUjENCiNkZWZpbmUgIEVYVElfUFJfUElGMiBFWFRJX1BSX1BSMg0KI2RlZmluZSAgRVhUSV9QUl9QSUYzIEVYVElfUFJfUFIzDQojZGVmaW5lICBFWFRJX1BSX1BJRjQgRVhUSV9QUl9QUjQNCiNkZWZpbmUgIEVYVElfUFJfUElGNSBFWFRJX1BSX1BSNQ0KI2RlZmluZSAgRVhUSV9QUl9QSUY2IEVYVElfUFJfUFI2DQojZGVmaW5lICBFWFRJX1BSX1BJRjcgRVhUSV9QUl9QUjcNCiNkZWZpbmUgIEVYVElfUFJfUElGOCBFWFRJX1BSX1BSOA0KI2RlZmluZSAgRVhUSV9QUl9QSUY5IEVYVElfUFJfUFI5DQojZGVmaW5lICBFWFRJX1BSX1BJRjEwIEVYVElfUFJfUFIxMA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMSBFWFRJX1BSX1BSMTENCiNkZWZpbmUgIEVYVElfUFJfUElGMTIgRVhUSV9QUl9QUjEyDQojZGVmaW5lICBFWFRJX1BSX1BJRjEzIEVYVElfUFJfUFIxMw0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNCBFWFRJX1BSX1BSMTQNCiNkZWZpbmUgIEVYVElfUFJfUElGMTUgRVhUSV9QUl9QUjE1DQojZGVmaW5lICBFWFRJX1BSX1BJRjE2IEVYVElfUFJfUFIxNg0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNyBFWFRJX1BSX1BSMTcNCiNkZWZpbmUgIEVYVElfUFJfUElGMTggRVhUSV9QUl9QUjE4DQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSBDb250cm9sbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9JU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfSVNSX0dJRjFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjEgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYxICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMV9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMV9Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGMl9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9JU1JfR0lGMiAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjJfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjIgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYyX1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYyICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYyX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYyICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYzX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYzX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYzICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGM19Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjNfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjMgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjNfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjMgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjRfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjQgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY0X1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY0ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjVfUG9zICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjVfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjUgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY1X1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY1X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY1ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY1X1BvcyAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY1X1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY1ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY2X1BvcyAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY2X1BvcykgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY2ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNl9Qb3MgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNl9Qb3MpICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjZfUG9zICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjZfUG9zKSAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjYgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjZfUG9zICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjZfUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjYgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjdfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjdfUG9zKSAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjcgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY3X1BvcyAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY3X1BvcykgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY3ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGN19Qb3MgICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGN19Qb3MpICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGN19Qb3MgICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGN19Qb3MpICAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBFcnJvciBmbGFnICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0lGQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYxX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUYxX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUYxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYxICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUYxX01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjFfUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjFfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjEgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjFfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjFfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjEgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUYyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUYyX01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjJfUG9zICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjJfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjIgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjJfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjJfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjIgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYzX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUYzX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUYzX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYzICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUYzX01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjNfUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjNfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjMgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjNfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGM19Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGM19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGM19Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGM19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjNfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjNfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjMgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjNfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY0X1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY0X1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY0ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY0X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjRfUG9zICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjRfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjQgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNF9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNCAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjRfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjRfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjQgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1X1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY1X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY1X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjVfUG9zICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjVfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjUgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNV9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGNV9Qb3MpICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNSAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjVfUG9zICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjVfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjUgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY2X1BvcyAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY2X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY2X1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY2ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY2X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjZfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjZfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjYgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjZfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNl9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGNl9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNiAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjZfUG9zICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjZfUG9zKSAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjYgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjZfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY3X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY3X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUY3X1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY3ICAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NHSUY3X01zayAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgR2xvYmFsIGludGVycnVwdCBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjdfUG9zICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjdfUG9zKSAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjcgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVENJRjdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGN19Qb3MgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGN19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGN19Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGNyAgICAgICAgICAgICAgICAgICAgIERNQV9JRkNSX0NIVElGN19Nc2sgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgSGFsZiBUcmFuc2ZlciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjdfUG9zICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjdfUG9zKSAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjcgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DVEVJRjdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IFRyYW5zZmVyIEVycm9yIGNsZWFyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NDUiByZWdpc3RlciAgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DQ1JfRU5fUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfRU5fUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIERNQV9DQ1JfRU4gICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfRU5fTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX1RDSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1RDSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBETUFfQ0NSX1RDSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgY29tcGxldGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX0hUSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0hUSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0hUSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfQ0NSX0hUSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0hUSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSGFsZiBUcmFuc2ZlciBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfVEVJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfVEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfVEVJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9DQ1JfVEVJRSAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfVEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc2ZlciBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIERNQV9DQ1JfRElSX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfRElSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfRElSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9DQ1JfRElSICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfRElSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIHRyYW5zZmVyIGRpcmVjdGlvbiAqLw0KI2RlZmluZSBETUFfQ0NSX0NJUkNfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0NJUkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0NJUkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfQ0NSX0NJUkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0NJUkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2lyY3VsYXIgbW9kZSAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkNfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BJTkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BJTkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BJTkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBpbmNyZW1lbnQgbW9kZSAqLw0KI2RlZmluZSBETUFfQ0NSX01JTkNfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01JTkNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01JTkNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBETUFfQ0NSX01JTkMgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01JTkNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IGluY3JlbWVudCBtb2RlICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QU0laRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBTSVpFWzE6MF0gYml0cyAoUGVyaXBoZXJhbCBzaXplKSAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BTSVpFXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfTVNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkUgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfTVNJWkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBNU0laRVsxOjBdIGJpdHMgKE1lbW9yeSBzaXplKSAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIERNQV9DQ1JfUExfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUExfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfUExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIERNQV9DQ1JfUEwgICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUExfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQTFsxOjBdIGJpdHMoQ2hhbm5lbCBQcmlvcml0eSBsZXZlbCkgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTF8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTF8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU1fUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU1fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01FTTJNRU1fUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01FTTJNRU0gICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01FTTJNRU1fTXNrICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IHRvIG1lbW9yeSBtb2RlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ05EVFIgIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTkRUUl9ORFRfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTkRUUl9ORFRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IERNQV9DTkRUUl9ORFRfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIERNQV9DTkRUUl9ORFQgICAgICAgICAgICAgICAgICAgICAgIERNQV9DTkRUUl9ORFRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBOdW1iZXIgb2YgZGF0YSB0byBUcmFuc2ZlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NQQVIgIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ1BBUl9QQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ1BBUl9QQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NQQVJfUEFfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ1BBUl9QQSAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ1BBUl9QQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ01BUiAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTUFSX01BX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTUFSX01BX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ01BUl9NQV9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIERNQV9DTUFSX01BICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DTUFSX01BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgIEFuYWxvZyB0byBEaWdpdGFsIENvbnZlcnRlciAoQURDKSAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoNCiAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgZmFtaWx5KQ0KICovDQovKiBOb3RlOiBObyBzcGVjaWZpYyBtYWNybyBmZWF0dXJlIG9uIHRoaXMgZGV2aWNlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUl9BV0RfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9BV0RfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9BV0RfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUl9BV0QgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9BV0RfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfRU9TX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfRU9TX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfRU9TX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1JfRU9TICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfRU9TX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX0pFT1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0pFT1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0pFT1NfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NSX0pFT1MgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0pFT1NfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfSlNUUlRfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfSlNUUlRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfSlNUUlRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1JfSlNUUlQgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfSlNUUlRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGNvbnZlcnNpb24gc3RhcnQgZmxhZyAqLw0KI2RlZmluZSBBRENfU1JfU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfU1RSVF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfU1JfU1RSVCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCBmbGFnICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBBRENfU1JfRU9DICAgICAgICAgICAgICAgICAgICAgICAgICAoQURDX1NSX0VPUykNCiNkZWZpbmUgIEFEQ19TUl9KRU9DICAgICAgICAgICAgICAgICAgICAgICAgIChBRENfU1JfSkVPUykNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RDSF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSCAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RDSF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBtb25pdG9yZWQgY2hhbm5lbCBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RDSF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19DUjFfQVdEQ0hfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0VPU0lFX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0VPU0lFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0VPU0lFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfQ1IxX0VPU0lFICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0VPU0lFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRElFX1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXRElFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXRElFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXRElFICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXRElFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfQ1IxX0pFT1NJRV9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pFT1NJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pFT1NJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfQ1IxX0pFT1NJRSAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pFT1NJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0NSMV9TQ0FOX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9TQ0FOX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9TQ0FOX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9TQ0FOICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9TQ0FOX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBzY2FuIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RTR0xfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RTR0xfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RTR0xfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RTR0wgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RTR0xfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBtb25pdG9yaW5nIGEgc2luZ2xlIGNoYW5uZWwgb3IgYWxsIGNoYW5uZWxzICovDQojZGVmaW5lIEFEQ19DUjFfSkFVVE9fUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkFVVE9fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkFVVE9fUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkFVVE8gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkFVVE9fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgYXV0b21hdGljIHRyaWdnZXIgbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NFTl9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0RJU0NFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0RJU0NFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NFTiAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0RJU0NFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IxX0pESVNDRU5fUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pESVNDRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pESVNDRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0pESVNDRU4gICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pESVNDRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciBkaXNjb250aW51b3VzIG1vZGUgKi8NCg0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fUG9zICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwRTAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU0gICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0RJU0NOVU1fTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbnVtYmVyIG9mIHJhbmtzICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFEQ19DUjFfRElTQ05VTV8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjFfRElTQ05VTV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgQURDX0NSMV9KQVdERU5fUG9zICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KQVdERU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KQVdERU5fUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KQVdERU4gICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KQVdERU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBlbmFibGUgb24gc2NvcGUgQURDIGdyb3VwIGluamVjdGVkICovDQojZGVmaW5lIEFEQ19DUjFfQVdERU5fUG9zICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdERU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfQVdERU5fUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19DUjFfQVdERU4gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdERU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZW5hYmxlIG9uIHNjb3BlIEFEQyBncm91cCByZWd1bGFyICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBBRENfQ1IxX0VPQ0lFICAgICAgICAgICAgICAgICAgICAgICAoQURDX0NSMV9FT1NJRSkNCiNkZWZpbmUgIEFEQ19DUjFfSkVPQ0lFICAgICAgICAgICAgICAgICAgICAgIChBRENfQ1IxX0pFT1NJRSkNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NSMl9BRE9OX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9BRE9OX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9BRE9OX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0NSMl9BRE9OICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BRE9OX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBlbmFibGUgKi8NCiNkZWZpbmUgQURDX0NSMl9DT05UX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9DT05UX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9DT05UX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0NSMl9DT05UICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9DT05UX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnRpbnVvdXMgY29udmVyc2lvbiBtb2RlICovDQojZGVmaW5lIEFEQ19DUjJfQ0FMX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQ0FMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQ0FMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19DUjJfQ0FMICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQ0FMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgY2FsaWJyYXRpb24gc3RhcnQgKi8NCiNkZWZpbmUgQURDX0NSMl9SU1RDQUxfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9SU1RDQUxfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9SU1RDQUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0NSMl9SU1RDQUwgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9SU1RDQUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjYWxpYnJhdGlvbiByZXNldCAqLw0KI2RlZmluZSBBRENfQ1IyX0RNQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0RNQV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIERNQSB0cmFuc2ZlciBlbmFibGUgKi8NCiNkZWZpbmUgQURDX0NSMl9BTElHTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUwgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGV4dGVybmFsIHRyaWdnZXIgc291cmNlICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX0NSMl9KRVhUVFJJR19Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9KRVhUVFJJR19Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUVFJJRyAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9KRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBleHRlcm5hbCB0cmlnZ2VyIGVuYWJsZSAqLw0KDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMX1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19DUjJfRVhUU0VMX1BvcykgICAgICAgLyohPCAweDAwMEUwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUU0VMICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRVhUU0VMX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBleHRlcm5hbCB0cmlnZ2VyIHNvdXJjZSAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19DUjJfRVhUVFJJR19Qb3MgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfRVhUVFJJR19Qb3MpICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfRVhUVFJJRyAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRVhUVFJJR19Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBleHRlcm5hbCB0cmlnZ2VyIGVuYWJsZSAqLw0KI2RlZmluZSBBRENfQ1IyX0pTV1NUQVJUX1BvcyAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0pTV1NUQVJUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pTV1NUQVJUX1BvcykgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pTV1NUQVJUICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0pTV1NUQVJUX01zayAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGNvbnZlcnNpb24gc3RhcnQgKi8NCiNkZWZpbmUgQURDX0NSMl9TV1NUQVJUX1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9TV1NUQVJUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9TV1NUQVJUX1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9TV1NUQVJUICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9TV1NUQVJUX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnZlcnNpb24gc3RhcnQgKi8NCiNkZWZpbmUgQURDX0NSMl9UU1ZSRUZFX1BvcyAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9UU1ZSRUZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9UU1ZSRUZFX1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9UU1ZSRUZFICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9UU1ZSRUZFX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBpbnRlcm5hbCBwYXRoIHRvIFZyZWZJbnQgYW5kIHRlbXBlcmF0dXJlIHNlbnNvciBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TTVBSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDEwX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEwIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTBfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMSAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMSBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDExXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDExX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTIgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTIgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMl8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDBFMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDEzX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEzIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTNfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNCAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE0XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAzODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTUgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTUgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNV8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxNV9Qb3MpICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2X1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAxQzAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE2X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE2IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTZfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTZfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN19Qb3MgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN19Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwRTAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNyAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxN19Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE3XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE3X1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TTVBSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDBfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDAgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDAgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDFfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDEgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDJfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxQzAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDIgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDIgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDNfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDBFMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDMgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDNfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDMgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDRfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDQgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDRfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDQgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDVfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDVfUG9zKSAgICAgICAvKiE8IDB4MDAwMzgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDUgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDUgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfUG9zICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDZfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDZfUG9zKSAgICAgICAvKiE8IDB4MDAxQzAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDYgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDZfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDYgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfUG9zICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDdfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDdfUG9zKSAgICAgICAvKiE8IDB4MDBFMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDcgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDdfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDcgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfUG9zICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDhfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDhfUG9zKSAgICAgICAvKiE8IDB4MDcwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDggICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDhfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDggc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfUG9zICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIyX1NNUDlfTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIyX1NNUDlfUG9zKSAgICAgICAvKiE8IDB4MzgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIyX1NNUDkgICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIyX1NNUDlfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDkgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5XzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlIxX0pPRkZTRVQxX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSMV9KT0ZGU0VUMSAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSMV9KT0ZGU0VUMV9Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMSBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlIyX0pPRkZTRVQyX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlIyX0pPRkZTRVQyX01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjJfSk9GRlNFVDJfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlIyX0pPRkZTRVQyICAgICAgICAgICAgICAgICAgQURDX0pPRlIyX0pPRkZTRVQyX01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAyIG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjNfSk9GRlNFVDNfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjNfSk9GRlNFVDNfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSM19KT0ZGU0VUM19Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjNfSk9GRlNFVDMgICAgICAgICAgICAgICAgICBBRENfSk9GUjNfSk9GRlNFVDNfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlI0X0pPRkZTRVQ0X1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSNF9KT0ZGU0VUNCAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSNF9KT0ZGU0VUNF9Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgNCBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0hUUl9IVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0hUUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSFRSX0hUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0hUUl9IVCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0hUUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSB0aHJlc2hvbGQgaGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19MVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfTFRSX0xUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfTFRSX0xUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19MVFJfTFRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfTFRSX0xUICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfTFRSX0xUX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIHRocmVzaG9sZCBsb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExM19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExMyAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEzICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfU1ExNF9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNCAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDE0ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfU1ExNV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNSAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDE1ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfU1ExNl9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfU1ExNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIxX1NRMTZfUG9zKSAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfU1ExNiAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfU1ExNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDE2ICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjFfTF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjFfTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjFfTF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBzY2FuIGxlbmd0aCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9MXzMgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBBRENfU1FSMV9MX1BvcykgICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTcgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNyAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTdfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1E3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NROF9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NROF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NROF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA4ICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROF80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUThfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1E5X1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1E5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1E5X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDkgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E5XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NROV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1ExMF9Qb3MpICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEwICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMF80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTExX1BvcyAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTExX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMUYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTExX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMSAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTExXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExMV9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfUG9zICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NRMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTEyX1BvcykgICAgICAgLyohPCAweDNFMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTIgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NRMTJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMiAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTEgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTFfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1ExX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRMl9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAyICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMl80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1EzX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1EzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1EzX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDMgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1EzXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTRfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDBGODAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTQgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTRfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1E0X1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRNV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAxRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA1ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTVfUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1E2X1BvcyAgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1E2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4M0UwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1E2X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDYgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E2XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRNl9Qb3MpICAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSlNRUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMSAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRMl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAzRTAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMiAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAyICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRM19Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRMyAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSlNRNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSlNRNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19KU1FSX0pTUTRfUG9zKSAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSlNRNCAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSlNRNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0ICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX0pTUVJfSkxfUG9zICAgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pTUVJfSkxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgQURDX0pTUVJfSkxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSkwgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0pTUVJfSkxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgc2NhbiBsZW5ndGggKi8NCiNkZWZpbmUgQURDX0pTUVJfSkxfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0pTUVJfSkxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX0pTUVJfSkxfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0pTUVJfSkxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjFfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjFfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjFfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjFfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjFfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAxIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSMl9KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSMl9KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSMl9KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSMl9KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSMl9KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDIgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIzX0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIzX0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIzX0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjRfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjRfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjRfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjRfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjRfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayA0IGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfRFJfREFUQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfRFJfREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfRFJfREFUQV9Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfRFJfREFUQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfRFJfREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBkYXRhICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgIERpZ2l0YWwgdG8gQW5hbG9nIENvbnZlcnRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0NSX0VOMV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0VOMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0VOMV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgREFDX0NSX0VOMSAgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0VOMV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBlbmFibGUgKi8NCiNkZWZpbmUgREFDX0NSX0JPRkYxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0JPRkYxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0JPRkYxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREFDX0NSX0JPRkYxICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0JPRkYxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBvdXRwdXQgYnVmZmVyIGRpc2FibGUgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjFfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1RFTjFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1RFTjFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgREFDX0NSX1RFTjEgICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1RFTjFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBUcmlnZ2VyIGVuYWJsZSAqLw0KDQojZGVmaW5lIERBQ19DUl9UU0VMMV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9UU0VMMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IERBQ19DUl9UU0VMMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIERBQ19DUl9UU0VMMSAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9UU0VMMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBUU0VMMVsyOjBdIChEQUMgY2hhbm5lbDEgVHJpZ2dlciBzZWxlY3Rpb24pICovDQojZGVmaW5lIERBQ19DUl9UU0VMMV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9UU0VMMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERBQ19DUl9UU0VMMV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9UU0VMMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERBQ19DUl9UU0VMMV8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IERBQ19DUl9UU0VMMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgREFDX0NSX1dBVkUxX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX1dBVkUxX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgREFDX0NSX1dBVkUxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUxICAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX1dBVkUxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFdBVkUxWzE6MF0gKERBQyBjaGFubmVsMSBub2lzZS90cmlhbmdsZSB3YXZlIGdlbmVyYXRpb24gZW5hYmxlKSAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfV0FWRTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBEQUNfQ1JfV0FWRTFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfV0FWRTFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIERBQ19DUl9NQU1QMV9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9NQU1QMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IERBQ19DUl9NQU1QMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMSAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9NQU1QMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNQU1QMVszOjBdIChEQUMgY2hhbm5lbDEgTWFzay9BbXBsaXR1ZGUgc2VsZWN0b3IpICovDQojZGVmaW5lIERBQ19DUl9NQU1QMV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9NQU1QMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERBQ19DUl9NQU1QMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMV8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IERBQ19DUl9NQU1QMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERBQ19DUl9NQU1QMV8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IERBQ19DUl9NQU1QMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgREFDX0NSX0RNQUVOMV9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0NSX0RNQUVOMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX0RNQUVOMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgREFDX0NSX0RNQUVOMSAgICAgICAgICAgICAgICAgICAgICAgREFDX0NSX0RNQUVOMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBETUEgZW5hYmxlICovDQojZGVmaW5lIERBQ19DUl9FTjJfUG9zICAgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9FTjJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9FTjJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERBQ19DUl9FTjIgICAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9FTjJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgZW5hYmxlICovDQojZGVmaW5lIERBQ19DUl9CT0ZGMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9CT0ZGMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9CT0ZGMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERBQ19DUl9CT0ZGMiAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9CT0ZGMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgb3V0cHV0IGJ1ZmZlciBkaXNhYmxlICovDQojZGVmaW5lIERBQ19DUl9URU4yX1BvcyAgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9URU4yX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9URU4yX1BvcykgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERBQ19DUl9URU4yICAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9URU4yX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgVHJpZ2dlciBlbmFibGUgKi8NCg0KI2RlZmluZSBEQUNfQ1JfVFNFTDJfUG9zICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfVFNFTDJfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBEQUNfQ1JfVFNFTDJfUG9zKSAgICAgICAgIC8qITwgMHgwMDM4MDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDIgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfVFNFTDJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVFNFTDJbMjowXSAoREFDIGNoYW5uZWwyIFRyaWdnZXIgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfVFNFTDJfUG9zKSAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfVFNFTDJfUG9zKSAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfVFNFTDJfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBEQUNfQ1JfVFNFTDJfUG9zKSAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KDQojZGVmaW5lIERBQ19DUl9XQVZFMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9XQVZFMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERBQ19DUl9XQVZFMl9Qb3MpICAgICAgICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIERBQ19DUl9XQVZFMiAgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9XQVZFMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBXQVZFMlsxOjBdIChEQUMgY2hhbm5lbDIgbm9pc2UvdHJpYW5nbGUgd2F2ZSBnZW5lcmF0aW9uIGVuYWJsZSkgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUyXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREFDX0NSX1dBVkUyX1BvcykgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgREFDX0NSX1dBVkUyXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgREFDX0NSX1dBVkUyX1BvcykgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfUG9zICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBEQUNfQ1JfTUFNUDJfUG9zKSAgICAgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDIgICAgICAgICAgICAgICAgICAgICAgICBEQUNfQ1JfTUFNUDJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTUFNUDJbMzowXSAoREFDIGNoYW5uZWwyIE1hc2svQW1wbGl0dWRlIHNlbGVjdG9yKSAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfQ1JfTUFNUDJfUG9zKSAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBEQUNfQ1JfTUFNUDJfUG9zKSAgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBEQUNfQ1JfTUFNUDJfUG9zKSAgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBEQUNfQ1JfTUFNUDJfMyAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBEQUNfQ1JfTUFNUDJfUG9zKSAgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQojZGVmaW5lIERBQ19DUl9ETUFFTjJfUG9zICAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19DUl9ETUFFTjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERBQ19DUl9ETUFFTjJfUG9zKSAgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIERBQ19DUl9ETUFFTjIgICAgICAgICAgICAgICAgICAgICAgIERBQ19DUl9ETUFFTjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgRE1BIGVuYWJsZWQgKi8NCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfU1dUUklHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcxX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcxX01zayAgICAgICAgICAgICAoMHgxVSA8PCBEQUNfU1dUUklHUl9TV1RSSUcxX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBEQUNfU1dUUklHUl9TV1RSSUcxICAgICAgICAgICAgICAgICBEQUNfU1dUUklHUl9TV1RSSUcxX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwxIHNvZnR3YXJlIHRyaWdnZXIgKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMl9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREFDX1NXVFJJR1JfU1dUUklHMl9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREFDX1NXVFJJR1JfU1dUUklHMiAgICAgICAgICAgICAgICAgREFDX1NXVFJJR1JfU1dUUklHMl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiBzb2Z0d2FyZSB0cmlnZ2VyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMlIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMlIxX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMlIxX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyUjFfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RIUjEyUjFfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyUjFfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMkwxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERBQ19ESFIxMkwxX0RBQ0MxREhSX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMkwxX0RBQ0MxREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyTDFfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMEZGRjAgKi8NCiNkZWZpbmUgREFDX0RIUjEyTDFfREFDQzFESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyTDFfREFDQzFESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFI4UjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UjFfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgREFDX0RIUjhSMV9EQUNDMURIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSMV9EQUNDMURIUl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyUjJfREFDQzJESFJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyUjJfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJSMl9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfREhSMTJSMl9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJSMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyTDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjEyTDJfREFDQzJESFJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjEyTDJfREFDQzJESFJfTXNrICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfREhSMTJMMl9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwRkZGMCAqLw0KI2RlZmluZSBEQUNfREhSMTJMMl9EQUNDMkRIUiAgICAgICAgICAgICAgICBEQUNfREhSMTJMMl9EQUNDMkRIUl9Nc2sgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgREFDX0RIUjhSMl9EQUNDMkRIUl9Qb3MpIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBEQUNfREhSOFIyX0RBQ0MyREhSICAgICAgICAgICAgICAgICBEQUNfREhSOFIyX0RBQ0MyREhSX01zayAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJSRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMURIUl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMlJEX0RBQ0MxREhSX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MxREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMlJEX0RBQ0MxREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMlJEX0RBQ0MyREhSX1BvcykgLyohPCAweDBGRkYwMDAwICovDQojZGVmaW5lIERBQ19ESFIxMlJEX0RBQ0MyREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMlJEX0RBQ0MyREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDIgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMURIUl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfREhSMTJMRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ESFIxMkxEX0RBQ0MxREhSX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MxREhSICAgICAgICAgICAgICAgIERBQ19ESFIxMkxEX0RBQ0MxREhSX01zayAgICAgICAgICAgLyohPCBEQUMgY2hhbm5lbDEgMTItYml0IExlZnQgYWxpZ25lZCBkYXRhICovDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MyREhSX1BvcyAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERBQ19ESFIxMkxEX0RBQ0MyREhSX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREFDX0RIUjEyTERfREFDQzJESFJfUG9zKSAvKiE8IDB4RkZGMDAwMDAgKi8NCiNkZWZpbmUgREFDX0RIUjEyTERfREFDQzJESFIgICAgICAgICAgICAgICAgREFDX0RIUjEyTERfREFDQzJESFJfTXNrICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFI4UkQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMURIUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UkRfREFDQzFESFJfUG9zKSAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMURIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSRF9EQUNDMURIUl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUl9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IERBQ19ESFI4UkRfREFDQzJESFJfUG9zKSAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgREFDX0RIUjhSRF9EQUNDMkRIUiAgICAgICAgICAgICAgICAgREFDX0RIUjhSRF9EQUNDMkRIUl9Nc2sgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMiA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfRE9SMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREFDX0RPUjFfREFDQzFET1JfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREFDX0RPUjFfREFDQzFET1JfTXNrICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBEQUNfRE9SMV9EQUNDMURPUl9Qb3MpICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREFDX0RPUjFfREFDQzFET1IgICAgICAgICAgICAgICAgICAgREFDX0RPUjFfREFDQzFET1JfTXNrICAgICAgICAgICAgICAvKiE8IERBQyBjaGFubmVsMSBkYXRhIG91dHB1dCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ET1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQUNfRE9SMl9EQUNDMkRPUl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQUNfRE9SMl9EQUNDMkRPUl9Nc2sgICAgICAgICAgICAgICAoMHhGRkZVIDw8IERBQ19ET1IyX0RBQ0MyRE9SX1BvcykgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBEQUNfRE9SMl9EQUNDMkRPUiAgICAgICAgICAgICAgICAgICBEQUNfRE9SMl9EQUNDMkRPUl9Nc2sgICAgICAgICAgICAgIC8qITwgREFDIGNoYW5uZWwyIGRhdGEgb3V0cHV0ICovDQoNCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lcnMgKFRJTSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DUjFfQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ0VOX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ0VOX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DUjFfQ0VOICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ0VOX01zayAgICAgICAgICAgICAgICAgICAgLyohPENvdW50ZXIgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DUjFfVURJU19Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfVURJU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVURJU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9DUjFfVURJUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfVURJU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBkaXNhYmxlICovDQojZGVmaW5lIFRJTV9DUjFfVVJTX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfVVJTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVVJTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DUjFfVVJTICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfVVJTX01zayAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSByZXF1ZXN0IHNvdXJjZSAqLw0KI2RlZmluZSBUSU1fQ1IxX09QTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX09QTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX09QTV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ1IxX09QTSAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX09QTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxPbmUgcHVsc2UgbW9kZSAqLw0KI2RlZmluZSBUSU1fQ1IxX0RJUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0RJUl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0RJUiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxEaXJlY3Rpb24gKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0NNU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NNU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0NNU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxDTVNbMTowXSBiaXRzIChDZW50ZXItYWxpZ25lZCBtb2RlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVNfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVNfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0FSUEVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0FSUEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0FSUEVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ1IxX0FSUEUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IxX0FSUEVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxBdXRvLXJlbG9hZCBwcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQ0tEX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ0tEX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ0tEX01zayAgICAgICAgICAgICAgICAgICAgLyohPENLRFsxOjBdIGJpdHMgKGNsb2NrIGRpdmlzaW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRF8wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRF8xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DUjJfQ0NQQ19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NQQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NQQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DUjJfQ0NQQyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NQQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBQcmVsb2FkZWQgQ29udHJvbCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDVVNfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX0NDVVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX0NDVVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDVVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX0NDVVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgQ29udHJvbCBVcGRhdGUgU2VsZWN0aW9uICovDQojZGVmaW5lIFRJTV9DUjJfQ0NEU19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NEU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NEU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DUjJfQ0NEUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NEU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBETUEgU2VsZWN0aW9uICovDQoNCiNkZWZpbmUgVElNX0NSMl9NTVNfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9NTVNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NSMl9NTVNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9NTVNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8TU1TWzI6MF0gYml0cyAoTWFzdGVyIE1vZGUgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NU18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DUjJfVEkxU19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfVEkxU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfVEkxU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DUjJfVEkxUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfVEkxU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRJMSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMxX01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMSAoT0MxIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxTl9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMxTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMxTiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMxTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMSAoT0MxTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDIgKE9DMiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMk5fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMk5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMk5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMk4gICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMk5fTXNrICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDIgKE9DMk4gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAzIChPQzMgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzNOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzNOICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzNOX01zayAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAzIChPQzNOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVM0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVM0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVM0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVM0ICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVM0X01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgNCAoT0M0IG91dHB1dCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fU01DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVMgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgIC8qITxTTVNbMjowXSBiaXRzIChTbGF2ZSBtb2RlIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9UU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9UU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fU01DUl9UUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9UU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxUU1syOjBdIGJpdHMgKFRyaWdnZXIgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fU01DUl9UU18yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9UU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX01TTV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX01TTV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX01TTV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9TTUNSX01TTSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX01TTV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE1hc3Rlci9zbGF2ZSBtb2RlICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRVRGX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRGX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRGX01zayAgICAgICAgICAgICAgICAgICAvKiE8RVRGWzM6MF0gYml0cyAoRXh0ZXJuYWwgdHJpZ2dlciBmaWx0ZXIpICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VURl8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRVRQU19Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRVRQU19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRQUyAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRVRQU19Nc2sgICAgICAgICAgICAgICAgICAvKiE8RVRQU1sxOjBdIGJpdHMgKEV4dGVybmFsIHRyaWdnZXIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX0VDRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VDRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VDRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VDRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VDRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEV4dGVybmFsIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVFBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVFBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVFBfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFeHRlcm5hbCB0cmlnZ2VyIHBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RJRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RJRVJfVUlFX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVUlFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVUlFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0RJRVJfVUlFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVUlFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUVfUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MxSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MxSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJJRV9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzJJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzJJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzJJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDM0lFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDM0lFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDM0lFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUVfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0M0SUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0SUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0M0SUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01JRV9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DT01JRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DT01JRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01JRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DT01JRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDT00gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9USUVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9USUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9USUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fRElFUl9USUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9USUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQklFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQklFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQklFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQklFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQklFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9VREVfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VREVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9VREUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VREVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMURFX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMURFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMURFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzJERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzJERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzJERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDNERFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDNERFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDNERFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01ERV9Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DT01ERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DT01ERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DT01ERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DT01ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDT00gRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RERV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9ESUVSX1RERSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RERV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgRE1BIHJlcXVlc3QgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1NSX1VJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX1VJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX1VJRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX1NSX1VJRiAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX1VJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzFJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzFJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzFJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9TUl9DQzFJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzFJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzJJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzJJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzJJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9TUl9DQzJJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzJJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzNJRl9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzNJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzNJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9TUl9DQzNJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzNJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzRJRl9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzRJRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzRJRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9TUl9DQzRJRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzRJRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DT01JRl9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DT01JRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DT01JRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9TUl9DT01JRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DT01JRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENPTSBpbnRlcnJ1cHQgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfVElGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfVElGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fU1JfVElGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfVElGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9CSUZfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9CSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9CSUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9TUl9CSUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9CSUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzFPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9TUl9DQzFPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzFPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMk9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMk9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMk9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MzT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MzT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MzT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzRPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TUl9DQzRPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzRPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IE92ZXJjYXB0dXJlIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRUdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRUdSX1VHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX1VHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX1VHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRUdSX1VHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX1VHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMUdfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDMUdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDMUdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDMUcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDMUdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MyR19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MyR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MyR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9FR1JfQ0MyRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MyR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzNHX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzNHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzNHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0VHUl9DQzNHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzNHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDNEdfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDNEdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDNEdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDNEcgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDNEdfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ09NR19Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ09NR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ09NR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9FR1JfQ09NRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ09NR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBDb250cm9sIFVwZGF0ZSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfVEdfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfVEdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfVEdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9FR1JfVEcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfVEdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0JHX1BvcyAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0JHX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0JHX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fRUdSX0JHICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0JHX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBHZW5lcmF0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NNUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVMgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0NDMVNfTXNrICAgICAgICAgICAgICAgICAvKiE8Q0MxU1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSAxIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0NDMVNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0NDMVNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkVfUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxRkVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxRkUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxRkVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxIEZhc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFQRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFQRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDEgUHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MxTV9Nc2sgICAgICAgICAgICAgICAgIC8qITxPQzFNWzI6MF0gYml0cyAoT3V0cHV0IENvbXBhcmUgMSBNb2RlKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MxTV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfT0MxTV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRV9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFDRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFDRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFDRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDFDbGVhciBFbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfQ0MyU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzJTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDIgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MyU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfQ0MyU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMlBFX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMlBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMlBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzJNX01zayAgICAgICAgICAgICAgICAgLyohPE9DMk1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAyIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzJNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9PQzJNX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFX1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMkNFX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMkNFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMkNFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBDbGVhciBFbmFibGUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzFQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDMVBTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMSBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzFQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUYgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMUZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUMxRlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMSBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzFGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ19Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMlBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMyUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMlBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMlBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMyRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzJGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMkZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ01SMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0MzU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzNTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDMgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0MzU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0MzU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDMgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM1BFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM1BFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM1BFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzNNX01zayAgICAgICAgICAgICAgICAgLyohPE9DM01bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAzIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzNNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzNNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM0NFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0NFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM0NFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBDbGVhciBFbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0UyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfQ0M0U19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzRTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDQgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfQ0M0U18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfQ0M0U19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDQgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNFBFX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNFBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNFBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9PQzRNX01zayAgICAgICAgICAgICAgICAgLyohPE9DNE1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSA0IE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9PQzRNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9PQzRNX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNENFX1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNENFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNENFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBDbGVhciBFbmFibGUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0MgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzNQU0NfTXNrICAgICAgICAgICAgICAgLyohPElDM1BTQ1sxOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMyBQcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNQU0NfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzNQU0NfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfTXNrICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0YgICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDM0ZfTXNrICAgICAgICAgICAgICAgICAvKiE8SUMzRlszOjBdIGJpdHMgKElucHV0IENhcHR1cmUgMyBGaWx0ZXIpICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzNGXzMgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ19Qb3MgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDNFBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUM0UFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSA0IFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNFBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDNFBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0RiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUM0Rl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzRGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSA0IEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDNEZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVBfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMVBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMVAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMVBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORV9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFORV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFORSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFORV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlBfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxTlBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxTlAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxTlBfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyRV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyRSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyTkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTkUgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyTkVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMk5QX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMk5QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMk5QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM0VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM0UgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM0VfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM05FX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05FICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM05FX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUF9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNOUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNOUCAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNOUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzRFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzRFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzRFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFBfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNFBfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNFAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNFBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBQb2xhcml0eSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DTlRfQ05UX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQ05UX0NOVF9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9DTlRfQ05UICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DTlRfQ05UX01zayAgICAgICAgICAgICAgICAgICAgLyohPENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fUFNDIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fUFNDX1BTQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fUFNDX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fUFNDX1BTQ19Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fUFNDX1BTQyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fUFNDX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxQcmVzY2FsZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQVJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQVJSX0FSUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQVJSX0FSUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgVElNX0FSUl9BUlJfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBUSU1fQVJSX0FSUiAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQVJSX0FSUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxhY3R1YWwgYXV0by1yZWxvYWQgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fUkNSX1JFUF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fUkNSX1JFUF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVElNX1JDUl9SRVBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBUSU1fUkNSX1JFUCAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fUkNSX1JFUF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxSZXBldGl0aW9uIENvdW50ZXIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSMV9DQ1IxX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSMV9DQ1IxICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSMV9DQ1IxX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IyX0NDUjJfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IyX0NDUjIgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IyX0NDUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjNfQ0NSM19Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjNfQ0NSM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjNfQ0NSM19Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjNfQ0NSMyAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjNfQ0NSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0X1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0X01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSNF9DQ1I0X1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSNF9DQ1I0ICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSNF9DQ1I0X01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9CRFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9CRFRSX0RUR19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0RUR19Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFRJTV9CRFRSX0RURyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0RUR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPERUR1swOjddIGJpdHMgKERlYWQtVGltZSBHZW5lcmF0b3Igc2V0LXVwKSAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNSAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNiAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQkRUUl9EVEdfNyAgICAgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgLyohPExPQ0tbMTowXSBiaXRzIChMb2NrIENvbmZpZ3VyYXRpb24pICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9CRFRSX0xPQ0tfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9CRFRSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0JEVFJfT1NTSV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfT1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfT1NTSV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTSSAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfT1NTSV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T2ZmLVN0YXRlIFNlbGVjdGlvbiBmb3IgSWRsZSBtb2RlICovDQojZGVmaW5lIFRJTV9CRFRSX09TU1JfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX09TU1JfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX09TU1JfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9CRFRSX09TU1IgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX09TU1JfTXNrICAgICAgICAgICAgICAgICAgLyohPE9mZi1TdGF0ZSBTZWxlY3Rpb24gZm9yIFJ1biBtb2RlICovDQojZGVmaW5lIFRJTV9CRFRSX0JLRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0JLRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0JLRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0JLRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0JLRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS1BfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9CS1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9CS1AgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQkRUUl9BT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9BT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9BT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9BT0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9BT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxBdXRvbWF0aWMgT3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQkRUUl9NT0VfUG9zICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9NT0VfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9NT0VfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9NT0UgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9NT0VfTXNrICAgICAgICAgICAgICAgICAgIC8qITxNYWluIE91dHB1dCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRENSX0RCQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRENSX0RCQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxRiAqLw0KI2RlZmluZSBUSU1fRENSX0RCQSAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRENSX0RCQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxEQkFbNDowXSBiaXRzIChETUEgQmFzZSBBZGRyZXNzKSAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8wICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8xICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8yICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV8zICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRENSX0RCQV80ICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0RDUl9EQkFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIFRJTV9EQ1JfREJMX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxRjAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9EQ1JfREJMX01zayAgICAgICAgICAgICAgICAgICAgLyohPERCTFs0OjBdIGJpdHMgKERNQSBCdXJzdCBMZW5ndGgpICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9EQ1JfREJMXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fRENSX0RCTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0RNQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0RNQVJfRE1BQl9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0RNQVJfRE1BQiAgICAgICAgICAgICAgICAgICAgICAgVElNX0RNQVJfRE1BQl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8RE1BIHJlZ2lzdGVyIGZvciBidXJzdCBhY2Nlc3NlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFsLVRpbWUgQ2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ1JIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NSSF9TRUNJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9TRUNJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9TRUNJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0NSSF9TRUNJRSAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9TRUNJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNlY29uZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJUQ19DUkhfQUxSSUVfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkhfQUxSSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkhfQUxSSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19DUkhfQUxSSUUgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkhfQUxSSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJUQ19DUkhfT1dJRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkhfT1dJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkhfT1dJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19DUkhfT1dJRSAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkhfT1dJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyZmxvVyBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NSTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DUkxfU0VDRl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfU0VDRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfU0VDRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19DUkxfU0VDRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfU0VDRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTZWNvbmQgRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX0FMUkZfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX0FMUkZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX0FMUkZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSVENfQ1JMX0FMUkYgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX0FMUkZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWxhcm0gRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX09XRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX09XRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX09XRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSVENfQ1JMX09XRiAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX09XRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcmZsb1cgRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX1JTRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX1JTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX1JTRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSVENfQ1JMX1JTRiAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX1JTRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUmVnaXN0ZXJzIFN5bmNocm9uaXplZCBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfQ05GX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfQ05GX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19DUkxfQ05GICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfQ05GX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDb25maWd1cmF0aW9uIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9SVE9GRl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9SVE9GRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9SVE9GRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX0NSTF9SVE9GRiAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9SVE9GRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBvcGVyYXRpb24gT0ZGICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX1BSTEggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19QUkxIX1BSTF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19QUkxIX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFJUQ19QUkxIX1BSTF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19QUkxIX1BSTCAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19QUkxIX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSVEMgUHJlc2NhbGVyIFJlbG9hZCBWYWx1ZSBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX1BSTEwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19QUkxMX1BSTF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19QUkxMX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19QUkxMX1BSTF9Qb3MpICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19QUkxMX1BSTCAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19QUkxMX1BSTF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSVEMgUHJlc2NhbGVyIFJlbG9hZCBWYWx1ZSBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfRElWSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJVl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX0RJVkhfUlRDX0RJVl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX0RJVkhfUlRDX0RJViAgICAgICAgICAgICAgICAgICAgUlRDX0RJVkhfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDbG9jayBEaXZpZGVyIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfRElWTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJVl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0RJVkxfUlRDX0RJVl9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0RJVkxfUlRDX0RJViAgICAgICAgICAgICAgICAgICAgUlRDX0RJVkxfUlRDX0RJVl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBDbG9jayBEaXZpZGVyIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DTlRIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQ05USF9SVENfQ05UX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQ05USF9SVENfQ05UICAgICAgICAgICAgICAgICAgICBSVENfQ05USF9SVENfQ05UX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENvdW50ZXIgSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DTlRMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQ05UTF9SVENfQ05UX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQ05UTF9SVENfQ05UICAgICAgICAgICAgICAgICAgICBSVENfQ05UTF9SVENfQ05UX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENvdW50ZXIgTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19BTFJIX1JUQ19BTFJfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19BTFJIX1JUQ19BTFIgICAgICAgICAgICAgICAgICAgIFJUQ19BTFJIX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQWxhcm0gSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19BTFJMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfQUxSTF9SVENfQUxSX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfQUxSTF9SVENfQUxSICAgICAgICAgICAgICAgICAgICBSVENfQUxSTF9SVENfQUxSX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIEFsYXJtIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXBlbmRlbnQgV0FUQ0hET0cgKElXREcpICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19LUl9LRVlfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgSVdER19LUl9LRVlfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgSVdER19LUl9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19LUl9LRVlfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEtleSB2YWx1ZSAod3JpdGUgb25seSwgcmVhZCAwMDAwaCkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19QUl9QUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgSVdER19QUl9QUiAgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19QUl9QUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBSWzI6MF0gKFByZXNjYWxlciBkaXZpZGVyKSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzEgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1BSX1BSXzIgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUkxSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1JMUl9STF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IElXREdfUkxSX1JMX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJV0RHX1JMUl9STCAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVdER19TUl9QVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9QVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSVdER19TUl9QVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9QVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIHByZXNjYWxlciB2YWx1ZSB1cGRhdGUgKi8NCiNkZWZpbmUgSVdER19TUl9SVlVfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSVdER19TUl9SVlVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSVdER19TUl9SVlUgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19TUl9SVlVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdhdGNoZG9nIGNvdW50ZXIgcmVsb2FkIHZhbHVlIHVwZGF0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvdyBXQVRDSERPRyAoV1dERykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19DUl9UX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgV1dER19DUl9UICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DUl9UX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRbNjowXSBiaXRzICg3LUJpdCBjb3VudGVyIChNU0IgdG8gTFNCKSkgKi8NCiNkZWZpbmUgV1dER19DUl9UXzAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19DUl9UXzEgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgV1dER19DUl9UXzIgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgV1dER19DUl9UXzMgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgV1dER19DUl9UXzQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgV1dER19DUl9UXzUgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgV1dER19DUl9UXzYgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFdXREdfQ1JfVF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ1JfVDAgV1dER19DUl9UXzANCiNkZWZpbmUgIFdXREdfQ1JfVDEgV1dER19DUl9UXzENCiNkZWZpbmUgIFdXREdfQ1JfVDIgV1dER19DUl9UXzINCiNkZWZpbmUgIFdXREdfQ1JfVDMgV1dER19DUl9UXzMNCiNkZWZpbmUgIFdXREdfQ1JfVDQgV1dER19DUl9UXzQNCiNkZWZpbmUgIFdXREdfQ1JfVDUgV1dER19DUl9UXzUNCiNkZWZpbmUgIFdXREdfQ1JfVDYgV1dER19DUl9UXzYNCg0KI2RlZmluZSBXV0RHX0NSX1dER0FfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NSX1dER0FfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NSX1dER0FfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBXV0RHX0NSX1dER0EgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NSX1dER0FfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQWN0aXZhdGlvbiBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX0NGUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19DRlJfV19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfV19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgV1dER19DRlJfVyAgICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfV19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFdbNjowXSBiaXRzICg3LWJpdCB3aW5kb3cgdmFsdWUpICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfMyAgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNCAgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNSAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dfNiAgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NGUl9XMCBXV0RHX0NGUl9XXzANCiNkZWZpbmUgIFdXREdfQ0ZSX1cxIFdXREdfQ0ZSX1dfMQ0KI2RlZmluZSAgV1dER19DRlJfVzIgV1dER19DRlJfV18yDQojZGVmaW5lICBXV0RHX0NGUl9XMyBXV0RHX0NGUl9XXzMNCiNkZWZpbmUgIFdXREdfQ0ZSX1c0IFdXREdfQ0ZSX1dfNA0KI2RlZmluZSAgV1dER19DRlJfVzUgV1dER19DRlJfV181DQojZGVmaW5lICBXV0RHX0NGUl9XNiBXV0RHX0NGUl9XXzYNCg0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl9Qb3MgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDE4MCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQiAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9XREdUQl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV0RHVEJbMTowXSBiaXRzIChUaW1lciBCYXNlKSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XREdUQl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBXV0RHX0NGUl9XREdUQl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DRlJfV0RHVEIwIFdXREdfQ0ZSX1dER1RCXzANCiNkZWZpbmUgIFdXREdfQ0ZSX1dER1RCMSBXV0RHX0NGUl9XREdUQl8xDQoNCiNkZWZpbmUgV1dER19DRlJfRVdJX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfRVdJX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19DRlJfRVdJX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgV1dER19DRlJfRVdJICAgICAgICAgICAgICAgICAgICAgICAgV1dER19DRlJfRVdJX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVhcmx5IFdha2V1cCBJbnRlcnJ1cHQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBXV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgV1dER19TUl9FV0lGX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19TUl9FV0lGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgV1dER19TUl9FV0lGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19TUl9FV0lGICAgICAgICAgICAgICAgICAgICAgICAgV1dER19TUl9FV0lGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVhcmx5IFdha2V1cCBJbnRlcnJ1cHQgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfQkNSeCAoeD0xLi40KSByZWdpc3RlciAgKioqKioqKioqKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01CS0VOX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X01CS0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X01CS0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01CS0VOICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X01CS0VOX01zayAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBiYW5rIGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01VWEVOX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X01VWEVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X01VWEVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01VWEVOICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X01VWEVOX01zayAgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3MvZGF0YSBtdWx0aXBsZXhpbmcgZW5hYmxlIGJpdCAqLw0KDQojZGVmaW5lIEZTTUNfQkNSeF9NVFlQX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQkNSeF9NVFlQX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEZTTUNfQkNSeF9NVFlQX1BvcykgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIEZTTUNfQkNSeF9NVFlQICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSeF9NVFlQX01zayAgICAgICAgICAgICAgICAgLyohPCBNVFlQWzE6MF0gYml0cyAoTWVtb3J5IHR5cGUpICovDQojZGVmaW5lIEZTTUNfQkNSeF9NVFlQXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQkNSeF9NVFlQX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZTTUNfQkNSeF9NVFlQXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQkNSeF9NVFlQX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgRlNNQ19CQ1J4X01XSURfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X01XSURfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgRlNNQ19CQ1J4X01XSURfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X01XSUQgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X01XSURfTXNrICAgICAgICAgICAgICAgICAvKiE8IE1XSURbMTowXSBiaXRzIChNZW1vcnkgZGF0YSBidXMgd2lkdGgpICovDQojZGVmaW5lIEZTTUNfQkNSeF9NV0lEXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQkNSeF9NV0lEX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfQkNSeF9NV0lEXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQkNSeF9NV0lEX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgRlNNQ19CQ1J4X0ZBQ0NFTl9Qb3MgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X0ZBQ0NFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X0ZBQ0NFTl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0ZBQ0NFTiAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X0ZBQ0NFTl9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIGFjY2VzcyBlbmFibGUgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0JVUlNURU5fUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X0JVUlNURU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X0JVUlNURU5fUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0JVUlNURU4gICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X0JVUlNURU5fTXNrICAgICAgICAgICAgICAvKiE8IEJ1cnN0IGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRQT0xfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRQT0xfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X1dBSVRQT0xfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRQT0wgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X1dBSVRQT0xfTXNrICAgICAgICAgICAgICAvKiE8IFdhaXQgc2lnbmFsIHBvbGFyaXR5IGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV1JBUE1PRF9Qb3MgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfV1JBUE1PRF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfV1JBUE1PRF9Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfV1JBUE1PRCAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfV1JBUE1PRF9Nc2sgICAgICAgICAgICAgIC8qITwgV3JhcHBlZCBidXJzdCBtb2RlIHN1cHBvcnQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRDRkdfUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRDRkdfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X1dBSVRDRkdfUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRDRkcgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X1dBSVRDRkdfTXNrICAgICAgICAgICAgICAvKiE8IFdhaXQgdGltaW5nIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dSRU5fUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X1dSRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X1dSRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dSRU4gICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X1dSRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IFdyaXRlIGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRFTl9Qb3MgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X1dBSVRFTl9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X1dBSVRFTiAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X1dBSVRFTl9Nc2sgICAgICAgICAgICAgICAvKiE8IFdhaXQgZW5hYmxlIGJpdCAqLw0KI2RlZmluZSBGU01DX0JDUnhfRVhUTU9EX1BvcyAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JDUnhfRVhUTU9EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JDUnhfRVhUTU9EX1BvcykgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBGU01DX0JDUnhfRVhUTU9EICAgICAgICAgICAgICAgICAgICBGU01DX0JDUnhfRVhUTU9EX01zayAgICAgICAgICAgICAgIC8qITwgRXh0ZW5kZWQgbW9kZSBlbmFibGUgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0FTWU5DV0FJVF9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CQ1J4X0FTWU5DV0FJVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CQ1J4X0FTWU5DV0FJVF9Qb3MpICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRlNNQ19CQ1J4X0FTWU5DV0FJVCAgICAgICAgICAgICAgICAgRlNNQ19CQ1J4X0FTWU5DV0FJVF9Nc2sgICAgICAgICAgICAvKiE8IEFzeW5jaHJvbm91cyB3YWl0ICovDQojZGVmaW5lIEZTTUNfQkNSeF9DQlVSU1RSV19Qb3MgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQkNSeF9DQlVSU1RSV19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQkNSeF9DQlVSU1RSV19Qb3MpICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEZTTUNfQkNSeF9DQlVSU1RSVyAgICAgICAgICAgICAgICAgIEZTTUNfQkNSeF9DQlVSU1RSV19Nc2sgICAgICAgICAgICAgLyohPCBXcml0ZSBidXJzdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfQlRSeCAoeD0xLi40KSByZWdpc3RlciAgKioqKioqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JUUnhfQUREU0VUX1BvcykgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBGU01DX0JUUnhfQUREU0VUICAgICAgICAgICAgICAgICAgICBGU01DX0JUUnhfQUREU0VUX01zayAgICAgICAgICAgICAgIC8qITwgQUREU0VUWzM6MF0gYml0cyAoQWRkcmVzcyBzZXR1cCBwaGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FERFNFVF8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CVFJ4X0FERFNFVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FERFNFVF8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CVFJ4X0FERFNFVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FERFNFVF8yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CVFJ4X0FERFNFVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FERFNFVF8zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CVFJ4X0FERFNFVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBGU01DX0JUUnhfQURESExEX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JUUnhfQURESExEX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JUUnhfQURESExEX1BvcykgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQURESExEICAgICAgICAgICAgICAgICAgICBGU01DX0JUUnhfQURESExEX01zayAgICAgICAgICAgICAgIC8qITwgQURESExEWzM6MF0gYml0cyAoQWRkcmVzcy1ob2xkIHBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQURESExEXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JUUnhfQURESExEX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQURESExEXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JUUnhfQURESExEX1BvcykgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQURESExEXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JUUnhfQURESExEX1BvcykgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQURESExEXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JUUnhfQURESExEX1BvcykgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRBU1RfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRBU1RfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX0JUUnhfREFUQVNUX1BvcykgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9EQVRBU1QgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9EQVRBU1RfTXNrICAgICAgICAgICAgICAgLyohPCBEQVRBU1QgWzM6MF0gYml0cyAoRGF0YS1waGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF8wICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF8xICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF8yICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF8zICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF80ICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF81ICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF82ICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVEFTVF83ICAgICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfQlRSeF9EQVRBU1RfUG9zKSAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBGU01DX0JUUnhfQlVTVFVSTl9Qb3MgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JUUnhfQlVTVFVSTl9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBGU01DX0JUUnhfQlVTVFVSTl9Qb3MpICAgIC8qITwgMHgwMDBGMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQlVTVFVSTiAgICAgICAgICAgICAgICAgICBGU01DX0JUUnhfQlVTVFVSTl9Nc2sgICAgICAgICAgICAgIC8qITwgQlVTVFVSTlszOjBdIGJpdHMgKEJ1cyB0dXJuYXJvdW5kIHBoYXNlIGR1cmF0aW9uKSAqLw0KI2RlZmluZSBGU01DX0JUUnhfQlVTVFVSTl8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JUUnhfQlVTVFVSTl9Qb3MpICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQlVTVFVSTl8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JUUnhfQlVTVFVSTl9Qb3MpICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQlVTVFVSTl8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JUUnhfQlVTVFVSTl9Qb3MpICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfQlVTVFVSTl8zICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JUUnhfQlVTVFVSTl9Qb3MpICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEZTTUNfQlRSeF9DTEtESVZfUG9zICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9DTEtESVZfTXNrICAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfQlRSeF9DTEtESVZfUG9zKSAgICAgLyohPCAweDAwRjAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9DTEtESVYgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9DTEtESVZfTXNrICAgICAgICAgICAgICAgLyohPCBDTEtESVZbMzowXSBiaXRzIChDbG9jayBkaXZpZGUgcmF0aW8pICovDQojZGVmaW5lIEZTTUNfQlRSeF9DTEtESVZfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQlRSeF9DTEtESVZfUG9zKSAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9DTEtESVZfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQlRSeF9DTEtESVZfUG9zKSAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9DTEtESVZfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQlRSeF9DTEtESVZfUG9zKSAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9DTEtESVZfMyAgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQlRSeF9DTEtESVZfUG9zKSAgICAgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVExBVF9Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVExBVF9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19CVFJ4X0RBVExBVF9Qb3MpICAgICAvKiE8IDB4MEYwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0RBVExBVCAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFJ4X0RBVExBVF9Nc2sgICAgICAgICAgICAgICAvKiE8IERBVExBWzM6MF0gYml0cyAoRGF0YSBsYXRlbmN5KSAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX0JUUnhfREFUTEFUX1BvcykgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX0JUUnhfREFUTEFUX1BvcykgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX0JUUnhfREFUTEFUX1BvcykgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JUUnhfREFUTEFUXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX0JUUnhfREFUTEFUX1BvcykgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQojZGVmaW5lIEZTTUNfQlRSeF9BQ0NNT0RfUG9zICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfQlRSeF9BQ0NNT0RfTXNrICAgICAgICAgICAgICAgICgweDNVIDw8IEZTTUNfQlRSeF9BQ0NNT0RfUG9zKSAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQlRSeF9BQ0NNT0QgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSeF9BQ0NNT0RfTXNrICAgICAgICAgICAgICAgLyohPCBBQ0NNT0RbMTowXSBiaXRzIChBY2Nlc3MgbW9kZSkgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRF8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CVFJ4X0FDQ01PRF9Qb3MpICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CVFJ4X0FDQ01PRF8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CVFJ4X0FDQ01PRF9Qb3MpICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfQldUUnggKHg9MS4uNCkgcmVnaXN0ZXIgICoqKioqKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVRfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19CV1RSeF9BRERTRVRfUG9zKSAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERTRVQgICAgICAgICAgICAgICAgICAgRlNNQ19CV1RSeF9BRERTRVRfTXNrICAgICAgICAgICAgICAvKiE8IEFERFNFVFszOjBdIGJpdHMgKEFkZHJlc3Mgc2V0dXAgcGhhc2UgZHVyYXRpb24pICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUREU0VUXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQldUUnhfQUREU0VUX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUREU0VUXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQldUUnhfQUREU0VUX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUREU0VUXzIgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfQldUUnhfQUREU0VUX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUREU0VUXzMgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfQldUUnhfQUREU0VUX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERITERfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERITERfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19CV1RSeF9BRERITERfUG9zKSAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERITEQgICAgICAgICAgICAgICAgICAgRlNNQ19CV1RSeF9BRERITERfTXNrICAgICAgICAgICAgICAvKiE8IEFEREhMRFszOjBdIGJpdHMgKEFkZHJlc3MtaG9sZCBwaGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERITERfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CV1RSeF9BRERITERfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERITERfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CV1RSeF9BRERITERfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERITERfMiAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CV1RSeF9BRERITERfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9BRERITERfMyAgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CV1RSeF9BRERITERfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0RBVEFTVF9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRlNNQ19CV1RSeF9EQVRBU1RfUG9zKSAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0RBVEFTVCAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0RBVEFTVF9Nc2sgICAgICAgICAgICAgIC8qITwgREFUQVNUIFszOjBdIGJpdHMgKERhdGEtcGhhc2UgZHVyYXRpb24pICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzEgICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzIgICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzMgICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzQgICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzUgICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzYgICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfREFUQVNUXzcgICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX0JXVFJ4X0RBVEFTVF9Qb3MpICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgRlNNQ19CV1RSeF9CVVNUVVJOX1BvcyAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19CV1RSeF9CVVNUVVJOX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgRlNNQ19CV1RSeF9CVVNUVVJOX1BvcykgICAvKiE8IDB4MDAwRjAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9CVVNUVVJOICAgICAgICAgICAgICAgICAgRlNNQ19CV1RSeF9CVVNUVVJOX01zayAgICAgICAgICAgICAvKiE8IEJVU1RVUk5bMzowXSBiaXRzIChCdXMgdHVybmFyb3VuZCBwaGFzZSBkdXJhdGlvbikgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9CVVNUVVJOXzAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19CV1RSeF9CVVNUVVJOX1BvcykgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9CVVNUVVJOXzEgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19CV1RSeF9CVVNUVVJOX1BvcykgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9CVVNUVVJOXzIgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19CV1RSeF9CVVNUVVJOX1BvcykgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19CV1RSeF9CVVNUVVJOXzMgICAgICAgICAgICAgICAgKDB4OFUgPDwgRlNNQ19CV1RSeF9CVVNUVVJOX1BvcykgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBGU01DX0JXVFJ4X0FDQ01PRF9Qb3MgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0JXVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBGU01DX0JXVFJ4X0FDQ01PRF9Qb3MpICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX0JXVFJ4X0FDQ01PRCAgICAgICAgICAgICAgICAgICBGU01DX0JXVFJ4X0FDQ01PRF9Nc2sgICAgICAgICAgICAgIC8qITwgQUNDTU9EWzE6MF0gYml0cyAoQWNjZXNzIG1vZGUpICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUNDTU9EXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfQldUUnhfQUNDTU9EX1BvcykgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfQldUUnhfQUNDTU9EXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfQldUUnhfQUNDTU9EX1BvcykgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX1BDUnggKHggPSAyIHRvIDQpIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGU01DX1BDUnhfUFdBSVRFTl9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1BDUnhfUFdBSVRFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1BDUnhfUFdBSVRFTl9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGU01DX1BDUnhfUFdBSVRFTiAgICAgICAgICAgICAgICAgICBGU01DX1BDUnhfUFdBSVRFTl9Nc2sgICAgICAgICAgICAgIC8qITwgV2FpdCBmZWF0dXJlIGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1BCS0VOX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQ1J4X1BCS0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19QQ1J4X1BCS0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X1BCS0VOICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1J4X1BCS0VOX01zayAgICAgICAgICAgICAgICAvKiE8IFBDIENhcmQvTkFORCBGbGFzaCBtZW1vcnkgYmFuayBlbmFibGUgYml0ICovDQojZGVmaW5lIEZTTUNfUENSeF9QVFlQX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUENSeF9QVFlQX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfUENSeF9QVFlQX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZTTUNfUENSeF9QVFlQICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSeF9QVFlQX01zayAgICAgICAgICAgICAgICAgLyohPCBNZW1vcnkgdHlwZSAqLw0KDQojZGVmaW5lIEZTTUNfUENSeF9QV0lEX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUENSeF9QV0lEX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEZTTUNfUENSeF9QV0lEX1BvcykgICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEZTTUNfUENSeF9QV0lEICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSeF9QV0lEX01zayAgICAgICAgICAgICAgICAgLyohPCBQV0lEWzE6MF0gYml0cyAoTkFORCBGbGFzaCBkYXRhYnVzIHdpZHRoKSAqLw0KI2RlZmluZSBGU01DX1BDUnhfUFdJRF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1BDUnhfUFdJRF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGU01DX1BDUnhfUFdJRF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX1BDUnhfUFdJRF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEZTTUNfUENSeF9FQ0NFTl9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUENSeF9FQ0NFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfUENSeF9FQ0NFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZTTUNfUENSeF9FQ0NFTiAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSeF9FQ0NFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFQ0MgY29tcHV0YXRpb24gbG9naWMgZW5hYmxlIGJpdCAqLw0KDQojZGVmaW5lIEZTTUNfUENSeF9UQ0xSX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUENSeF9UQ0xSX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfUENSeF9UQ0xSX1BvcykgICAgICAgLyohPCAweDAwMDAxRTAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQ0xSICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSeF9UQ0xSX01zayAgICAgICAgICAgICAgICAgLyohPCBUQ0xSWzM6MF0gYml0cyAoQ0xFIHRvIFJFIGRlbGF5KSAqLw0KI2RlZmluZSBGU01DX1BDUnhfVENMUl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1BDUnhfVENMUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGU01DX1BDUnhfVENMUl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGU01DX1BDUnhfVENMUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGU01DX1BDUnhfVENMUl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGU01DX1BDUnhfVENMUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBGU01DX1BDUnhfVENMUl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBGU01DX1BDUnhfVENMUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KDQojZGVmaW5lIEZTTUNfUENSeF9UQVJfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUENSeF9UQVJfTXNrICAgICAgICAgICAgICAgICAgICgweEZVIDw8IEZTTUNfUENSeF9UQVJfUG9zKSAgICAgICAgLyohPCAweDAwMDFFMDAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQVIgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSeF9UQVJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBUQVJbMzowXSBiaXRzIChBTEUgdG8gUkUgZGVsYXkpICovDQojZGVmaW5lIEZTTUNfUENSeF9UQVJfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfUENSeF9UQVJfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQVJfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEZTTUNfUENSeF9UQVJfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQVJfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEZTTUNfUENSeF9UQVJfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEZTTUNfUENSeF9UQVJfMyAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IEZTTUNfUENSeF9UQVJfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ1BTX1BvcyAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ1BTX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgRlNNQ19QQ1J4X0VDQ1BTX1BvcykgICAgICAvKiE8IDB4MDAwRTAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ1BTICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1J4X0VDQ1BTX01zayAgICAgICAgICAgICAgICAvKiE8IEVDQ1BTWzE6MF0gYml0cyAoRUNDIHBhZ2Ugc2l6ZSkgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ1BTXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19QQ1J4X0VDQ1BTX1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ1BTXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRlNNQ19QQ1J4X0VDQ1BTX1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQ1J4X0VDQ1BTXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgRlNNQ19QQ1J4X0VDQ1BTX1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX1NSeCAoeCA9IDIgdG8gNCkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZTTUNfU1J4X0lSU19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfU1J4X0lSU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfU1J4X0lSU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZTTUNfU1J4X0lSUyAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfU1J4X0lSU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgUmlzaW5nIEVkZ2Ugc3RhdHVzICovDQojZGVmaW5lIEZTTUNfU1J4X0lMU19Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfU1J4X0lMU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfU1J4X0lMU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZTTUNfU1J4X0lMUyAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfU1J4X0lMU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTGV2ZWwgc3RhdHVzICovDQojZGVmaW5lIEZTTUNfU1J4X0lGU19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfU1J4X0lGU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfU1J4X0lGU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZTTUNfU1J4X0lGUyAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfU1J4X0lGU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgRmFsbGluZyBFZGdlIHN0YXR1cyAqLw0KI2RlZmluZSBGU01DX1NSeF9JUkVOX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1NSeF9JUkVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGU01DX1NSeF9JUkVOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGU01DX1NSeF9JUkVOICAgICAgICAgICAgICAgICAgICAgICBGU01DX1NSeF9JUkVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IFJpc2luZyBFZGdlIGRldGVjdGlvbiBFbmFibGUgYml0ICovDQojZGVmaW5lIEZTTUNfU1J4X0lMRU5fUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfU1J4X0lMRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZTTUNfU1J4X0lMRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfU1J4X0lMRU4gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfU1J4X0lMRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTGV2ZWwgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUZFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19TUnhfSUZFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19TUnhfSUZFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRlNNQ19TUnhfSUZFTiAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19TUnhfSUZFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBGYWxsaW5nIEVkZ2UgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgRlNNQ19TUnhfRkVNUFRfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19TUnhfRkVNUFRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRlNNQ19TUnhfRkVNUFRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRlNNQ19TUnhfRkVNUFQgICAgICAgICAgICAgICAgICAgICAgRlNNQ19TUnhfRkVNUFRfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZJRk8gZW1wdHkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfUE1FTXggKHggPSAyIHRvIDQpIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF9Nc2sgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeCAgICAgICAgICAgICAgICAgIEZTTUNfUE1FTXhfTUVNU0VUeF9Nc2sgICAgICAgICAgICAgLyohPCBNRU1TRVR4Wzc6MF0gYml0cyAoQ29tbW9uIG1lbW9yeSB4IHNldHVwIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF8wICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF8xICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF8yICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF8zICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF80ICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF81ICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF82ICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNU0VUeF83ICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BNRU14X01FTVNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeF9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeF9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUE1FTXhfTUVNV0FJVHhfUG9zKSAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeCAgICAgICAgICAgICAgICAgRlNNQ19QTUVNeF9NRU1XQUlUeF9Nc2sgICAgICAgICAgICAvKiE8IE1FTVdBSVR4Wzc6MF0gYml0cyAoQ29tbW9uIG1lbW9yeSB4IHdhaXQgdGltZSkgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUMl8wICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNV0FJVHhfMSAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVR4XzIgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeF8zICAgICAgICAgICAgICAgMHgwMDAwMDgwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNV0FJVHhfNCAgICAgICAgICAgICAgIDB4MDAwMDEwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KI2RlZmluZSBGU01DX1BNRU14X01FTVdBSVR4XzUgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDUgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1XQUlUeF82ICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA2ICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNV0FJVHhfNyAgICAgICAgICAgICAgIDB4MDAwMDgwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNyAqLw0KDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfUG9zICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHggICAgICAgICAgICAgICAgIEZTTUNfUE1FTXhfTUVNSE9MRHhfTXNrICAgICAgICAgICAgLyohPCBNRU1IT0xEeFs3OjBdIGJpdHMgKENvbW1vbiBtZW1vcnkgeCBob2xkIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfMCAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfMSAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfMiAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfMyAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfNCAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfNSAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfNiAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEZTTUNfUE1FTXhfTUVNSE9MRHhfNyAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BNRU14X01FTUhPTER4X1BvcykgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4X1BvcyAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4X01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4ICAgICAgICAgICAgICAgICAgRlNNQ19QTUVNeF9NRU1ISVp4X01zayAgICAgICAgICAgICAvKiE8IE1FTUhJWnhbNzowXSBiaXRzIChDb21tb24gbWVtb3J5IHggZGF0YWJ1cyBIaVogdGltZSkgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzEgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzIgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzMgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzQgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzUgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzYgICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgRlNNQ19QTUVNeF9NRU1ISVp4XzcgICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfUE1FTXhfTUVNSElaeF9Qb3MpICAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfUEFUVHggKHggPSAyIHRvIDQpIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF9Nc2sgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeCAgICAgICAgICAgICAgICAgIEZTTUNfUEFUVHhfQVRUU0VUeF9Nc2sgICAgICAgICAgICAgLyohPCBBVFRTRVR4Wzc6MF0gYml0cyAoQXR0cmlidXRlIG1lbW9yeSB4IHNldHVwIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF8wICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF8xICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF8yICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF8zICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF80ICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF81ICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF82ICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUU0VUeF83ICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BBVFR4X0FUVFNFVHhfUG9zKSAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeCAgICAgICAgICAgICAgICAgRlNNQ19QQVRUeF9BVFRXQUlUeF9Nc2sgICAgICAgICAgICAvKiE8IEFUVFdBSVR4Wzc6MF0gYml0cyAoQXR0cmlidXRlIG1lbW9yeSB4IHdhaXQgdGltZSkgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF8wICAgICAgICAgICAgICAgKDB4MDFVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF8xICAgICAgICAgICAgICAgKDB4MDJVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF8yICAgICAgICAgICAgICAgKDB4MDRVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF8zICAgICAgICAgICAgICAgKDB4MDhVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF80ICAgICAgICAgICAgICAgKDB4MTBVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF81ICAgICAgICAgICAgICAgKDB4MjBVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF82ICAgICAgICAgICAgICAgKDB4NDBVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRlNNQ19QQVRUeF9BVFRXQUlUeF83ICAgICAgICAgICAgICAgKDB4ODBVIDw8IEZTTUNfUEFUVHhfQVRUV0FJVHhfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4X1BvcyAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4X01zayAgICAgICAgICAgICAoMHhGRlUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4ICAgICAgICAgICAgICAgICBGU01DX1BBVFR4X0FUVEhPTER4X01zayAgICAgICAgICAgIC8qITwgQVRUSE9MRHhbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IHggaG9sZCB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzEgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzIgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzMgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzQgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzUgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzYgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BBVFR4X0FUVEhPTER4XzcgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19QQVRUeF9BVFRIT0xEeF9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF9Qb3MgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF9Nc2sgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeCAgICAgICAgICAgICAgICAgIEZTTUNfUEFUVHhfQVRUSElaeF9Nc2sgICAgICAgICAgICAgLyohPCBBVFRISVp4Wzc6MF0gYml0cyAoQXR0cmlidXRlIG1lbW9yeSB4IGRhdGFidXMgSGlaIHRpbWUpICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF8wICAgICAgICAgICAgICAgICgweDAxVSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF8xICAgICAgICAgICAgICAgICgweDAyVSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF8yICAgICAgICAgICAgICAgICgweDA0VSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF8zICAgICAgICAgICAgICAgICgweDA4VSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF80ICAgICAgICAgICAgICAgICgweDEwVSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF81ICAgICAgICAgICAgICAgICgweDIwVSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF82ICAgICAgICAgICAgICAgICgweDQwVSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUEFUVHhfQVRUSElaeF83ICAgICAgICAgICAgICAgICgweDgwVSA8PCBGU01DX1BBVFR4X0FUVEhJWnhfUG9zKSAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX1BJTzQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDRfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BJTzRfSU9TRVQ0X1BvcykgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1NFVDQgICAgICAgICAgICAgICAgICAgIEZTTUNfUElPNF9JT1NFVDRfTXNrICAgICAgICAgICAgICAgLyohPCBJT1NFVDRbNzowXSBiaXRzIChJL08gNCBzZXR1cCB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzEgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzIgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzMgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzQgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzUgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzYgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9TRVQ0XzcgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19QSU80X0lPU0VUNF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0X1BvcyAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0X01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT1dBSVQ0ICAgICAgICAgICAgICAgICAgIEZTTUNfUElPNF9JT1dBSVQ0X01zayAgICAgICAgICAgICAgLyohPCBJT1dBSVQ0Wzc6MF0gYml0cyAoSS9PIDQgd2FpdCB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF8wICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF8xICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF8yICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF8zICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF80ICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF81ICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF82ICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9XQUlUNF83ICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19QSU80X0lPV0FJVDRfUG9zKSAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0X1BvcyAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0X01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BJTzRfSU9IT0xENF9Qb3MpICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hPTEQ0ICAgICAgICAgICAgICAgICAgIEZTTUNfUElPNF9JT0hPTEQ0X01zayAgICAgICAgICAgICAgLyohPCBJT0hPTEQ0Wzc6MF0gYml0cyAoSS9PIDQgaG9sZCB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF8wICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF8xICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF8yICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF8zICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF80ICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF81ICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF82ICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9IT0xENF83ICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19QSU80X0lPSE9MRDRfUG9zKSAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjRfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGU01DX1BJTzRfSU9ISVo0X1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZTTUNfUElPNF9JT0hJWjQgICAgICAgICAgICAgICAgICAgIEZTTUNfUElPNF9JT0hJWjRfTXNrICAgICAgICAgICAgICAgLyohPCBJT0hJWjRbNzowXSBiaXRzIChJL08gNCBkYXRhYnVzIEhpWiB0aW1lKSAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzEgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzIgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzMgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzQgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzUgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzYgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBGU01DX1BJTzRfSU9ISVo0XzcgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19FQ0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGU01DX0VDQ1IyX0VDQzJfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGU01DX0VDQ1IyX0VDQzJfTXNrICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRlNNQ19FQ0NSMl9FQ0MyX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZTTUNfRUNDUjJfRUNDMiAgICAgICAgICAgICAgICAgICAgIEZTTUNfRUNDUjJfRUNDMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFQ0MgcmVzdWx0ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX0VDQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZTTUNfRUNDUjNfRUNDM19Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZTTUNfRUNDUjNfRUNDM19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGU01DX0VDQ1IzX0VDQzNfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRlNNQ19FQ0NSM19FQ0MzICAgICAgICAgICAgICAgICAgICAgRlNNQ19FQ0NSM19FQ0MzX01zayAgICAgICAgICAgICAgICAvKiE8IEVDQyByZXN1bHQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgU0QgaG9zdCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1BPV0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF9Nc2sgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTCAgICAgICAgICAgICAgICAgIFNESU9fUE9XRVJfUFdSQ1RSTF9Nc2sgICAgICAgICAgICAgLyohPCBQV1JDVFJMWzE6MF0gYml0cyAoUG93ZXIgc3VwcGx5IGNvbnRyb2wgYml0cykgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMXzAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDEgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMXzEgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQ0xLQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVZfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVZfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IFNESU9fQ0xLQ1JfQ0xLRElWX1BvcykgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVYgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9DTEtESVZfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIGRpdmlkZSBmYWN0b3IgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTl9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9DTEtFTl9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTiAgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAvKiE8IENsb2NrIGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVZfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9QV1JTQVZfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVYgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9QV1JTQVZfTXNrICAgICAgICAgICAgICAvKiE8IFBvd2VyIHNhdmluZyBjb25maWd1cmF0aW9uIGJpdCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTU19Qb3MgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTU19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX0JZUEFTU19Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTUyAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0JZUEFTU19Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgZGl2aWRlciBieXBhc3MgZW5hYmxlIGJpdCAqLw0KDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTX01zayAgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDAwMDAxODAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfV0lEQlVTX01zayAgICAgICAgICAgICAgLyohPCBXSURCVVNbMTowXSBiaXRzIChXaWRlIGJ1cyBtb2RlIGVuYWJsZSBiaXQpICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDA4MDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19DTEtDUl9XSURCVVNfUG9zKSAgICAvKiE8IDB4MTAwMCAqLw0KDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRV9Qb3MgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfTkVHRURHRV9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRSAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfTkVHRURHRV9Nc2sgICAgICAgICAgICAgLyohPCBTRElPX0NLIGRlcGhhc2luZyBzZWxlY3Rpb24gYml0ICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTl9Qb3MgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfSFdGQ19FTl9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTiAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfSFdGQ19FTl9Nc2sgICAgICAgICAgICAgLyohPCBIVyBGbG93IENvbnRyb2wgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19BUkcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fQVJHX0NNREFSR19Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQVJHX0NNREFSR19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0FSR19DTURBUkdfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19BUkdfQ01EQVJHICAgICAgICAgICAgICAgICAgICAgU0RJT19BUkdfQ01EQVJHX01zayAgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgYXJndW1lbnQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0NNRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVhfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVhfTXNrICAgICAgICAgICAgICAgKDB4M0ZVIDw8IFNESU9fQ01EX0NNRElOREVYX1BvcykgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVggICAgICAgICAgICAgICAgICAgU0RJT19DTURfQ01ESU5ERVhfTXNrICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgSW5kZXggKi8NCg0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF9Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUUkVTUF9Nc2sgICAgICAgICAgICAgIC8qITwgV0FJVFJFU1BbMTowXSBiaXRzIChXYWl0IGZvciByZXNwb25zZSBiaXRzKSAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDQwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IFNESU9fQ01EX1dBSVRSRVNQX1BvcykgICAgLyohPCAweDAwODAgKi8NCg0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUSU5UX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UICAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUSU5UX01zayAgICAgICAgICAgICAgIC8qITwgQ1BTTSBXYWl0cyBmb3IgSW50ZXJydXB0IFJlcXVlc3QgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkRfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfV0FJVFBFTkRfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkQgICAgICAgICAgICAgICAgICAgU0RJT19DTURfV0FJVFBFTkRfTXNrICAgICAgICAgICAgICAvKiE8IENQU00gV2FpdHMgZm9yIGVuZHMgb2YgZGF0YSB0cmFuc2ZlciAoQ21kUGVuZCBpbnRlcm5hbCBzaWduYWwpICovDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTl9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX0NQU01FTl9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTiAgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX0NQU01FTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHBhdGggc3RhdGUgbWFjaGluZSAoQ1BTTSkgRW5hYmxlIGJpdCAqLw0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORF9Qb3MgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9TRElPU1VTUEVORF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORCAgICAgICAgICAgICAgICBTRElPX0NNRF9TRElPU1VTUEVORF9Nc2sgICAgICAgICAgIC8qITwgU0QgSS9PIHN1c3BlbmQgY29tbWFuZCAqLw0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMX1BvcyAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9FTkNNRENPTVBMX1BvcykgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMICAgICAgICAgICAgICAgICBTRElPX0NNRF9FTkNNRENPTVBMX01zayAgICAgICAgICAgIC8qITwgRW5hYmxlIENNRCBjb21wbGV0aW9uICovDQojZGVmaW5lIFNESU9fQ01EX05JRU5fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX05JRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX05JRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fQ01EX05JRU4gICAgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX05JRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBOb3QgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRF9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9DRUFUQUNNRF9Qb3MpICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9DRUFUQUNNRF9Nc2sgICAgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQQ01EIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTURfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTURfTXNrICAgICAgICAgICAgKDB4M0ZVIDw8IFNESU9fUkVTUENNRF9SRVNQQ01EX1BvcykgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIFNESU9fUkVTUENNRF9SRVNQQ01EICAgICAgICAgICAgICAgIFNESU9fUkVTUENNRF9SRVNQQ01EX01zayAgICAgICAgICAgLyohPCBSZXNwb25zZSBjb21tYW5kIGluZGV4ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzAgICAgICAgICAgICAgIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxICAgICAgICAgICAgICBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMiAgICAgICAgICAgICAgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzMgICAgICAgICAgICAgIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0ICAgICAgICAgICAgICBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRFRJTUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUVfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUVfTXNrICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fRFRJTUVSX0RBVEFUSU1FX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fRFRJTUVSX0RBVEFUSU1FICAgICAgICAgICAgICAgIFNESU9fRFRJTUVSX0RBVEFUSU1FX01zayAgICAgICAgICAgLyohPCBEYXRhIHRpbWVvdXQgcGVyaW9kLiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19ETEVOIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSF9Nc2sgICAgICAgICAgICAoMHgxRkZGRkZGVSA8PCBTRElPX0RMRU5fREFUQUxFTkdUSF9Qb3MpIC8qITwgMHgwMUZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSCAgICAgICAgICAgICAgICBTRElPX0RMRU5fREFUQUxFTkdUSF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBsZW5ndGggdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRENUUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVEVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOICAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVEVOX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZW5hYmxlZCBiaXQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUl9Qb3MgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVERJUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUiAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVERJUl9Nc2sgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERV9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RUTU9ERV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERSAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RUTU9ERV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBtb2RlIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOX1BvcyAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RNQUVOX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RNQUVOX01zayAgICAgICAgICAgICAgIC8qITwgRE1BIGVuYWJsZWQgYml0ICovDQoNCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX01zayAgICAgICAgICAgKDB4RlUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRSAgICAgICAgICAgICAgIFNESU9fRENUUkxfREJMT0NLU0laRV9Nc2sgICAgICAgICAgLyohPCBEQkxPQ0tTSVpFWzM6MF0gYml0cyAoRGF0YSBibG9jayBzaXplKSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMCAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAxMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMSAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAyMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMiAgICAgICAgICAgICAoMHg0VSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDA0MCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMyAgICAgICAgICAgICAoMHg4VSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDA4MCAqLw0KDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldTVEFSVF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVCAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldTVEFSVF9Nc2sgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgc3RhcnQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1BfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1BfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9SV1NUT1BfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1AgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9SV1NUT1BfTXNrICAgICAgICAgICAgICAvKiE8IFJlYWQgd2FpdCBzdG9wICovDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0RfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldNT0RfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0QgICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldNT0RfTXNrICAgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgbW9kZSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1NESU9FTl9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTiAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1NESU9FTl9Nc2sgICAgICAgICAgICAgIC8qITwgU0QgSS9PIGVuYWJsZSBmdW5jdGlvbnMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRENPVU5UIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UX01zayAgICAgICAgICAgKDB4MUZGRkZGRlUgPDwgU0RJT19EQ09VTlRfREFUQUNPVU5UX1BvcykgLyohPCAweDAxRkZGRkZGICovDQojZGVmaW5lIFNESU9fRENPVU5UX0RBVEFDT1VOVCAgICAgICAgICAgICAgIFNESU9fRENPVU5UX0RBVEFDT1VOVF9Nc2sgICAgICAgICAgLyohPCBEYXRhIGNvdW50IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1NUQSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NDUkNGQUlMX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NDUkNGQUlMX01zayAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHJlc3BvbnNlIHJlY2VpdmVkIChDUkMgY2hlY2sgZmFpbGVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQ1JDRkFJTF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSBibG9jayBzZW50L3JlY2VpdmVkIChDUkMgY2hlY2sgZmFpbGVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DVElNRU9VVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DVElNRU9VVF9Nc2sgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSB0aW1lb3V0ICovDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RUSU1FT1VUX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RUSU1FT1VUX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIHRpbWVvdXQgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlJfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhVTkRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlIgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhVTkRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gZXJyb3IgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUl9Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhPVkVSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhPVkVSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVkIEZJRk8gb3ZlcnJ1biBlcnJvciAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURSRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURSRU5EX01zayAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSByZWNlaXZlZCAoQ1JDIGNoZWNrIHBhc3NlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVF9Qb3MgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ01EU0VOVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ01EU0VOVF9Nc2sgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgc2VudCAobm8gcmVzcG9uc2UgcmVxdWlyZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkRfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RBVEFFTkRfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RBVEFFTkRfTXNrICAgICAgICAgICAgICAgLyohPCBEYXRhIGVuZCAoZGF0YSBjb3VudGVyLCBTRElEQ09VTlQsIGlzIHplcm8pICovDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1NUQklURVJSX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1NUQklURVJSX01zayAgICAgICAgICAgICAgLyohPCBTdGFydCBiaXQgbm90IGRldGVjdGVkIG9uIGFsbCBkYXRhIHNpZ25hbHMgaW4gd2lkZSBidXMgbW9kZSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQkNLRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQkNLRU5EX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSBibG9jayBzZW50L3JlY2VpdmVkIChDUkMgY2hlY2sgcGFzc2VkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1RfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURBQ1RfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1QgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURBQ1RfTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCB0cmFuc2ZlciBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEFDVF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEFDVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEFDVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEFDVCAgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEFDVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc21pdCBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEFDVF9Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEFDVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEFDVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEFDVCAgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEFDVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRGF0YSByZWNlaXZlIGluIHByb2dyZXNzICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFX1BvcyAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYRklGT0hFX1BvcykgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYRklGT0hFX01zayAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIEhhbGYgRW1wdHk6IGF0IGxlYXN0IDggd29yZHMgY2FuIGJlIHdyaXR0ZW4gaW50byB0aGUgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRl9Qb3MgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9IRl9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRiAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9IRl9Nc2sgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIEhhbGYgRnVsbDogdGhlcmUgYXJlIGF0IGxlYXN0IDggd29yZHMgaW4gdGhlIEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRl9Qb3MgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPRl9Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gZnVsbCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GX1BvcyAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9GX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9GX01zayAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIGZ1bGwgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPRV9Qb3MpICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRSAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gZW1wdHkgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRV9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhGSUZPRV9Qb3MpICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRSAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhGSUZPRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRklGTyBlbXB0eSAqLw0KI2RlZmluZSBTRElPX1NUQV9UWERBVkxfUG9zICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWERBVkxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWERBVkxfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWERBVkwgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWERBVkxfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gdHJhbnNtaXQgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWERBVkxfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWERBVkxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWERBVkxfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWERBVkwgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWERBVkxfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gcmVjZWl2ZSBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVF9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1NESU9JVF9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1NESU9JVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBTRElPIGludGVycnVwdCByZWNlaXZlZCAqLw0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORF9Qb3MgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DRUFUQUVORF9Qb3MpICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DRUFUQUVORF9Nc2sgICAgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgY29tcGxldGlvbiBzaWduYWwgcmVjZWl2ZWQgZm9yIENNRDYxICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19JQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQ19Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NDUkNGQUlMQ19Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgLyohPCBDQ1JDRkFJTCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTENfUG9zICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EQ1JDRkFJTENfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EQ1JDRkFJTENfTXNrICAgICAgICAgICAgIC8qITwgRENSQ0ZBSUwgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDX1BvcyAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ1RJTUVPVVRDX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ1RJTUVPVVRDX01zayAgICAgICAgICAgICAvKiE8IENUSU1FT1VUIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQ19Qb3MgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RUSU1FT1VUQ19Qb3MpICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgLyohPCBEVElNRU9VVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkNfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkNfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9UWFVOREVSUkNfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9UWFVOREVSUkNfTXNrICAgICAgICAgICAgIC8qITwgVFhVTkRFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkNfUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkNfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfUlhPVkVSUkNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfUlhPVkVSUkNfTXNrICAgICAgICAgICAgICAvKiE8IFJYT1ZFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVORENfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ01EUkVORENfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ01EUkVORENfTXNrICAgICAgICAgICAgICAvKiE8IENNRFJFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVENfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ01EU0VOVENfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVEMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ01EU0VOVENfTXNrICAgICAgICAgICAgICAvKiE8IENNRFNFTlQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVORENfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfREFUQUVORENfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfREFUQUVORENfTXNrICAgICAgICAgICAgICAvKiE8IERBVEFFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDX1BvcyAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfU1RCSVRFUlJDX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfU1RCSVRFUlJDX01zayAgICAgICAgICAgICAvKiE8IFNUQklURVJSIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDX1BvcyAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RCQ0tFTkRDX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RCQ0tFTkRDX01zayAgICAgICAgICAgICAgLyohPCBEQkNLRU5EIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVENfUG9zICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVENfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1NESU9JVENfUG9zKSAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVEMgICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1NESU9JVENfTXNrICAgICAgICAgICAgICAgLyohPCBTRElPSVQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDX1BvcyAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ0VBVEFFTkRDX1BvcykgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ0VBVEFFTkRDX01zayAgICAgICAgICAgICAvKiE8IENFQVRBRU5EIGZsYWcgY2xlYXIgYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX01BU0sgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DQ1JDRkFJTElFX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19DQ1JDRkFJTElFX01zayAgICAgICAgICAgLyohPCBDb21tYW5kIENSQyBGYWlsIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUVfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RDUkNGQUlMSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RDUkNGQUlMSUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgQ1JDIEZhaWwgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ1RJTUVPVVRJRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfQ1RJTUVPVVRJRV9Nc2sgICAgICAgICAgIC8qITwgQ29tbWFuZCBUaW1lT3V0IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUVfUG9zICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RUSU1FT1VUSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RUSU1FT1VUSUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgVGltZU91dCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWFVOREVSUklFX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWFVOREVSUklFX01zayAgICAgICAgICAgLyohPCBUeCBGSUZPIFVuZGVyUnVuIEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRV9Qb3MgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYT1ZFUlJJRV9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYT1ZFUlJJRV9Nc2sgICAgICAgICAgICAvKiE8IFJ4IEZJRk8gT3ZlclJ1biBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUVfUG9zICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DTURSRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19DTURSRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBDb21tYW5kIFJlc3BvbnNlIFJlY2VpdmVkIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRV9Qb3MgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NNRFNFTlRJRV9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NNRFNFTlRJRV9Nc2sgICAgICAgICAgICAvKiE8IENvbW1hbmQgU2VudCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUVfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EQVRBRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19EQVRBRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBEYXRhIEVuZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19TVEJJVEVSUklFX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19TVEJJVEVSUklFX01zayAgICAgICAgICAgLyohPCBTdGFydCBCaXQgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfREJDS0VORElFX1BvcykgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfREJDS0VORElFX01zayAgICAgICAgICAgIC8qITwgRGF0YSBCbG9jayBFbmQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUVfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ01EQUNUSUVfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfQ01EQUNUSUVfTXNrICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBBY3RpbmcgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRV9Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhBQ1RJRV9Qb3MpICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRSAgICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhBQ1RJRV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSBUcmFuc21pdCBBY3RpbmcgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRV9Qb3MgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhBQ1RJRV9Qb3MpICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRSAgICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhBQ1RJRV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSByZWNlaXZlIGFjdGluZyBpbnRlcnJ1cHQgZW5hYmxlZCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPSEVJRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPSEVJRV9Nc2sgICAgICAgICAgIC8qITwgVHggRklGTyBIYWxmIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUVfUG9zICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYRklGT0hGSUVfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYRklGT0hGSUVfTXNrICAgICAgICAgICAvKiE8IFJ4IEZJRk8gSGFsZiBGdWxsIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRV9Qb3MgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYRklGT0ZJRV9Qb3MpICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYRklGT0ZJRV9Nc2sgICAgICAgICAgICAvKiE8IFR4IEZJRk8gRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUVfUG9zICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9GSUVfUG9zKSAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9GSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFX1BvcyAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPRUlFX1BvcykgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPRUlFX01zayAgICAgICAgICAgIC8qITwgVHggRklGTyBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUVfUG9zICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9FSUVfUG9zKSAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9FSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFX1BvcyAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYREFWTElFX1BvcykgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYREFWTElFX01zayAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIFR4IEZJRk8gaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUVfUG9zICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhEQVZMSUVfUG9zKSAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhEQVZMSUVfTXNrICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gUnggRklGTyBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRV9Qb3MgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19TRElPSVRJRV9Qb3MpICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19TRElPSVRJRV9Nc2sgICAgICAgICAgICAgLyohPCBTRElPIE1vZGUgSW50ZXJydXB0IFJlY2VpdmVkIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUVfUG9zICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NFQVRBRU5ESUVfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NFQVRBRU5ESUVfTXNrICAgICAgICAgICAvKiE8IENFLUFUQSBjb21tYW5kIGNvbXBsZXRpb24gc2lnbmFsIHJlY2VpdmVkIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19GSUZPQ05UIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Nc2sgICAgICAgICAgKDB4RkZGRkZGVSA8PCBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX1BvcykgLyohPCAweDAwRkZGRkZGICovDQojZGVmaW5lIFNESU9fRklGT0NOVF9GSUZPQ09VTlQgICAgICAgICAgICAgIFNESU9fRklGT0NOVF9GSUZPQ09VTlRfTXNrICAgICAgICAgLyohPCBSZW1haW5pbmcgbnVtYmVyIG9mIHdvcmRzIHRvIGJlIHdyaXR0ZW4gdG8gb3IgcmVhZCBmcm9tIHRoZSBGSUZPICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0ZJRk8gcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQV9Nc2sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0ZJRk9fRklGT0RBVEFfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19GSUZPX0ZJRk9EQVRBICAgICAgICAgICAgICAgICAgU0RJT19GSUZPX0ZJRk9EQVRBX01zayAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgYW5kIHRyYW5zbWl0IEZJRk8gZGF0YSAqLw0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUjFfQ1BIQV9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1BIQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9DUjFfQ1BIQSAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1BIQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQaGFzZSAqLw0KI2RlZmluZSBTUElfQ1IxX0NQT0xfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NQT0xfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfQ1IxX0NQT0wgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NQT0xfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUG9sYXJpdHkgKi8NCiNkZWZpbmUgU1BJX0NSMV9NU1RSX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9NU1RSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9NU1RSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX0NSMV9NU1RSICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9NU1RSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1hc3RlciBTZWxlY3Rpb24gKi8NCg0KI2RlZmluZSBTUElfQ1IxX0JSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQlJbMjowXSBiaXRzIChCYXVkIFJhdGUgQ29udHJvbCkgKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CUl8yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBTUElfQ1IxX1NQRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NQRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfQ1IxX1NQRSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NQRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgU1BJIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX1BvcyAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0xTQkZJUlNUX1BvcykgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0xTQkZJUlNUX01zayAgICAgICAgICAgICAgIC8qITwgRnJhbWUgRm9ybWF0ICovDQojZGVmaW5lIFNQSV9DUjFfU1NJX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1NJX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1NJX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNQSV9DUjFfU1NJICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1NJX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBzbGF2ZSBzZWxlY3QgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU01fUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TU01fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TU01fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU00gICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TU01fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIHNsYXZlIG1hbmFnZW1lbnQgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9SWE9OTFlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFkgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9SWE9OTFlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgb25seSAqLw0KI2RlZmluZSBTUElfQ1IxX0RGRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0RGRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0RGRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0RGRiAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0RGRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBGcmFtZSBGb3JtYXQgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUkNORVhUX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNORVhUICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUkNORVhUX01zayAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IENSQyBuZXh0ICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU5fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1JDRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDRU4gICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBIYXJkd2FyZSBDUkMgY2FsY3VsYXRpb24gZW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjFfQklESU9FX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQklESU9FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQklESU9FX1BvcykgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNQSV9DUjFfQklESU9FICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQklESU9FX01zayAgICAgICAgICAgICAgICAgLyohPCBPdXRwdXQgZW5hYmxlIGluIGJpZGlyZWN0aW9uYWwgbW9kZSAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JJRElNT0RFX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElNT0RFICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JJRElNT0RFX01zayAgICAgICAgICAgICAgIC8qITwgQmlkaXJlY3Rpb25hbCBkYXRhIG1vZGUgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfUlhETUFFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9DUjJfUlhETUFFTiAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfUlhETUFFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBSeCBCdWZmZXIgRE1BIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU5fUG9zICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1RYRE1BRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRE1BRU4gICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1RYRE1BRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgVHggQnVmZmVyIERNQSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9TU09FX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9TU09FX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9TU09FX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU1BJX0NSMl9TU09FICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9TU09FX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNTIE91dHB1dCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9FUlJJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRSAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9SWE5FSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUUgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJYIGJ1ZmZlciBOb3QgRW1wdHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1RYRUlFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1RYRUlFX01zayAgICAgICAgICAgICAgICAgIC8qITwgVHggYnVmZmVyIEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1NSX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1JYTkVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1BJX1NSX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgYnVmZmVyIE5vdCBFbXB0eSAqLw0KI2RlZmluZSBTUElfU1JfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfVFhFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTUElfU1JfVFhFICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgYnVmZmVyIEVtcHR5ICovDQojZGVmaW5lIFNQSV9TUl9DSFNJREVfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9DSFNJREVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9DSFNJREVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9TUl9DSFNJREUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9DSFNJREVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIHNpZGUgKi8NCiNkZWZpbmUgU1BJX1NSX1VEUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1VEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1VEUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU1BJX1NSX1VEUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1VEUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFVuZGVycnVuIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0NSQ0VSUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUiAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0NSQ0VSUl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENSQyBFcnJvciBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9NT0RGX1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9NT0RGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9NT0RGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNQSV9TUl9NT0RGICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9NT0RGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNb2RlIGZhdWx0ICovDQojZGVmaW5lIFNQSV9TUl9PVlJfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9PVlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9TUl9PVlIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0JTWV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgZmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfRFJfRFJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUkNQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1JDUFJfQ1JDUE9MWV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1JDUFJfQ1JDUE9MWV9Nc2sgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfQ1JDUFJfQ1JDUE9MWV9Qb3MpIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfQ1JDUFJfQ1JDUE9MWSAgICAgICAgICAgICAgICAgICBTUElfQ1JDUFJfQ1JDUE9MWV9Nc2sgICAgICAgICAgICAgIC8qITwgQ1JDIHBvbHlub21pYWwgcmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9SWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1JYQ1JDUl9SWENSQ19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1JYQ1JDUl9SWENSQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX1JYQ1JDUl9SWENSQ19Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX1JYQ1JDUl9SWENSQyAgICAgICAgICAgICAgICAgICAgU1BJX1JYQ1JDUl9SWENSQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFJ4IENSQyBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1RYQ1JDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBTUElfVFhDUkNSX1RYQ1JDX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDICAgICAgICAgICAgICAgICAgICBTUElfVFhDUkNSX1RYQ1JDX01zayAgICAgICAgICAgICAgIC8qITwgVHggQ1JDIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfSTJTQ0ZHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9JMlNDRkdSX0kyU01PRF9Qb3MgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9JMlNDRkdSX0kyU01PRF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9JMlNDRkdSX0kyU01PRF9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNQSV9JMlNDRkdSX0kyU01PRCAgICAgICAgICAgICAgICAgIFNQSV9JMlNDRkdSX0kyU01PRF9Nc2sgICAgICAgICAgICAgLyohPCBJMlMgbW9kZSBzZWxlY3Rpb24gKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgIEludGVyLWludGVncmF0ZWQgQ2lyY3VpdCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NSMV9QRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX0NSMV9QRSAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfU01CVVNfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU01CVVNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU01CVVNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19DUjFfU01CVVMgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU01CVVNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBNb2RlICovDQojZGVmaW5lIEkyQ19DUjFfU01CVFlQRV9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU01CVFlQRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU01CVFlQRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19DUjFfU01CVFlQRSAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU01CVFlQRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBUeXBlICovDQojZGVmaW5lIEkyQ19DUjFfRU5BUlBfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfRU5BUlBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfRU5BUlBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19DUjFfRU5BUlAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfRU5BUlBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBUlAgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfRU5QRUNfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfRU5QRUNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfRU5QRUNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19DUjFfRU5QRUMgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfRU5QRUNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQRUMgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfRU5HQ19Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfRU5HQ19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfRU5HQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19DUjFfRU5HQyAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfRU5HQ19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsIENhbGwgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfTk9TVFJFVENIX1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfTk9TVFJFVENIX01zayAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfTk9TVFJFVENIX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19DUjFfTk9TVFJFVENIICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfTk9TVFJFVENIX01zayAgICAgICAgICAgICAgLyohPCBDbG9jayBTdHJldGNoaW5nIERpc2FibGUgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19DUjFfU1RBUlRfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU1RBUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU1RBUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19DUjFfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU1RBUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTdGFydCBHZW5lcmF0aW9uICovDQojZGVmaW5lIEkyQ19DUjFfU1RPUF9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU1RPUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19DUjFfU1RPUCAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTdG9wIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgSTJDX0NSMV9BQ0tfUG9zICAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9BQ0tfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9BQ0tfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9BQ0sgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9BQ0tfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFja25vd2xlZGdlIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BPU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BPU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BPU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1BPUyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BPU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQWNrbm93bGVkZ2UvUEVDIFBvc2l0aW9uIChmb3IgZGF0YSByZWNlcHRpb24pICovDQojZGVmaW5lIEkyQ19DUjFfUEVDX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUEVDX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUEVDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19DUjFfUEVDICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUEVDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYWNrZXQgRXJyb3IgQ2hlY2tpbmcgKi8NCiNkZWZpbmUgSTJDX0NSMV9BTEVSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9BTEVSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9BTEVSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9BTEVSVCAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9BTEVSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEFsZXJ0ICovDQojZGVmaW5lIEkyQ19DUjFfU1dSU1RfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU1dSU1RfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfU1dSU1RfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19DUjFfU1dSU1QgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfU1dSU1RfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBSZXNldCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzRlUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAzRiAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVEgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0ZSRVFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRlJFUVs1OjBdIGJpdHMgKFBlcmlwaGVyYWwgQ2xvY2sgRnJlcXVlbmN5KSAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0ZSRVFfNSAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgSTJDX0NSMl9GUkVRX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEkyQ19DUjJfSVRFUlJFTl9Qb3MgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfSVRFUlJFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfSVRFUlJFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19DUjJfSVRFUlJFTiAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfSVRFUlJFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfSVRFVlRFTl9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfSVRFVlRFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfSVRFVlRFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19DUjJfSVRFVlRFTiAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfSVRFVlRFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBFdmVudCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjJfSVRCVUZFTl9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfSVRCVUZFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfSVRCVUZFTl9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19DUjJfSVRCVUZFTiAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjJfSVRCVUZFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBCdWZmZXIgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0RNQUVOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0RNQUVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0RNQUVOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0RNQUVOICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0RNQUVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgRE1BIFJlcXVlc3RzIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0xBU1RfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0xBU1RfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0xBU1RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0xBU1QgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0xBU1RfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRE1BIExhc3QgVHJhbnNmZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfT0FSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMV83ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBGRVUgICAgICAgICAgICAgLyohPCBJbnRlcmZhY2UgQWRkcmVzcyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4XzkgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMzAwVSAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBBZGRyZXNzICovDQoNCiNkZWZpbmUgSTJDX09BUjFfQUREMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDEgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQyICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMyAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDRfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ1ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDUgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA2ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDdfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDcgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ4ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ4X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDggKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA5ICovDQoNCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURETU9ERV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURETU9ERSAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURETU9ERV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3NpbmcgTW9kZSAoU2xhdmUgbW9kZSkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfT0FSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjJfRU5EVUFMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX09BUjJfRU5EVUFMICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjJfRU5EVUFMX01zayAgICAgICAgICAgICAgICAvKiE8IER1YWwgYWRkcmVzc2luZyBtb2RlIGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfT0FSMl9BREQyX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMl9BREQyX01zayAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgSTJDX09BUjJfQUREMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGRSAqLw0KI2RlZmluZSBJMkNfT0FSMl9BREQyICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMl9BREQyX01zayAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIGFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0RSX0RSX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0RSX0RSX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgSTJDX0RSX0RSX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgSTJDX0RSX0RSICAgICAgICAgICAgICAgICBJMkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDgtYml0IERhdGEgUmVnaXN0ZXIgICAgICAgICAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19TUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfU1IxX1NCX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1NCX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1NCX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfU1IxX1NCICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1NCX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgQml0IChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRERSX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BRERSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BRERSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BRERSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3Mgc2VudCAobWFzdGVyIG1vZGUpL21hdGNoZWQgKHNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQlRGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQlRGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQlRGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19TUjFfQlRGICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQlRGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBCeXRlIFRyYW5zZmVyIEZpbmlzaGVkICovDQojZGVmaW5lIEkyQ19TUjFfQUREMTBfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUREMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUREMTBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19TUjFfQUREMTAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUREMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCAxMC1iaXQgaGVhZGVyIHNlbnQgKE1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX1NUT1BGX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1NUT1BGX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1NUT1BGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfU1IxX1NUT1BGICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1NUT1BGX01zayAgICAgICAgICAgICAgICAgIC8qITwgU3RvcCBkZXRlY3Rpb24gKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfUlhORV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfUlhORV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19TUjFfUlhORSAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBEYXRhIFJlZ2lzdGVyIG5vdCBFbXB0eSAocmVjZWl2ZXJzKSAqLw0KI2RlZmluZSBJMkNfU1IxX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1RYRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfU1IxX1RYRSAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciBFbXB0eSAodHJhbnNtaXR0ZXJzKSAqLw0KI2RlZmluZSBJMkNfU1IxX0JFUlJfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0JFUlJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0JFUlJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0JFUlIgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0JFUlJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQnVzIEVycm9yICovDQojZGVmaW5lIEkyQ19TUjFfQVJMT19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQVJMT19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQVJMT19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19TUjFfQVJMTyAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQVJMT19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBcmJpdHJhdGlvbiBMb3N0IChtYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9BRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9BRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9BRiAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9BRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFja25vd2xlZGdlIEZhaWx1cmUgKi8NCiNkZWZpbmUgSTJDX1NSMV9PVlJfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9PVlJfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9PVlIgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJydW4vVW5kZXJydW4gKi8NCiNkZWZpbmUgSTJDX1NSMV9QRUNFUlJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9QRUNFUlJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9QRUNFUlJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9QRUNFUlIgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9QRUNFUlJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBFQyBFcnJvciBpbiByZWNlcHRpb24gKi8NCiNkZWZpbmUgSTJDX1NSMV9USU1FT1VUX1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9USU1FT1VUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9USU1FT1VUX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9USU1FT1VUICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9USU1FT1VUX01zayAgICAgICAgICAgICAgICAvKiE8IFRpbWVvdXQgb3IgVGxvdyBFcnJvciAqLw0KI2RlZmluZSBJMkNfU1IxX1NNQkFMRVJUX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1NNQkFMRVJUX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1NNQkFMRVJUX1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfU1IxX1NNQkFMRVJUICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1NNQkFMRVJUX01zayAgICAgICAgICAgICAgIC8qITwgU01CdXMgQWxlcnQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfU1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1NSMl9NU0xfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9NU0xfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9NU0xfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX1NSMl9NU0wgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9NU0xfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IE1hc3Rlci9TbGF2ZSAqLw0KI2RlZmluZSBJMkNfU1IyX0JVU1lfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0JVU1lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0JVU1lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfU1IyX0JVU1kgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0JVU1lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQnVzIEJ1c3kgKi8NCiNkZWZpbmUgSTJDX1NSMl9UUkFfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9UUkFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9UUkFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX1NSMl9UUkEgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9UUkFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0dGVyL1JlY2VpdmVyICovDQojZGVmaW5lIEkyQ19TUjJfR0VOQ0FMTF9Qb3MgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfR0VOQ0FMTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfR0VOQ0FMTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19TUjJfR0VOQ0FMTCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfR0VOQ0FMTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsIENhbGwgQWRkcmVzcyAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJERUZBVUxUX1BvcyAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9TTUJERUZBVUxUX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9TTUJERUZBVUxUX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX1NSMl9TTUJERUZBVUxUICAgICAgICAgICAgICAgICAgSTJDX1NSMl9TTUJERUZBVUxUX01zayAgICAgICAgICAgICAvKiE8IFNNQnVzIERldmljZSBEZWZhdWx0IEFkZHJlc3MgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfU01CSE9TVF9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfU01CSE9TVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfU01CSE9TVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19TUjJfU01CSE9TVCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfU01CSE9TVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBIb3N0IEhlYWRlciAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9EVUFMRl9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9EVUFMRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9EVUFMRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX1NSMl9EVUFMRiAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9EVUFMRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IER1YWwgRmxhZyAoU2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMl9QRUNfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEkyQ19TUjJfUEVDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgSTJDX1NSMl9QRUMgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9QRUNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhY2tldCBFcnJvciBDaGVja2luZyBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfQ0NSX0NDUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ0NSX0NDUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IEkyQ19DQ1JfQ0NSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJMkNfQ0NSX0NDUiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ0NSX0NDUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgQ29udHJvbCBSZWdpc3RlciBpbiBGYXN0L1N0YW5kYXJkIG1vZGUgKE1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ0NSX0RVVFlfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ0NSX0RVVFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ0NSX0RVVFlfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBJMkNfQ0NSX0RVVFkgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ0NSX0RVVFlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRmFzdCBNb2RlIER1dHkgQ3ljbGUgKi8NCiNkZWZpbmUgSTJDX0NDUl9GU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9GU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NDUl9GU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX0NDUl9GUyAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9GU19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEkyQyBNYXN0ZXIgTW9kZSBTZWxlY3Rpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19UUklTRSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1RSSVNFX1RSSVNFX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1RSSVNFX1RSSVNFX01zayAgICAgICAgICAgICAgICAgKDB4M0ZVIDw8IEkyQ19UUklTRV9UUklTRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgSTJDX1RSSVNFX1RSSVNFICAgICAgICAgICAgICAgICAgICAgSTJDX1RSSVNFX1RSSVNFX01zayAgICAgICAgICAgICAgICAvKiE8IE1heGltdW0gUmlzZSBUaW1lIGluIEZhc3QvU3RhbmRhcmQgbW9kZSAoTWFzdGVyIG1vZGUpICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9TUl9QRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9QRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9TUl9QRSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9QRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IEVycm9yICovDQojZGVmaW5lIFVTQVJUX1NSX0ZFX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0ZFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0ZFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX1NSX0ZFICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0ZFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBGcmFtaW5nIEVycm9yICovDQojZGVmaW5lIFVTQVJUX1NSX05FX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX05FX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX05FX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX1NSX05FICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX05FX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBOb2lzZSBFcnJvciBGbGFnICovDQojZGVmaW5lIFVTQVJUX1NSX09SRV9Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX09SRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX09SRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX1NSX09SRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX09SRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyUnVuIEVycm9yICovDQojZGVmaW5lIFVTQVJUX1NSX0lETEVfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0lETEVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0lETEVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX1NSX0lETEUgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0lETEVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJRExFIGxpbmUgZGV0ZWN0ZWQgKi8NCiNkZWZpbmUgVVNBUlRfU1JfUlhORV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfUlhORV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfUlhORSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgRGF0YSBSZWdpc3RlciBOb3QgRW1wdHkgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVENfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfVENfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfVENfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVEMgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfVENfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBDb21wbGV0ZSAqLw0KI2RlZmluZSBVU0FSVF9TUl9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9UWEVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9TUl9UWEUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9UWEVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRGF0YSBSZWdpc3RlciBFbXB0eSAqLw0KI2RlZmluZSBVU0FSVF9TUl9MQkRfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9MQkRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9MQkRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9MQkQgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9MQkRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgTElOIEJyZWFrIERldGVjdGlvbiBGbGFnICovDQojZGVmaW5lIFVTQVJUX1NSX0NUU19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX0NUU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX0NUU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX1NSX0NUUyAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX0NUU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDVFMgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9EUl9EUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxRkZVIDw8IFVTQVJUX0RSX0RSX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDFGRiAqLw0KI2RlZmluZSBVU0FSVF9EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9EUl9EUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQlJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX01zayAgICAgICAgICAoMHhGVSA8PCBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb24gICAgICAgICAgICAgIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb25fTXNrICAgICAgICAgLyohPCBGcmFjdGlvbiBvZiBVU0FSVERJViAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX01hbnRpc3NhX1BvcyAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9CUlJfRElWX01hbnRpc3NhX01zayAgICAgICAgICAoMHhGRkZVIDw8IFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfUG9zKSAvKiE8IDB4MDAwMEZGRjAgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYSAgICAgICAgICAgICAgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Nc2sgICAgICAgICAvKiE8IE1hbnRpc3NhIG9mIFVTQVJURElWICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0NSMV9TQktfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9TQktfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9TQktfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0NSMV9TQksgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9TQktfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTZW5kIEJyZWFrICovDQojZGVmaW5lIFVTQVJUX0NSMV9SV1VfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SV1VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SV1VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0NSMV9SV1UgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SV1VfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlciB3YWtldXAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVEVfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVEVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVEUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVEVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXR0ZXIgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUVfUG9zICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9JRExFSUVfUG9zKSAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUUgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9JRExFSUVfTXNrICAgICAgICAgICAgICAgLyohPCBJRExFIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRV9Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JYTkVJRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRSAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFJYTkUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVENJRV9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVENJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVENJRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVENJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIENvbXBsZXRlIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RYRUlFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RYRUlFX01zayAgICAgICAgICAgICAgICAvKiE8IFBFIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BFSUVfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1BFSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1BFSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BFSUUgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1BFSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBFIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BTX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1BTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1BTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BTICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1BTX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBhcml0eSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BDRV9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1BDRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1BDRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1BDRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1BDRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBhcml0eSBDb250cm9sIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfV0FLRV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfV0FLRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfV0FLRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfV0FLRSAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfV0FLRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV2FrZXVwIG1ldGhvZCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfTV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfTV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfTV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfTSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfTV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV29yZCBsZW5ndGggKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1VFX1BvcyAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1VFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1VFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1VFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1VFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFVTQVJUIEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0FSVF9DUjJfQUREX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBvZiB0aGUgVVNBUlQgbm9kZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJETF9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJETF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJETF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJETCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJETF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTElOIEJyZWFrIERldGVjdGlvbiBMZW5ndGggKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCRElFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRElFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCRElFX01zayAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTF9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfTEJDTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfTEJDTCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfTEJDTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgTGFzdCBCaXQgQ2xvY2sgcHVsc2UgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEFfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NQSEFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NQSEEgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NQSEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBoYXNlICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DUE9MX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUE9MICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DUE9MX01zayAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQb2xhcml0eSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU5fUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ0xLRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ0xLRU4gICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ0xLRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgRW5hYmxlICovDQoNCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1AgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX1NUT1BfTXNrICAgICAgICAgICAgICAgICAvKiE8IFNUT1BbMTowXSBiaXRzIChTVE9QIGJpdHMpICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOX1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xJTkVOX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xJTkVOICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xJTkVOX01zayAgICAgICAgICAgICAgICAvKiE8IExJTiBtb2RlIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRUlFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTl9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSVJFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJFTiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSVJFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSXJEQSBtb2RlIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUF9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSVJMUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSVJMUCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfSVJMUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgSXJEQSBMb3ctUG93ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0hEU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0hEU0VMICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0hEU0VMX01zayAgICAgICAgICAgICAgICAvKiE8IEhhbGYtRHVwbGV4IFNlbGVjdGlvbiAqLw0KI2RlZmluZSBVU0FSVF9DUjNfTkFDS19Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfTkFDS19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfTkFDS19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfTkFDSyAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfTkFDS19Nc2sgICAgICAgICAgICAgICAgIC8qITwgU21hcnRjYXJkIE5BQ0sgZW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19TQ0VOX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSM19TQ0VOICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19TQ0VOX01zayAgICAgICAgICAgICAgICAgLyohPCBTbWFydGNhcmQgbW9kZSBlbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVJfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0RNQVJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVIgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0RNQVJfTXNrICAgICAgICAgICAgICAgICAvKiE8IERNQSBFbmFibGUgUmVjZWl2ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVRfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0RNQVRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RNQVQgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0RNQVRfTXNrICAgICAgICAgICAgICAgICAvKiE8IERNQSBFbmFibGUgVHJhbnNtaXR0ZXIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0VfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX1JUU0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX1JUU0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX1JUU0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJUUyBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0VfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0NUU0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0NUU0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IENUUyBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0NUU0lFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0NUU0lFICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0NUU0lFX01zayAgICAgICAgICAgICAgICAvKiE8IENUUyBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9HVFBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDX01zayAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0dUUFJfUFNDX01zayAgICAgICAgICAgICAgICAgLyohPCBQU0NbNzowXSBiaXRzIChQcmVzY2FsZXIgdmFsdWUpICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzEgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzIgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzMgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzQgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzUgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzYgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfUFNDXzcgICAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBVU0FSVF9HVFBSX1BTQ19Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVVNBUlRfR1RQUl9HVF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfR1RQUl9HVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFVTQVJUX0dUUFJfR1RfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgVVNBUlRfR1RQUl9HVCAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfR1RQUl9HVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEd1YXJkIHRpbWUgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlYnVnIE1DVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREJHTUNVX0lEQ09ERSByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEX01zayAgICAgICAgICAgICgweEZGRlUgPDwgREJHTUNVX0lEQ09ERV9ERVZfSURfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9ERVZfSUQgICAgICAgICAgICAgICAgREJHTUNVX0lEQ09ERV9ERVZfSURfTXNrICAgICAgICAgICAvKiE8IERldmljZSBJZGVudGlmaWVyICovDQoNCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfTXNrICAgICAgICAgICAgKDB4RkZGRlUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4RkZGRjAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSUQgICAgICAgICAgICAgICAgREJHTUNVX0lEQ09ERV9SRVZfSURfTXNrICAgICAgICAgICAvKiE8IFJFVl9JRFsxNTowXSBiaXRzIChSZXZpc2lvbiBJZGVudGlmaWVyKSAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8wICAgICAgICAgICAgICAoMHgwMDAxVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xICAgICAgICAgICAgICAoMHgwMDAyVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8yICAgICAgICAgICAgICAoMHgwMDA0VSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8zICAgICAgICAgICAgICAoMHgwMDA4VSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF80ICAgICAgICAgICAgICAoMHgwMDEwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF81ICAgICAgICAgICAgICAoMHgwMDIwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF82ICAgICAgICAgICAgICAoMHgwMDQwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF83ICAgICAgICAgICAgICAoMHgwMDgwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF84ICAgICAgICAgICAgICAoMHgwMTAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF85ICAgICAgICAgICAgICAoMHgwMjAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMCAgICAgICAgICAgICAoMHgwNDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMSAgICAgICAgICAgICAoMHgwODAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMiAgICAgICAgICAgICAoMHgxMDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xMyAgICAgICAgICAgICAoMHgyMDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xNCAgICAgICAgICAgICAoMHg0MDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX1JFVl9JRF8xNSAgICAgICAgICAgICAoMHg4MDAwVSA8PCBEQkdNQ1VfSURDT0RFX1JFVl9JRF9Qb3MpIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREJHTUNVX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NMRUVQX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NMRUVQICAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NMRUVQX01zayAgICAgICAgICAgIC8qITwgRGVidWcgU2xlZXAgTW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUT1BfUG9zICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUT1BfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NUT1BfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUT1AgICAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NUT1BfTXNrICAgICAgICAgICAgIC8qITwgRGVidWcgU3RvcCBNb2RlICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Nc2sgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfU1RBTkRCWV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQlkgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfTXNrICAgICAgICAgIC8qITwgRGVidWcgU3RhbmRieSBtb2RlICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOX01zayAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9UUkFDRV9JT0VOX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9JT0VOICAgICAgICAgICAgICAgIERCR01DVV9DUl9UUkFDRV9JT0VOX01zayAgICAgICAgICAgLyohPCBUcmFjZSBQaW4gQXNzaWdubWVudCBDb250cm9sICovDQoNCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfTXNrICAgICAgICAgICAgKDB4M1UgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREUgICAgICAgICAgICAgICAgREJHTUNVX0NSX1RSQUNFX01PREVfTXNrICAgICAgICAgICAvKiE8IFRSQUNFX01PREVbMTowXSBiaXRzIChUcmFjZSBQaW4gQXNzaWdubWVudCBDb250cm9sKSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV8wICAgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV8xICAgICAgICAgICAgICAoMHgyVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSVdER19TVE9QX1BvcyAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSVdER19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfSVdER19TVE9QX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSVdER19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfSVdER19TVE9QX01zayAgICAgICAgLyohPCBEZWJ1ZyBJbmRlcGVuZGVudCBXYXRjaGRvZyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfUG9zICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19XV0RHX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19XV0RHX1NUT1BfTXNrICAgICAgICAvKiE8IERlYnVnIFdpbmRvdyBXYXRjaGRvZyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfUG9zICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0xX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0xX1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTEgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfUG9zICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0yX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0yX1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTIgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfUG9zICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU0zX1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU0zX1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTMgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU00X1NUT1BfUG9zICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU00X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU00X1NUT1BfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU00X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU00X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTQgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfUG9zICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfTXNrICgweDFVIDw8IERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUICAgIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX01zayAvKiE8IFNNQlVTIHRpbWVvdXQgbW9kZSBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfUG9zICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19JMkMyX1NNQlVTX1RJTUVPVVRfTXNrICgweDFVIDw8IERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUICAgIERCR01DVV9DUl9EQkdfSTJDMl9TTUJVU19USU1FT1VUX01zayAvKiE8IFNNQlVTIHRpbWVvdXQgbW9kZSBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU01X1NUT1BfUG9zICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU01X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU01X1NUT1BfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU01X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU01X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTUgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU02X1NUT1BfUG9zICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU02X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU02X1NUT1BfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU02X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU02X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTYgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU03X1NUT1BfUG9zICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU03X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU03X1NUT1BfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU03X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU03X1NUT1BfTXNrICAgICAgICAvKiE8IFRJTTcgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU05X1NUT1BfUG9zICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU05X1NUT1BfTXNrICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19USU05X1NUT1BfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19USU05X1NUT1AgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19USU05X1NUT1BfTXNrICAgICAgICAvKiE8IERlYnVnIFRJTTkgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTBfU1RPUF9Qb3MgICAgICAgICgyOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTBfU1RPUF9Nc2sgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMTBfU1RPUF9Qb3MpIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTEwX1NUT1AgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTEwX1NUT1BfTXNrICAgICAgIC8qITwgRGVidWcgVElNMTAgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTFfU1RPUF9Qb3MgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMTFfU1RPUF9Nc2sgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMTFfU1RPUF9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1RJTTExX1NUT1AgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX1RJTTExX1NUT1BfTXNrICAgICAgIC8qITwgRGVidWcgVElNMTEgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgRkxBU0ggYW5kIE9wdGlvbiBCeXRlcyBSZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAgKDB4N1UgPDwgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1kgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAvKiE8IExBVEVOQ1lbMjowXSBiaXRzIChMYXRlbmN5KSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUFfUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUFfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9ITEZDWUFfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUEgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9ITEZDWUFfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBIYWxmIEN5Y2xlIEFjY2VzcyBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX1BSRlRCRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRSAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX1BSRlRCRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX1BSRlRCU19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCUyAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX1BSRlRCU19Nc2sgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0tFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX0tFWVJfRktFWVJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZUl9GS0VZUl9Nc2sgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5ICovDQoNCiNkZWZpbmUgUkRQX0tFWV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkRQX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTVVIDw8IFJEUF9LRVlfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwQTUgKi8NCiNkZWZpbmUgUkRQX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkRQX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJEUCBLZXkgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4NDU2NzAxMjNVIDw8IEZMQVNIX0tFWTFfUG9zKSAgICAvKiE8IDB4NDU2NzAxMjMgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMSAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5MSAqLw0KI2RlZmluZSBGTEFTSF9LRVkyX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9LRVkyX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhDREVGODlBQlUgPDwgRkxBU0hfS0VZMl9Qb3MpICAgIC8qITwgMHhDREVGODlBQiAqLw0KI2RlZmluZSBGTEFTSF9LRVkyICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkyX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBFQyBLZXkyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX09QVEtFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Nc2sgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9PUFRLRVlSX09QVEtFWVJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfT1BUS0VZUl9PUFRLRVlSICAgICAgICAgICAgICAgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX01zayAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleSAqLw0KDQojZGVmaW5lICBGTEFTSF9PUFRLRVkxICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkxICAgICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleTEgKi8NCiNkZWZpbmUgIEZMQVNIX09QVEtFWTIgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTIgICAgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5MiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1lfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9CU1lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQnVzeSAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9QR0VSUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9QR0VSUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUHJvZ3JhbW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfV1JQUlRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlIgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfV1JQUlRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFdyaXRlIFByb3RlY3Rpb24gRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfRU9QX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfRU9QX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfRU9QX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBvcGVyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEdfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfUEdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfUEdfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEcgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfUEdfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFByb2dyYW1taW5nICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1BFUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1BFUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQYWdlIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX01FUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX0NSX01FUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX01FUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNYXNzIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVFBHX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVFBHX01zayAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBQcm9ncmFtbWluZyAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRFUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRFUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfU1RSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVCAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0ICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgLyohPCBMb2NrICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVFdSRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVFdSRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZXMgV3JpdGUgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0VSUklFX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0VSUklFX01zayAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0VPUElFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0VPUElFX01zayAgICAgICAgICAgICAgICAgLyohPCBFbmQgb2Ygb3BlcmF0aW9uIGludGVycnVwdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQVJfRkFSX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQVJfRkFSX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX0FSX0ZBUl9Qb3MpICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfQVJfRkFSICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQVJfRkFSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX09CUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX09QVEVSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX09QVEVSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEVycm9yICovDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVF9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9SRFBSVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVCAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9SRFBSVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gKi8NCg0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfSVdER19TV19Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TVyAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgIC8qITwgSVdERyBTVyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcyAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcykgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgIC8qITwgblJTVF9TVE9QICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZICAgICAgICAgICAgICAgIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgLyohPCBuUlNUX1NUREJZICovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEZMQVNIX09CUl9VU0VSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFDICovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgLyohPCBVc2VyIE9wdGlvbiBCeXRlcyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTBfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfT0JSX0RBVEEwX1BvcykgICAgIC8qITwgMHgwMDAzRkMwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfREFUQTBfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YTAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX09CUl9EQVRBMV9Qb3MpICAgICAvKiE8IDB4MDNGQzAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0RBVEExX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGExICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9XUlBSX1dSUF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlBSX1dSUCAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlBSX1dSUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV3JpdGUgUHJvdGVjdCAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfUkRQIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfUkRQX1JEUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9SRFBfblJEUF9Qb3MpICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9VU0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX1VTRVJfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgLyohPCBVc2VyIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX25VU0VSX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVIgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgLyohPCBVc2VyIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTBfREFUQTBfUG9zKSAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMCAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEEwX25EQVRBMF9Qb3MpICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Qb3MgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTFfREFUQTFfUG9zKSAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMSAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX1BvcyAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEExX25EQVRBMV9Qb3MpICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMF9XUlAwX1BvcykgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAwX25XUlAwX1BvcykgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlAxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUDFfV1JQMV9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDFfV1JQMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAxX1dSUDFfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX1dSUDFfV1JQMSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDFfV1JQMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZXMgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMV9uV1JQMV9Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMV9uV1JQMV9Nc2sgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDFfbldSUDFfUG9zKSAgICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMV9uV1JQMSAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMV9uV1JQMV9Nc2sgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9XUlAyX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQMl9XUlAyX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX1dSUDJfV1JQMl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgRkxBU0hfV1JQMl9XUlAyICAgICAgICAgICAgICAgICAgICAgRkxBU0hfV1JQMl9XUlAyX01zayAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBGTEFTSF9XUlAyX25XUlAyX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAyX25XUlAyX01zayAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMl9uV1JQMl9Qb3MpICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAyX25XUlAyICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAyX25XUlAyX01zayAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAzX1dSUDNfUG9zICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAzX1dSUDNfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQM19XUlAzX1BvcykgICAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9XUlAzX1dSUDMgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAzX1dSUDNfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDNfbldSUDNfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDNfbldSUDNfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAzX25XUlAzX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1dSUDNfbldSUDMgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDNfbldSUDNfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCg0KDQovKioNCiAgKiBAfQ0KKi8NCg0KLyoqDQogICogQH0NCiovIA0KDQovKiogQGFkZHRvZ3JvdXAgRXhwb3J0ZWRfbWFjcm8NCiAgKiBAew0KICAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEFEQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19BRENfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gQURDMSkpDQoNCiNkZWZpbmUgSVNfQURDX0NPTU1PTl9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQURDMV9DT01NT04pDQoNCiNkZWZpbmUgSVNfQURDX0RNQV9DQVBBQklMSVRZX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBBREMxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIENSQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19DUkNfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBDUkMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RBQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IERBQzEpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRE1BIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RNQV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw1KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw2KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw3KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUEyX0NoYW5uZWw1KSkNCiAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUElPIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19HUElPX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEdQSU9BKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0IpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPQykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9EKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0UpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPRikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9HKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gSW5zdGFuY2VzICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BRl9JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gTG9jayBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBJMkMxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBJMkMyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU01CVVMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfU01CVVNfQUxMX0lOU1RBTkNFICAgICAgICAgSVNfSTJDX0FMTF9JTlNUQU5DRQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19JV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IElXREcpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTUEkgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NQSV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBTUEkxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBTUEkzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTVEFSVCBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVElNIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1RJTV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU02KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU03KSkNCg0KI2RlZmluZSBJU19USU1fQURWQU5DRURfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgICAgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DQzFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0NDMl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fQ0MzX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzRfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0VUUk1PREUxX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfVElYX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9JVFJYX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9PQ1hSRUZfQ0xFQVJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0VOQ09ERVJfSU5URVJGQUNFX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9YT1JfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX01BU1RFUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU02KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU03KSkNCg0KI2RlZmluZSBJU19USU1fU0xBVkVfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNCkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0RNQUJVUlNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV9CUkVBS19JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hfSU5TVEFOQ0UoSU5TVEFOQ0UsIENIQU5ORUwpIFwNCiAgICgoKChJTlNUQU5DRSkgPT0gVElNMikgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMykgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNNCkgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpICAgICAgICAgICBcDQogICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNNSkgJiYgICAgICAgICAgICAgICAgICAgXA0KICAgICAoKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzIpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF80KSkpKQ0KDQojZGVmaW5lIElTX1RJTV9DQ1hOX0lOU1RBTkNFKElOU1RBTkNFLCBDSEFOTkVMKSAgICAgICAwVQ0KIA0KI2RlZmluZSBJU19USU1fQ09VTlRFUl9NT0RFX1NFTEVDVF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fUkVQRVRJVElPTl9DT1VOVEVSX0lOU1RBTkNFKElOU1RBTkNFKSAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS19ESVZJU0lPTl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU01KSkNCg0KI2RlZmluZSBJU19USU1fRE1BX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTYpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTcpKQ0KICAgIA0KI2RlZmluZSBJU19USU1fRE1BX0NDX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KICAgIA0KI2RlZmluZSBJU19USU1fQ09NTVVUQVRJT05fRVZFTlRfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9FVFJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBUSU00KSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNNSkpDQoNCiNkZWZpbmUgSVNfVElNX0hBTExfU0VOU09SX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTQpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTUpKQ0KDQojZGVmaW5lIElTX1RJTV8zMkJfQ09VTlRFUl9JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgIDBVDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRU5EIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVTQVJUIEluc3RhbmNlcyA6IFN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElTX1VTQVJUX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogQXN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBIYWxmLUR1cGxleCBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfSEFMRkRVUExFWF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNSkpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IExJTiBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfTElOX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDQpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFyZHdhcmUgRmxvdyBjb250cm9sICoqKioqKioqKioqKioqKioqKioqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VQVJUX0hXRkxPV19JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykpDQoNCi8qKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBTbWFyZCBjYXJkIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NNQVJUQ0FSRF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQzKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSVJEQSBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfSVJEQV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDMpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSAgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDUpKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBNdWx0aS1Qcm9jZXNzb3IgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX01VTFRJUFJPQ0VTU09SX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVUFSVDQpICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVQVJUNSkpDQoNCi8qKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IERNQSBtb2RlIGF2YWlsYWJsZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0RNQV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVBUlQ0KSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBSVEMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfUlRDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFJUQykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogV1dERyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1dXREdfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKChJTlNUQU5DRSkgPT0gV1dERykNCg0KDQoNCg0KI2RlZmluZSBSQ0NfSFNFX01JTiAgICAgICAgIDQwMDAwMDBVDQojZGVmaW5lIFJDQ19IU0VfTUFYICAgICAgICAxNjAwMDAwMFUNCg0KI2RlZmluZSBSQ0NfTUFYX0ZSRVFVRU5DWSAgNzIwMDAwMDBVDQoNCi8qKg0KICAqIEB9DQogICovIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICBGb3IgYSBwYWlubGVzcyBjb2RlcyBtaWdyYXRpb24gYmV0d2VlbiB0aGUgU1RNMzJGMXh4IGRldmljZSBwcm9kdWN0ICAgICAgICovDQovKiAgbGluZXMsIHRoZSBhbGlhc2VzIGRlZmluZWQgYmVsb3cgYXJlIHB1dCBpbiBwbGFjZSB0byBvdmVyY29tZSB0aGUgICAgICAgICAqLw0KLyogIGRpZmZlcmVuY2VzIGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcnMgYW5kIElSUW4gZGVmaW5pdGlvbnMuICAgICAgICAgICAgICAgKi8NCi8qICBObyBuZWVkIHRvIHVwZGF0ZSBkZXZlbG9wZWQgaW50ZXJydXB0IGNvZGUgd2hlbiBtb3ZpbmcgYWNyb3NzICAgICAgICAgICAgICovIA0KLyogIHByb2R1Y3QgbGluZXMgd2l0aGluIHRoZSBzYW1lIFNUTTMyRjEgRmFtaWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qIEFsaWFzZXMgZm9yIF9fSVJRbiAqLw0KI2RlZmluZSBBREMxXzJfSVJRbiAgICAgICAgQURDMV9JUlFuDQojZGVmaW5lIERNQTJfQ2hhbm5lbDRfSVJRbiBETUEyX0NoYW5uZWw0XzVfSVJRbg0KI2RlZmluZSBUSU02X0RBQ19JUlFuICAgICAgVElNNl9JUlFuDQoNCg0KLyogQWxpYXNlcyBmb3IgX19JUlFIYW5kbGVyICovDQojZGVmaW5lIEFEQzFfMl9JUlFIYW5kbGVyICAgICAgICBBREMxX0lSUUhhbmRsZXINCiNkZWZpbmUgRE1BMl9DaGFubmVsNF9JUlFIYW5kbGVyIERNQTJfQ2hhbm5lbDRfNV9JUlFIYW5kbGVyDQojZGVmaW5lIFRJTTZfREFDX0lSUUhhbmRsZXIgICAgICBUSU02X0lSUUhhbmRsZXINCg0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQoNCiNpZmRlZiBfX2NwbHVzcGx1cw0KICB9DQojZW5kaWYgLyogX19jcGx1c3BsdXMgKi8NCiAgDQojZW5kaWYgLyogX19TVE0zMkYxMDF4RV9IICovDQogIA0KICANCiAgDQogIC8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovDQo=