LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjA3MHg2LmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEBicmllZiAgIENNU0lTIENvcnRleC1NMCBEZXZpY2UgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUuIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWlucyBhbGwgdGhlIHBlcmlwaGVyYWwgcmVnaXN0ZXIncyBkZWZpbml0aW9ucywgYml0cyANCiAgKiAgICAgICAgICBkZWZpbml0aW9ucyBhbmQgbWVtb3J5IG1hcHBpbmcgZm9yIFNUTTMyRjB4eCBkZXZpY2VzLiAgICAgICAgICAgIA0KICAqICAgICAgICAgICAgDQogICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOg0KICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzDQogICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbg0KICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQ0KICAqICANCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQGF0dGVudGlvbg0KICAqDQogICogPGgyPjxjZW50ZXI+JmNvcHk7IENPUFlSSUdIVChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljczwvY2VudGVyPjwvaDI+DQogICoNCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLA0KICAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCiAgKiAgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwNCiAgKiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQogICogICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uDQogICogICAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCiAgKiAgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgU1RNaWNyb2VsZWN0cm9uaWNzIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycw0KICAqICAgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlDQogICogICAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCiAgKg0KICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIg0KICAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCiAgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUNCiAgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQogICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwNCiAgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUg0KICAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSDQogICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCiAgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQ0KICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQogICoNCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KLyoqIEBhZGR0b2dyb3VwIENNU0lTDQogICogQHsNCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIHN0bTMyZjA3MHg2DQogICogQHsNCiAgKi8NCiAgICANCiNpZm5kZWYgX19TVE0zMkYwNzB4Nl9IDQojZGVmaW5lIF9fU1RNMzJGMDcweDZfSA0KDQojaWZkZWYgX19jcGx1c3BsdXMNCiBleHRlcm4gIkMiIHsNCiNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLw0KDQogIC8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICogQGJyaWVmIENvbmZpZ3VyYXRpb24gb2YgdGhlIENvcnRleC1NMCBQcm9jZXNzb3IgYW5kIENvcmUgUGVyaXBoZXJhbHMNCiAqLw0KI2RlZmluZSBfX0NNMF9SRVYgICAgICAgICAgICAgICAgIDAgLyohPCBDb3JlIFJldmlzaW9uIHIwcDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAwIC8qITwgU1RNMzJGMHh4IGRvIG5vdCBwcm92aWRlIE1QVSAgICAgICAgICAgICAgICAgICovDQojZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgMiAvKiE8IFNUTTMyRjB4eCB1c2VzIDIgQml0cyBmb3IgdGhlIFByaW9yaXR5IExldmVscyAqLw0KI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCiANCi8qKg0KICAqIEB9DQogICovDQogICANCi8qKiBAYWRkdG9ncm91cCBQZXJpcGhlcmFsX2ludGVycnVwdF9udW1iZXJfZGVmaW5pdGlvbg0KICAqIEB7DQogICovDQoNCi8qKg0KICogQGJyaWVmIFNUTTMyRjB4eCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24sIGFjY29yZGluZyB0byB0aGUgc2VsZWN0ZWQgZGV2aWNlIA0KICogICAgICAgIGluIEByZWYgTGlicmFyeV9jb25maWd1cmF0aW9uX3NlY3Rpb24gDQogKi8NCg0KIC8qITwgSW50ZXJydXB0IE51bWJlciBEZWZpbml0aW9uICovDQp0eXBlZGVmIGVudW0NCnsNCi8qKioqKiogIENvcnRleC1NMCBQcm9jZXNzb3IgRXhjZXB0aW9ucyBOdW1iZXJzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEhhcmRGYXVsdF9JUlFuICAgICAgICAgICAgICA9IC0xMywgICAgLyohPCAzIENvcnRleC1NMCBIYXJkIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgU1ZDX0lSUW4gICAgICAgICAgICAgICAgICAgID0gLTUsICAgICAvKiE8IDExIENvcnRleC1NMCBTViBDYWxsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0wIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFN5c1RpY2tfSVJRbiAgICAgICAgICAgICAgICA9IC0xLCAgICAgLyohPCAxNSBDb3J0ZXgtTTAgU3lzdGVtIFRpY2sgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCg0KLyoqKioqKiAgU1RNMzJGMCBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBSVEMgSW50ZXJydXB0IHRocm91Z2ggRVhUSSBMaW5lcyAxNywgMTkgYW5kIDIwICAgICAgICAgICAgICAgICAgKi8NCiAgRkxBU0hfSVJRbiAgICAgICAgICAgICAgICAgID0gMywgICAgICAvKiE8IEZMQVNIIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBSQ0NfSVJRbiAgICAgICAgICAgICAgICAgICAgPSA0LCAgICAgIC8qITwgUkNDIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwXzFfSVJRbiAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBFWFRJIExpbmUgMCBhbmQgMSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRVhUSTJfM19JUlFuICAgICAgICAgICAgICAgID0gNiwgICAgICAvKiE8IEVYVEkgTGluZSAyIGFuZCAzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBFWFRJNF8xNV9JUlFuICAgICAgICAgICAgICAgPSA3LCAgICAgIC8qITwgRVhUSSBMaW5lIDQgdG8gMTUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDksICAgICAgLyohPCBETUExIENoYW5uZWwgMSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgRE1BMV9DaGFubmVsMl8zX0lSUW4gICAgICAgID0gMTAsICAgICAvKiE8IERNQTEgQ2hhbm5lbCAyIGFuZCBDaGFubmVsIDMgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBETUExX0NoYW5uZWw0XzVfSVJRbiAgICAgICAgPSAxMSwgICAgIC8qITwgRE1BMSBDaGFubmVsIDQgYW5kIENoYW5uZWwgNSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDEyLCAgICAgLyohPCBBREMxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNMV9CUktfVVBfVFJHX0NPTV9JUlFuICAgID0gMTMsICAgICAvKiE8IFRJTTEgQnJlYWssIFVwZGF0ZSwgVHJpZ2dlciBhbmQgQ29tbXV0YXRpb24gSW50ZXJydXB0ICAgICAgICAgICAqLw0KICBUSU0xX0NDX0lSUW4gICAgICAgICAgICAgICAgPSAxNCwgICAgIC8qITwgVElNMSBDYXB0dXJlIENvbXBhcmUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTNfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE2LCAgICAgLyohPCBUSU0zIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgVElNMTRfSVJRbiAgICAgICAgICAgICAgICAgID0gMTksICAgICAvKiE8IFRJTTE0IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBUSU0xNl9JUlFuICAgICAgICAgICAgICAgICAgPSAyMSwgICAgIC8qITwgVElNMTYgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFRJTTE3X0lSUW4gICAgICAgICAgICAgICAgICA9IDIyLCAgICAgLyohPCBUSU0xNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgSTJDMV9JUlFuICAgICAgICAgICAgICAgICAgID0gMjMsICAgICAvKiE8IEkyQzEgRXZlbnQgSW50ZXJydXB0ICYgRVhUSSBMaW5lMjMgSW50ZXJydXB0IChJMkMxIHdha2V1cCkgICAgICAqLw0KICBTUEkxX0lSUW4gICAgICAgICAgICAgICAgICAgPSAyNSwgICAgIC8qITwgU1BJMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQVJUMV9JUlFuICAgICAgICAgICAgICAgICA9IDI3LCAgICAgLyohPCBVU0FSVDEgZ2xvYmFsIEludGVycnVwdCAmIEVYVEkgTGluZTI1IEludGVycnVwdCAoVVNBUlQxIHdha2V1cCkgKi8NCiAgVVNBUlQyX0lSUW4gICAgICAgICAgICAgICAgID0gMjgsICAgICAvKiE8IFVTQVJUMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVU0JfSVJRbiAgICAgICAgICAgICAgICAgICAgPSAzMSAgICAgIC8qITwgVVNCIGdsb2JhbCBJbnRlcnJ1cHQgICYgRVhUSSBMaW5lMTggSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICovDQp9IElSUW5fVHlwZTsNCg0KLyoqDQogICogQH0NCiAgKi8NCg0KI2luY2x1ZGUgImNvcmVfY20wLmgiICAgICAgICAgICAgLyogQ29ydGV4LU0wIHByb2Nlc3NvciBhbmQgY29yZSBwZXJpcGhlcmFscyAqLw0KI2luY2x1ZGUgInN5c3RlbV9zdG0zMmYweHguaCIgICAgLyogU1RNMzJGMHh4IFN5c3RlbSBIZWFkZXIgKi8NCiNpbmNsdWRlIDxzdGRpbnQuaD4NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfcmVnaXN0ZXJzX3N0cnVjdHVyZXMNCiAgKiBAew0KICAqLw0KDQovKioNCiAgKiBAYnJpZWYgQW5hbG9nIHRvIERpZ2l0YWwgQ29udmVydGVyDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSVNSOyAgICAgICAgICAvKiE8IEFEQyBpbnRlcnJ1cHQgYW5kIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBJRVI7ICAgICAgICAgIC8qITwgQURDIGludGVycnVwdCBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IENSOyAgICAgICAgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgQ0ZHUjE7ICAgICAgICAvKiE8IEFEQyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCiAgX19JTyB1aW50MzJfdCBDRkdSMjsgICAgICAgIC8qITwgQURDIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IFNNUFI7ICAgICAgICAgLyohPCBBREMgc2FtcGxpbmcgdGltZSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogICAgICAgdWludDMyX3QgUkVTRVJWRUQxOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTggKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI7ICAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IFRSOyAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgdGhyZXNob2xkIHJlZ2lzdGVyLCAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovDQogICAgICAgdWludDMyX3QgUkVTRVJWRUQzOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjQgKi8NCiAgX19JTyB1aW50MzJfdCBDSFNFTFI7ICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJlZ2lzdGVyLCAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFs1XTsgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJDICovDQogIF9fSU8gdWludDMyX3QgRFI7ICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGRhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDAgKi8NCn0gQURDX1R5cGVEZWY7DQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ0NSOyAgICAgICAgICAvKiE8IEFEQyBjb21tb24gY29uZmlndXJhdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHgzMDggKi8NCn0gQURDX0NvbW1vbl9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIENSQyBjYWxjdWxhdGlvbiB1bml0DQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgRFI7ICAgICAgICAgIC8qITwgQ1JDIERhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50OF90ICBJRFI7ICAgICAgICAgLyohPCBDUkMgSW5kZXBlbmRlbnQgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICB1aW50OF90ICAgICAgIFJFU0VSVkVEMDsgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA1ICovDQogIHVpbnQxNl90ICAgICAgUkVTRVJWRUQxOyAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDYgKi8NCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgLyohPCBDUkMgQ29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLyANCiAgdWludDMyX3QgICAgICBSRVNFUlZFRDI7ICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IElOSVQ7ICAgICAgICAvKiE8IEluaXRpYWwgQ1JDIHZhbHVlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgUkVTRVJWRUQzOyAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTQgKi8NCn0gQ1JDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRGVidWcgTUNVDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgSURDT0RFOyAgICAgICAvKiE8IE1DVSBkZXZpY2UgSUQgY29kZSwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgICAvKiE8IERlYnVnIE1DVSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgQVBCMUZaOyAgICAgICAvKiE8IERlYnVnIE1DVSBBUEIxIGZyZWV6ZSByZWdpc3RlciwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgQVBCMkZaOyAgICAgICAvKiE8IERlYnVnIE1DVSBBUEIyIGZyZWV6ZSByZWdpc3RlciwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQp9REJHTUNVX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRE1BIENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDQ1I7ICAgICAgICAgIC8qITwgRE1BIGNoYW5uZWwgeCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICAgICAgICAqLw0KICBfX0lPIHVpbnQzMl90IENORFRSOyAgICAgICAgLyohPCBETUEgY2hhbm5lbCB4IG51bWJlciBvZiBkYXRhIHJlZ2lzdGVyICAgICAgICovDQogIF9fSU8gdWludDMyX3QgQ1BBUjsgICAgICAgICAvKiE8IERNQSBjaGFubmVsIHggcGVyaXBoZXJhbCBhZGRyZXNzIHJlZ2lzdGVyICAgKi8NCiAgX19JTyB1aW50MzJfdCBDTUFSOyAgICAgICAgIC8qITwgRE1BIGNoYW5uZWwgeCBtZW1vcnkgYWRkcmVzcyByZWdpc3RlciAgICAgICAqLw0KfSBETUFfQ2hhbm5lbF9UeXBlRGVmOw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElTUjsgICAgICAgICAgLyohPCBETUEgaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IElGQ1I7ICAgICAgICAgLyohPCBETUEgaW50ZXJydXB0IGZsYWcgY2xlYXIgcmVnaXN0ZXIsICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KfSBETUFfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBFeHRlcm5hbCBJbnRlcnJ1cHQvRXZlbnQgQ29udHJvbGxlcg0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElNUjsgICAgICAgICAgLyohPEVYVEkgSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IEVNUjsgICAgICAgICAgLyohPEVYVEkgRXZlbnQgbWFzayByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFJUU1I7ICAgICAgICAgLyohPEVYVEkgUmlzaW5nIHRyaWdnZXIgc2VsZWN0aW9uIHJlZ2lzdGVyICwgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IEZUU1I7ICAgICAgICAgLyohPEVYVEkgRmFsbGluZyB0cmlnZ2VyIHNlbGVjdGlvbiByZWdpc3RlciwgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IFNXSUVSOyAgICAgICAgLyohPEVYVEkgU29mdHdhcmUgaW50ZXJydXB0IGV2ZW50IHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSOyAgICAgICAgICAgLyohPEVYVEkgUGVuZGluZyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KfSBFWFRJX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRkxBU0ggUmVnaXN0ZXJzDQogICovDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEFDUjsgICAgICAgICAgLyohPEZMQVNIIGFjY2VzcyBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBLRVlSOyAgICAgICAgIC8qITxGTEFTSCBrZXkgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgT1BUS0VZUjsgICAgICAvKiE8RkxBU0ggT1BUIGtleSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgLyohPEZMQVNIIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgIC8qITxGTEFTSCBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgQVI7ICAgICAgICAgICAvKiE8RkxBU0ggYWRkcmVzcyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IFJFU0VSVkVEOyAgICAgLyohPCBSZXNlcnZlZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTggKi8NCiAgX19JTyB1aW50MzJfdCBPQlI7ICAgICAgICAgIC8qITxGTEFTSCBvcHRpb24gYnl0ZXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgV1JQUjsgICAgICAgICAvKiE8RkxBU0ggb3B0aW9uIGJ5dGVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLw0KfSBGTEFTSF9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIE9wdGlvbiBCeXRlcyBSZWdpc3RlcnMNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDE2X3QgUkRQOyAgICAgICAgICAvKiE8IEZMQVNIIG9wdGlvbiBieXRlIFJlYWQgcHJvdGVjdGlvbiwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MTZfdCBVU0VSOyAgICAgICAgIC8qITwgRkxBU0ggb3B0aW9uIGJ5dGUgdXNlciBvcHRpb25zLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMiAqLw0KICBfX0lPIHVpbnQxNl90IERBVEEwOyAgICAgICAgLyohPCBVc2VyIGRhdGEgYnl0ZSAwIChzdG9yZWQgaW4gRkxBU0hfT0JSWzIzOjE2XSksIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDE2X3QgREFUQTE7ICAgICAgICAvKiE8IFVzZXIgZGF0YSBieXRlIDEgKHN0b3JlZCBpbiBGTEFTSF9PQlJbMzE6MjRdKSwgQWRkcmVzcyBvZmZzZXQ6IDB4MDYgKi8NCiAgX19JTyB1aW50MTZfdCBXUlAwOyAgICAgICAgIC8qITwgRkxBU0ggb3B0aW9uIGJ5dGUgd3JpdGUgcHJvdGVjdGlvbiAwLCAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KfSBPQl9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJL08NCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBNT0RFUjsgICAgICAgIC8qITwgR1BJTyBwb3J0IG1vZGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgICAgICAqLw0KICBfX0lPIHVpbnQzMl90IE9UWVBFUjsgICAgICAgLyohPCBHUElPIHBvcnQgb3V0cHV0IHR5cGUgcmVnaXN0ZXIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAgICAgICovDQogIF9fSU8gdWludDMyX3QgT1NQRUVEUjsgICAgICAvKiE8IEdQSU8gcG9ydCBvdXRwdXQgc3BlZWQgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBQVVBEUjsgICAgICAgIC8qITwgR1BJTyBwb3J0IHB1bGwtdXAvcHVsbC1kb3duIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgICAgICAqLw0KICBfX0lPIHVpbnQzMl90IElEUjsgICAgICAgICAgLyohPCBHUElPIHBvcnQgaW5wdXQgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAgICAgICovDQogIF9fSU8gdWludDMyX3QgT0RSOyAgICAgICAgICAvKiE8IEdQSU8gcG9ydCBvdXRwdXQgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICAgICAgKi8NCiAgX19JTyB1aW50MzJfdCBCU1JSOyAgICAgICAgIC8qITwgR1BJTyBwb3J0IGJpdCBzZXQvcmVzZXQgcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MUEgKi8NCiAgX19JTyB1aW50MzJfdCBMQ0tSOyAgICAgICAgIC8qITwgR1BJTyBwb3J0IGNvbmZpZ3VyYXRpb24gbG9jayByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MUMgICAgICAqLw0KICBfX0lPIHVpbnQzMl90IEFGUlsyXTsgICAgICAgLyohPCBHUElPIGFsdGVybmF0ZSBmdW5jdGlvbiBsb3cgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgyMC0weDI0ICovDQogIF9fSU8gdWludDMyX3QgQlJSOyAgICAgICAgICAvKiE8IEdQSU8gYml0IHJlc2V0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICAgICAgKi8NCn0gR1BJT19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFN5c1RlbSBDb25maWd1cmF0aW9uDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ0ZHUjE7ICAgICAgIC8qITwgU1lTQ0ZHIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEOyAgICAvKiE8IFJlc2VydmVkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBFWFRJQ1JbNF07ICAgLyohPCBTWVNDRkcgZXh0ZXJuYWwgaW50ZXJydXB0IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICAgICBBZGRyZXNzIG9mZnNldDogMHgxNC0weDA4ICovDQogIF9fSU8gdWludDMyX3QgQ0ZHUjI7ICAgICAgIC8qITwgU1lTQ0ZHIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KfSBTWVNDRkdfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBJbnRlci1pbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1IxOyAgICAgICAgICAvKiE8IEkyQyBDb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAvKiE8IEkyQyBDb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgT0FSMTsgICAgIC8qITwgSTJDIE93biBhZGRyZXNzIDEgcmVnaXN0ZXIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IE9BUjI7ICAgICAvKiE8IEkyQyBPd24gYWRkcmVzcyAyIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCiAgX19JTyB1aW50MzJfdCBUSU1JTkdSOyAgLyohPCBJMkMgVGltaW5nIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgVElNRU9VVFI7IC8qITwgSTJDIFRpbWVvdXQgcmVnaXN0ZXIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IElTUjsgICAgICAvKiE8IEkyQyBJbnRlcnJ1cHQgYW5kIHN0YXR1cyByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8NCiAgX19JTyB1aW50MzJfdCBJQ1I7ICAgICAgLyohPCBJMkMgSW50ZXJydXB0IGNsZWFyIHJlZ2lzdGVyLCAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgUEVDUjsgICAgIC8qITwgSTJDIFBFQyByZWdpc3RlciwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLw0KICBfX0lPIHVpbnQzMl90IFJYRFI7ICAgICAvKiE8IEkyQyBSZWNlaXZlIGRhdGEgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjQgKi8NCiAgX19JTyB1aW50MzJfdCBUWERSOyAgICAgLyohPCBJMkMgVHJhbnNtaXQgZGF0YSByZWdpc3RlciwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICovDQp9IEkyQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEluZGVwZW5kZW50IFdBVENIRE9HDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgS1I7ICAgLyohPCBJV0RHIEtleSByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBQUjsgICAvKiE8IElXREcgUHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFJMUjsgIC8qITwgSVdERyBSZWxvYWQgcmVnaXN0ZXIsICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgLyohPCBJV0RHIFN0YXR1cyByZWdpc3RlciwgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCiAgX19JTyB1aW50MzJfdCBXSU5SOyAvKiE8IElXREcgV2luZG93IHJlZ2lzdGVyLCAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KfSBJV0RHX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUG93ZXIgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOyAgIC8qITwgUFdSIHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENTUjsgIC8qITwgUFdSIHBvd2VyIGNvbnRyb2wvc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KfSBQV1JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOyAgICAgICAgICAgIC8qITwgUkNDIGNsb2NrIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENGR1I7ICAgICAgIC8qITwgUkNDIGNsb2NrIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgQ0lSOyAgICAgICAgLyohPCBSQ0MgY2xvY2sgaW50ZXJydXB0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBBUEIyUlNUUjsgICAvKiE8IFJDQyBBUEIyIHBlcmlwaGVyYWwgcmVzZXQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjFSU1RSOyAgIC8qITwgUkNDIEFQQjEgcGVyaXBoZXJhbCByZXNldCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgQUhCRU5SOyAgICAgLyohPCBSQ0MgQUhCIHBlcmlwaGVyYWwgY2xvY2sgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBBUEIyRU5SOyAgICAvKiE8IFJDQyBBUEIyIHBlcmlwaGVyYWwgY2xvY2sgZW5hYmxlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQzMl90IEFQQjFFTlI7ICAgIC8qITwgUkNDIEFQQjEgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDMyX3QgQkRDUjsgICAgICAgLyohPCBSQ0MgQmFja3VwIGRvbWFpbiBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8NCiAgX19JTyB1aW50MzJfdCBDU1I7ICAgICAgICAvKiE8IFJDQyBjbG9jayBjb250cm9sICYgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLw0KICBfX0lPIHVpbnQzMl90IEFIQlJTVFI7ICAgIC8qITwgUkNDIEFIQiBwZXJpcGhlcmFsIHJlc2V0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI4ICovDQogIF9fSU8gdWludDMyX3QgQ0ZHUjI7ICAgICAgLyohPCBSQ0MgY2xvY2sgY29uZmlndXJhdGlvbiByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MkMgKi8NCiAgX19JTyB1aW50MzJfdCBDRkdSMzsgICAgICAvKiE8IFJDQyBjbG9jayBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIDMsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgUkNDIGNsb2NrIGNvbnRyb2wgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovDQp9IFJDQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFJlYWwtVGltZSBDbG9jaw0KICAqLw0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBUUjsgICAgICAgICAvKiE8IFJUQyB0aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAvKiE8IFJUQyBkYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAvKiE8IFJUQyBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICBfX0lPIHVpbnQzMl90IElTUjsgICAgICAgIC8qITwgUlRDIGluaXRpYWxpemF0aW9uIGFuZCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IFBSRVI7ICAgICAgIC8qITwgUlRDIHByZXNjYWxlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMTsgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjsgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQzMl90IEFMUk1BUjsgICAgIC8qITwgUlRDIGFsYXJtIEEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMzsgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLw0KICBfX0lPIHVpbnQzMl90IFdQUjsgICAgICAgIC8qITwgUlRDIHdyaXRlIHByb3RlY3Rpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLw0KICBfX0lPIHVpbnQzMl90IFNTUjsgICAgICAgIC8qITwgUlRDIHN1YiBzZWNvbmQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICBfX0lPIHVpbnQzMl90IFNISUZUUjsgICAgIC8qITwgUlRDIHNoaWZ0IGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyQyAqLw0KICBfX0lPIHVpbnQzMl90IFRTVFI7ICAgICAgIC8qITwgUlRDIHRpbWUgc3RhbXAgdGltZSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzMCAqLw0KICBfX0lPIHVpbnQzMl90IFRTRFI7ICAgICAgIC8qITwgUlRDIHRpbWUgc3RhbXAgZGF0ZSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLw0KICBfX0lPIHVpbnQzMl90IFRTU1NSOyAgICAgIC8qITwgUlRDIHRpbWUtc3RhbXAgc3ViIHNlY29uZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzOCAqLw0KICBfX0lPIHVpbnQzMl90IENBTFI7ICAgICAgIC8qITwgUlRDIGNhbGlicmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzQyAqLw0KICBfX0lPIHVpbnQzMl90IFRBRkNSOyAgICAgIC8qITwgUlRDIHRhbXBlciBhbmQgYWx0ZXJuYXRlIGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHg0MCAqLw0KICBfX0lPIHVpbnQzMl90IEFMUk1BU1NSOyAgIC8qITwgUlRDIGFsYXJtIEEgc3ViIHNlY29uZCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0NCAqLw0KfSBSVENfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBTZXJpYWwgUGVyaXBoZXJhbCBJbnRlcmZhY2UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjE7ICAgICAgICAvKiE8IFNQSSBDb250cm9sIHJlZ2lzdGVyIDEgKG5vdCB1c2VkIGluIEkyUyBtb2RlKSwgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgIC8qITwgU1BJIENvbnRyb2wgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgLyohPCBTUEkgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAvKiE8IFNQSSBkYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IENSQ1BSOyAgICAgIC8qITwgU1BJIENSQyBwb2x5bm9taWFsIHJlZ2lzdGVyIChub3QgdXNlZCBpbiBJMlMgbW9kZSksIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgUlhDUkNSOyAgICAgLyohPCBTUEkgUnggQ1JDIHJlZ2lzdGVyIChub3QgdXNlZCBpbiBJMlMgbW9kZSksICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBUWENSQ1I7ICAgICAvKiE8IFNQSSBUeCBDUkMgcmVnaXN0ZXIgKG5vdCB1c2VkIGluIEkyUyBtb2RlKSwgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQzMl90IEkyU0NGR1I7ICAgIC8qITwgU1BJX0kyUyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQp9IFNQSV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFRJTQ0KICAqLw0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjE7ICAgICAgICAgIC8qITwgVElNIGNvbnRyb2wgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ1IyOyAgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFNNQ1I7ICAgICAgICAgLyohPCBUSU0gc2xhdmUgTW9kZSBDb250cm9sIHJlZ2lzdGVyLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBESUVSOyAgICAgICAgIC8qITwgVElNIERNQS9pbnRlcnJ1cHQgZW5hYmxlIHJlZ2lzdGVyLCAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IEVHUjsgICAgICAgICAgLyohPCBUSU0gZXZlbnQgZ2VuZXJhdGlvbiByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBDQ01SMTsgICAgICAgIC8qITwgVElNIGNhcHR1cmUvY29tcGFyZSBtb2RlIHJlZ2lzdGVyIDEsIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDMyX3QgQ0NNUjI7ICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgbW9kZSByZWdpc3RlciAyLCBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IENDRVI7ICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIGVuYWJsZSByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8NCiAgX19JTyB1aW50MzJfdCBDTlQ7ICAgICAgICAgIC8qITwgVElNIGNvdW50ZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovDQogIF9fSU8gdWludDMyX3QgUFNDOyAgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICBfX0lPIHVpbnQzMl90IEFSUjsgICAgICAgICAgLyohPCBUSU0gYXV0by1yZWxvYWQgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MkMgKi8NCiAgX19JTyB1aW50MzJfdCBSQ1I7ICAgICAgICAgICAgIC8qITwgVElNICByZXBldGl0aW9uIGNvdW50ZXIgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzAgKi8NCiAgX19JTyB1aW50MzJfdCBDQ1IxOyAgICAgICAgIC8qITwgVElNIGNhcHR1cmUvY29tcGFyZSByZWdpc3RlciAxLCAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM0ICovICAgIA0KICBfX0lPIHVpbnQzMl90IENDUjI7ICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzggKi8gICAgDQogIF9fSU8gdWludDMyX3QgQ0NSMzsgICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMywgICAgICBBZGRyZXNzIG9mZnNldDogMHgzQyAqLw0KICBfX0lPIHVpbnQzMl90IENDUjQ7ICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDQsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDAgKi8NCiAgX19JTyB1aW50MzJfdCBCRFRSOyAgICAgICAgICAgIC8qITwgVElNIGJyZWFrIGFuZCBkZWFkLXRpbWUgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDQgKi8NCiAgX19JTyB1aW50MzJfdCBEQ1I7ICAgICAgICAgIC8qITwgVElNIERNQSBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovDQogIF9fSU8gdWludDMyX3QgRE1BUjsgICAgICAgICAgICAvKiE8IFRJTSBETUEgYWRkcmVzcyBmb3IgZnVsbCB0cmFuc2ZlciByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovDQogIF9fSU8gdWludDMyX3QgT1I7ICAgICAgICAgICAvKiE8IFRJTSBvcHRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1MCAqLw0KfSBUSU1fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyDQogICovDQogDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgLyohPCBVU0FSVCBDb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLyANCiAgX19JTyB1aW50MzJfdCBDUjI7ICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8gDQogIF9fSU8gdWludDMyX3QgQ1IzOyAgICAvKiE8IFVTQVJUIENvbnRyb2wgcmVnaXN0ZXIgMywgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQogIF9fSU8gdWludDMyX3QgQlJSOyAgICAvKiE8IFVTQVJUIEJhdWQgcmF0ZSByZWdpc3RlciwgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovDQogIF9fSU8gdWludDMyX3QgR1RQUjsgICAvKiE8IFVTQVJUIEd1YXJkIHRpbWUgYW5kIHByZXNjYWxlciByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDMyX3QgUlRPUjsgICAvKiE8IFVTQVJUIFJlY2VpdmVyIFRpbWUgT3V0IHJlZ2lzdGVyLCAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovICANCiAgX19JTyB1aW50MzJfdCBSUVI7ICAgIC8qITwgVVNBUlQgUmVxdWVzdCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8NCiAgX19JTyB1aW50MzJfdCBJU1I7ICAgIC8qITwgVVNBUlQgSW50ZXJydXB0IGFuZCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MUMgKi8NCiAgX19JTyB1aW50MzJfdCBJQ1I7ICAgIC8qITwgVVNBUlQgSW50ZXJydXB0IGZsYWcgQ2xlYXIgcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8NCiAgX19JTyB1aW50MTZfdCBSRFI7ICAgIC8qITwgVVNBUlQgUmVjZWl2ZSBEYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjQgKi8NCiAgdWludDE2X3QgIFJFU0VSVkVEMTsgIC8qITwgUmVzZXJ2ZWQsIDB4MjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgX19JTyB1aW50MTZfdCBURFI7ICAgIC8qITwgVVNBUlQgVHJhbnNtaXQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjggKi8NCiAgdWludDE2X3QgIFJFU0VSVkVEMjsgIC8qITwgUmVzZXJ2ZWQsIDB4MkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCn0gVVNBUlRfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU2VyaWFsIEJ1cyBGdWxsIFNwZWVkIERldmljZQ0KICAqLw0KICANCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDE2X3QgRVAwUjsgICAgICAgICAgICAvKiE8IFVTQiBFbmRwb2ludCAwIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLyANCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDA7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgIA0KICBfX0lPIHVpbnQxNl90IEVQMVI7ICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgMSByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDE7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRVAyUjsgICAgICAgICAgICAvKiE8IFVTQiBFbmRwb2ludCAyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEMjsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBFUDNSOyAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovIA0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEMzsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBFUDRSOyAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ0OyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IEVQNVI7ICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgNSByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDU7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRVA2UjsgICAgICAgICAgICAvKiE8IFVTQiBFbmRwb2ludCA2IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVENjsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBFUDdSOyAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDcgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ3WzE3XTsgICAvKiE8IFJlc2VydmVkICovICAgICANCiAgX19JTyB1aW50MTZfdCBDTlRSOyAgICAgICAgICAgIC8qITwgQ29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ4OyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IElTVFI7ICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDQgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDk7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRk5SOyAgICAgICAgICAgICAvKiE8IEZyYW1lIG51bWJlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0OCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEQTsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBEQUREUjsgICAgICAgICAgIC8qITwgRGV2aWNlIGFkZHJlc3MgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRURCOyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IEJUQUJMRTsgICAgICAgICAgLyohPCBCdWZmZXIgVGFibGUgYWRkcmVzcyByZWdpc3RlciwgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NTAgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFREM7ICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgTFBNQ1NSOyAgICAgICAgICAvKiE8IExQTSBDb250cm9sIGFuZCBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1NCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVERDsgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBCQ0RSOyAgICAgICAgICAgIC8qITwgQmF0dGVyeSBDaGFyZ2luZyBkZXRlY3RvciByZWdpc3RlciwgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDU4ICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRURFOyAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KfSBVU0JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBXaW5kb3cgV0FUQ0hET0cNCiAgKi8NCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1I7ICAgLyohPCBXV0RHIENvbnRyb2wgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovDQogIF9fSU8gdWludDMyX3QgQ0ZSOyAgLyohPCBXV0RHIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovDQogIF9fSU8gdWludDMyX3QgU1I7ICAgLyohPCBXV0RHIFN0YXR1cyByZWdpc3RlciwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovDQp9IFdXREdfVHlwZURlZjsNCg0KLyoqIA0KICAqIEB9DQogICovDQogIA0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfbWVtb3J5X21hcA0KICAqIEB7DQogICovDQoNCiNkZWZpbmUgRkxBU0hfQkFTRSAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMFUpICAgICAgICAgICAgICAvKiE8IEZMQVNIIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQojZGVmaW5lIEZMQVNIX0JBTksxX0VORCAgICAgICAoKHVpbnQzMl90KTB4MDgwMDdGRkZVKSAvKiE8IEZMQVNIIEVORCBhZGRyZXNzIG9mIGJhbmsxICovDQojZGVmaW5lIFNSQU1fQkFTRSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDBVKSAgICAgICAgICAgICAgLyohPCBTUkFNIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQojZGVmaW5lIFBFUklQSF9CQVNFICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQoNCi8qITwgUGVyaXBoZXJhbCBtZW1vcnkgbWFwICovDQojZGVmaW5lIEFQQlBFUklQSF9CQVNFICAgICAgICBQRVJJUEhfQkFTRQ0KI2RlZmluZSBBSEJQRVJJUEhfQkFTRSAgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAyMDAwMCkNCiNkZWZpbmUgQUhCMlBFUklQSF9CQVNFICAgICAgIChQRVJJUEhfQkFTRSArIDB4MDgwMDAwMDApDQoNCi8qITwgQVBCIHBlcmlwaGVyYWxzICovDQojZGVmaW5lIFRJTTNfQkFTRSAgICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwKQ0KI2RlZmluZSBUSU0xNF9CQVNFICAgICAgICAgICAgKEFQQlBFUklQSF9CQVNFICsgMHgwMDAwMjAwMCkNCiNkZWZpbmUgUlRDX0JBU0UgICAgICAgICAgICAgIChBUEJQRVJJUEhfQkFTRSArIDB4MDAwMDI4MDApDQojZGVmaW5lIFdXREdfQkFTRSAgICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDAyQzAwKQ0KI2RlZmluZSBJV0RHX0JBU0UgICAgICAgICAgICAgKEFQQlBFUklQSF9CQVNFICsgMHgwMDAwMzAwMCkNCiNkZWZpbmUgVVNBUlQyX0JBU0UgICAgICAgICAgIChBUEJQRVJJUEhfQkFTRSArIDB4MDAwMDQ0MDApDQojZGVmaW5lIEkyQzFfQkFTRSAgICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDA1NDAwKQ0KI2RlZmluZSBVU0JfQkFTRSAgICAgICAgICAgICAgKEFQQlBFUklQSF9CQVNFICsgMHgwMDAwNUMwMCkgLyohPCBVU0JfSVAgUGVyaXBoZXJhbCBSZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFVTQl9QTUFBRERSICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDA2MDAwKSAvKiE8IFVTQl9JUCBQYWNrZXQgTWVtb3J5IEFyZWEgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFBXUl9CQVNFICAgICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDA3MDAwKQ0KI2RlZmluZSBTWVNDRkdfQkFTRSAgICAgICAgICAgKEFQQlBFUklQSF9CQVNFICsgMHgwMDAxMDAwMCkNCiNkZWZpbmUgRVhUSV9CQVNFICAgICAgICAgICAgIChBUEJQRVJJUEhfQkFTRSArIDB4MDAwMTA0MDApDQojZGVmaW5lIEFEQzFfQkFTRSAgICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDEyNDAwKQ0KI2RlZmluZSBBRENfQkFTRSAgICAgICAgICAgICAgKEFQQlBFUklQSF9CQVNFICsgMHgwMDAxMjcwOCkNCiNkZWZpbmUgVElNMV9CQVNFICAgICAgICAgICAgIChBUEJQRVJJUEhfQkFTRSArIDB4MDAwMTJDMDApDQojZGVmaW5lIFNQSTFfQkFTRSAgICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDEzMDAwKQ0KI2RlZmluZSBVU0FSVDFfQkFTRSAgICAgICAgICAgKEFQQlBFUklQSF9CQVNFICsgMHgwMDAxMzgwMCkNCiNkZWZpbmUgVElNMTZfQkFTRSAgICAgICAgICAgIChBUEJQRVJJUEhfQkFTRSArIDB4MDAwMTQ0MDApDQojZGVmaW5lIFRJTTE3X0JBU0UgICAgICAgICAgICAoQVBCUEVSSVBIX0JBU0UgKyAweDAwMDE0ODAwKQ0KI2RlZmluZSBEQkdNQ1VfQkFTRSAgICAgICAgICAgKEFQQlBFUklQSF9CQVNFICsgMHgwMDAxNTgwMCkNCg0KLyohPCBBSEIgcGVyaXBoZXJhbHMgKi8NCiNkZWZpbmUgRE1BMV9CQVNFICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDApDQojZGVmaW5lIERNQTFfQ2hhbm5lbDFfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDAwOCkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMl9CQVNFICAgIChETUExX0JBU0UgKyAweDAwMDAwMDFDKQ0KI2RlZmluZSBETUExX0NoYW5uZWwzX0JBU0UgICAgKERNQTFfQkFTRSArIDB4MDAwMDAwMzApDQojZGVmaW5lIERNQTFfQ2hhbm5lbDRfQkFTRSAgICAoRE1BMV9CQVNFICsgMHgwMDAwMDA0NCkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNV9CQVNFICAgIChETUExX0JBU0UgKyAweDAwMDAwMDU4KQ0KDQojZGVmaW5lIFJDQ19CQVNFICAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwKQ0KI2RlZmluZSBGTEFTSF9SX0JBU0UgICAgICAgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMjAwMCkgLyohPCBGTEFTSCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIE9CX0JBU0UgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MUZGRkY4MDBVKSAgICAgICAvKiE8IEZMQVNIIE9wdGlvbiBCeXRlcyBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgRkxBU0hTSVpFX0JBU0UgICAgICAgICgodWludDMyX3QpMHgxRkZGRjdDQ1UpICAgICAgIC8qITwgRkxBU0ggU2l6ZSByZWdpc3RlciBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgVUlEX0JBU0UgICAgICAgICAgICAgICgodWludDMyX3QpMHgxRkZGRjdBQ1UpICAgICAgIC8qITwgVW5pcXVlIGRldmljZSBJRCByZWdpc3RlciBiYXNlIGFkZHJlc3MgKi8NCiNkZWZpbmUgQ1JDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDApDQoNCi8qITwgQUhCMiBwZXJpcGhlcmFscyAqLw0KI2RlZmluZSBHUElPQV9CQVNFICAgICAgICAgICAgKEFIQjJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDApDQojZGVmaW5lIEdQSU9CX0JBU0UgICAgICAgICAgICAoQUhCMlBFUklQSF9CQVNFICsgMHgwMDAwMDQwMCkNCiNkZWZpbmUgR1BJT0NfQkFTRSAgICAgICAgICAgIChBSEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwODAwKQ0KI2RlZmluZSBHUElPRF9CQVNFICAgICAgICAgICAgKEFIQjJQRVJJUEhfQkFTRSArIDB4MDAwMDBDMDApDQojZGVmaW5lIEdQSU9GX0JBU0UgICAgICAgICAgICAoQUhCMlBFUklQSF9CQVNFICsgMHgwMDAwMTQwMCkNCg0KLyoqDQogICogQH0NCiAgKi8NCiAgDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9kZWNsYXJhdGlvbg0KICAqIEB7DQogICovICANCg0KI2RlZmluZSBUSU0zICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNM19CQVNFKQ0KI2RlZmluZSBUSU0xNCAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNMTRfQkFTRSkNCiNkZWZpbmUgUlRDICAgICAgICAgICAgICAgICAoKFJUQ19UeXBlRGVmICopIFJUQ19CQVNFKQ0KI2RlZmluZSBXV0RHICAgICAgICAgICAgICAgICgoV1dER19UeXBlRGVmICopIFdXREdfQkFTRSkNCiNkZWZpbmUgSVdERyAgICAgICAgICAgICAgICAoKElXREdfVHlwZURlZiAqKSBJV0RHX0JBU0UpDQojZGVmaW5lIFVTQVJUMiAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopIFVTQVJUMl9CQVNFKQ0KI2RlZmluZSBJMkMxICAgICAgICAgICAgICAgICgoSTJDX1R5cGVEZWYgKikgSTJDMV9CQVNFKQ0KI2RlZmluZSBQV1IgICAgICAgICAgICAgICAgICgoUFdSX1R5cGVEZWYgKikgUFdSX0JBU0UpDQojZGVmaW5lIFNZU0NGRyAgICAgICAgICAgICAgKChTWVNDRkdfVHlwZURlZiAqKSBTWVNDRkdfQkFTRSkNCiNkZWZpbmUgRVhUSSAgICAgICAgICAgICAgICAoKEVYVElfVHlwZURlZiAqKSBFWFRJX0JBU0UpDQojZGVmaW5lIEFEQzEgICAgICAgICAgICAgICAgKChBRENfVHlwZURlZiAqKSBBREMxX0JBU0UpDQojZGVmaW5lIEFEQzFfQ09NTU9OICAgICAgICAgKChBRENfQ29tbW9uX1R5cGVEZWYgKikgQURDX0JBU0UpDQojZGVmaW5lIEFEQyAgICAgICAgICAgICAgICAgKChBRENfQ29tbW9uX1R5cGVEZWYgKikgQURDX0JBU0UpIC8qIEtlcHQgZm9yIGxlZ2FjeSBwdXJwb3NlICovDQojZGVmaW5lIFRJTTEgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU0xX0JBU0UpDQojZGVmaW5lIFNQSTEgICAgICAgICAgICAgICAgKChTUElfVHlwZURlZiAqKSBTUEkxX0JBU0UpDQojZGVmaW5lIFVTQVJUMSAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopIFVTQVJUMV9CQVNFKQ0KI2RlZmluZSBUSU0xNiAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNMTZfQkFTRSkNCiNkZWZpbmUgVElNMTcgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopIFRJTTE3X0JBU0UpDQojZGVmaW5lIERCR01DVSAgICAgICAgICAgICAgKChEQkdNQ1VfVHlwZURlZiAqKSBEQkdNQ1VfQkFTRSkNCiNkZWZpbmUgRE1BMSAgICAgICAgICAgICAgICAoKERNQV9UeXBlRGVmICopIERNQTFfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMSAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKikgRE1BMV9DaGFubmVsMV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwyICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKSBETUExX0NoYW5uZWwyX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDMgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopIERNQTFfQ2hhbm5lbDNfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNCAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKikgRE1BMV9DaGFubmVsNF9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw1ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKSBETUExX0NoYW5uZWw1X0JBU0UpDQojZGVmaW5lIEZMQVNIICAgICAgICAgICAgICAgKChGTEFTSF9UeXBlRGVmICopIEZMQVNIX1JfQkFTRSkNCiNkZWZpbmUgT0IgICAgICAgICAgICAgICAgICAoKE9CX1R5cGVEZWYgKikgT0JfQkFTRSkgDQojZGVmaW5lIFJDQyAgICAgICAgICAgICAgICAgKChSQ0NfVHlwZURlZiAqKSBSQ0NfQkFTRSkNCiNkZWZpbmUgQ1JDICAgICAgICAgICAgICAgICAoKENSQ19UeXBlRGVmICopIENSQ19CQVNFKQ0KI2RlZmluZSBHUElPQSAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopIEdQSU9BX0JBU0UpDQojZGVmaW5lIEdQSU9CICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKikgR1BJT0JfQkFTRSkNCiNkZWZpbmUgR1BJT0MgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKSBHUElPQ19CQVNFKQ0KI2RlZmluZSBHUElPRCAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopIEdQSU9EX0JBU0UpDQojZGVmaW5lIEdQSU9GICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKikgR1BJT0ZfQkFTRSkNCiNkZWZpbmUgVVNCICAgICAgICAgICAgICAgICAoKFVTQl9UeXBlRGVmICopIFVTQl9CQVNFKQ0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX2NvbnN0YW50cw0KICAqIEB7DQogICovDQoNCiAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbg0KICAqIEB7DQogICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBQZXJpcGhlcmFsIFJlZ2lzdGVycyBCaXRzIERlZmluaXRpb24gICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgKEFEQykgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qDQogKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYwIHNlcmllKQ0KICovDQovKiBOb3RlOiBObyBzcGVjaWZpYyBtYWNybyBmZWF0dXJlIG9uIHRoaXMgZGV2aWNlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBBRENfSVNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19JU1JfQURSRFlfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19JU1JfQURSRFlfTXNrICAgICAgICAgKDB4MVUgPDwgQURDX0lTUl9BRFJEWV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19JU1JfQURSRFkgICAgICAgICAgICAgQURDX0lTUl9BRFJEWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgcmVhZHkgZmxhZyAqLw0KI2RlZmluZSBBRENfSVNSX0VPU01QX1BvcyAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSVNSX0VPU01QX01zayAgICAgICAgICgweDFVIDw8IEFEQ19JU1JfRU9TTVBfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfSVNSX0VPU01QICAgICAgICAgICAgIEFEQ19JU1JfRU9TTVBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHNhbXBsaW5nIGZsYWcgKi8NCiNkZWZpbmUgQURDX0lTUl9FT0NfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0lTUl9FT0NfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRENfSVNSX0VPQ19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0lTUl9FT0MgICAgICAgICAgICAgICBBRENfSVNSX0VPQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGVuZCBvZiB1bml0YXJ5IGNvbnZlcnNpb24gZmxhZyAqLw0KI2RlZmluZSBBRENfSVNSX0VPU19Qb3MgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSVNSX0VPU19Nc2sgICAgICAgICAgICgweDFVIDw8IEFEQ19JU1JfRU9TX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfSVNSX0VPUyAgICAgICAgICAgICAgIEFEQ19JU1JfRU9TX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGZsYWcgKi8NCiNkZWZpbmUgQURDX0lTUl9PVlJfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0lTUl9PVlJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRENfSVNSX09WUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX0lTUl9PVlIgICAgICAgICAgICAgICBBRENfSVNSX09WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIG92ZXJydW4gZmxhZyAqLw0KI2RlZmluZSBBRENfSVNSX0FXRDFfUG9zICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSVNSX0FXRDFfTXNrICAgICAgICAgICgweDFVIDw8IEFEQ19JU1JfQVdEMV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfSVNSX0FXRDEgICAgICAgICAgICAgIEFEQ19JU1JfQVdEMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGZsYWcgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgQURDX0lTUl9BV0QgICAgICAgICAgICAgKEFEQ19JU1JfQVdEMSkNCiNkZWZpbmUgQURDX0lTUl9FT1NFUSAgICAgICAgICAgKEFEQ19JU1JfRU9TKQ0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgQURDX0lFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSUVSX0FEUkRZSUVfUG9zICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSUVSX0FEUkRZSUVfTXNrICAgICAgICgweDFVIDw8IEFEQ19JRVJfQURSRFlJRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfSUVSX0FEUkRZSUUgICAgICAgICAgIEFEQ19JRVJfQURSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIHJlYWR5IGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfSUVSX0VPU01QSUVfUG9zICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSUVSX0VPU01QSUVfTXNrICAgICAgICgweDFVIDw8IEFEQ19JRVJfRU9TTVBJRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfSUVSX0VPU01QSUUgICAgICAgICAgIEFEQ19JRVJfRU9TTVBJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHNhbXBsaW5nIGludGVycnVwdCAqLw0KI2RlZmluZSBBRENfSUVSX0VPQ0lFX1BvcyAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSUVSX0VPQ0lFX01zayAgICAgICAgICgweDFVIDw8IEFEQ19JRVJfRU9DSUVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfSUVSX0VPQ0lFICAgICAgICAgICAgIEFEQ19JRVJfRU9DSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZW5kIG9mIHVuaXRhcnkgY29udmVyc2lvbiBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0lFUl9FT1NJRV9Qb3MgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0lFUl9FT1NJRV9Nc2sgICAgICAgICAoMHgxVSA8PCBBRENfSUVSX0VPU0lFX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0lFUl9FT1NJRSAgICAgICAgICAgICBBRENfSUVSX0VPU0lFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0lFUl9PVlJJRV9Qb3MgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0lFUl9PVlJJRV9Nc2sgICAgICAgICAoMHgxVSA8PCBBRENfSUVSX09WUklFX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX0lFUl9PVlJJRSAgICAgICAgICAgICBBRENfSUVSX09WUklFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIG92ZXJydW4gaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19JRVJfQVdEMUlFX1BvcyAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19JRVJfQVdEMUlFX01zayAgICAgICAgKDB4MVUgPDwgQURDX0lFUl9BV0QxSUVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19JRVJfQVdEMUlFICAgICAgICAgICAgQURDX0lFUl9BV0QxSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgaW50ZXJydXB0ICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lIEFEQ19JRVJfQVdESUUgICAgICAgICAgIChBRENfSUVSX0FXRDFJRSkNCiNkZWZpbmUgQURDX0lFUl9FT1NFUUlFICAgICAgICAgKEFEQ19JRVJfRU9TSUUpDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBBRENfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DUl9BREVOX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUl9BREVOX01zayAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSX0FERU5fUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19DUl9BREVOICAgICAgICAgICAgICAgQURDX0NSX0FERU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUl9BRERJU19Qb3MgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUl9BRERJU19Nc2sgICAgICAgICAgKDB4MVUgPDwgQURDX0NSX0FERElTX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DUl9BRERJUyAgICAgICAgICAgICAgQURDX0NSX0FERElTX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGlzYWJsZSAqLw0KI2RlZmluZSBBRENfQ1JfQURTVEFSVF9Qb3MgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1JfQURTVEFSVF9Nc2sgICAgICAgICgweDFVIDw8IEFEQ19DUl9BRFNUQVJUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfQ1JfQURTVEFSVCAgICAgICAgICAgIEFEQ19DUl9BRFNUQVJUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdGFydCAqLw0KI2RlZmluZSBBRENfQ1JfQURTVFBfUG9zICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1JfQURTVFBfTXNrICAgICAgICAgICgweDFVIDw8IEFEQ19DUl9BRFNUUF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfQ1JfQURTVFAgICAgICAgICAgICAgIEFEQ19DUl9BRFNUUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgY29udmVyc2lvbiBzdG9wICovDQojZGVmaW5lIEFEQ19DUl9BRENBTF9Qb3MgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUl9BRENBTF9Nc2sgICAgICAgICAgKDB4MVUgPDwgQURDX0NSX0FEQ0FMX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIEFEQ19DUl9BRENBTCAgICAgICAgICAgICAgQURDX0NSX0FEQ0FMX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgY2FsaWJyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgQURDX0NGR1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NGR1IxX0RNQUVOX1BvcyAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NGR1IxX0RNQUVOX01zayAgICAgICAoMHgxVSA8PCBBRENfQ0ZHUjFfRE1BRU5fUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0NGR1IxX0RNQUVOICAgICAgICAgICBBRENfQ0ZHUjFfRE1BRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBETUEgdHJhbnNmZXIgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DRkdSMV9ETUFDRkdfUG9zICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DRkdSMV9ETUFDRkdfTXNrICAgICAgKDB4MVUgPDwgQURDX0NGR1IxX0RNQUNGR19Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DRkdSMV9ETUFDRkcgICAgICAgICAgQURDX0NGR1IxX0RNQUNGR19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQURDX0NGR1IxX1NDQU5ESVJfUG9zICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NGR1IxX1NDQU5ESVJfTXNrICAgICAoMHgxVSA8PCBBRENfQ0ZHUjFfU0NBTkRJUl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NGR1IxX1NDQU5ESVIgICAgICAgICBBRENfQ0ZHUjFfU0NBTkRJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBzY2FuIGRpcmVjdGlvbiAqLw0KDQojZGVmaW5lIEFEQ19DRkdSMV9SRVNfUG9zICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DRkdSMV9SRVNfTXNrICAgICAgICAgKDB4M1UgPDwgQURDX0NGR1IxX1JFU19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDE4ICovDQojZGVmaW5lIEFEQ19DRkdSMV9SRVMgICAgICAgICAgICAgQURDX0NGR1IxX1JFU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSByZXNvbHV0aW9uICovDQojZGVmaW5lIEFEQ19DRkdSMV9SRVNfMCAgICAgICAgICAgKDB4MVUgPDwgQURDX0NGR1IxX1JFU19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19DRkdSMV9SRVNfMSAgICAgICAgICAgKDB4MlUgPDwgQURDX0NGR1IxX1JFU19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX0NGR1IxX0FMSUdOX1BvcyAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NGR1IxX0FMSUdOX01zayAgICAgICAoMHgxVSA8PCBBRENfQ0ZHUjFfQUxJR05fUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0NGR1IxX0FMSUdOICAgICAgICAgICBBRENfQ0ZHUjFfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8NCg0KI2RlZmluZSBBRENfQ0ZHUjFfRVhUU0VMX1BvcyAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0ZHUjFfRVhUU0VMX01zayAgICAgICgweDdVIDw8IEFEQ19DRkdSMV9FWFRTRUxfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDFDMCAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfRVhUU0VMICAgICAgICAgIEFEQ19DRkdSMV9FWFRTRUxfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZXh0ZXJuYWwgdHJpZ2dlciBzb3VyY2UgKi8NCiNkZWZpbmUgQURDX0NGR1IxX0VYVFNFTF8wICAgICAgICAoMHgxVSA8PCBBRENfQ0ZHUjFfRVhUU0VMX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX0NGR1IxX0VYVFNFTF8xICAgICAgICAoMHgyVSA8PCBBRENfQ0ZHUjFfRVhUU0VMX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX0NGR1IxX0VYVFNFTF8yICAgICAgICAoMHg0VSA8PCBBRENfQ0ZHUjFfRVhUU0VMX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KI2RlZmluZSBBRENfQ0ZHUjFfRVhURU5fUG9zICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0ZHUjFfRVhURU5fTXNrICAgICAgICgweDNVIDw8IEFEQ19DRkdSMV9FWFRFTl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfRVhURU4gICAgICAgICAgIEFEQ19DRkdSMV9FWFRFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZXh0ZXJuYWwgdHJpZ2dlciBwb2xhcml0eSAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfRVhURU5fMCAgICAgICAgICgweDFVIDw8IEFEQ19DRkdSMV9FWFRFTl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfRVhURU5fMSAgICAgICAgICgweDJVIDw8IEFEQ19DRkdSMV9FWFRFTl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEFEQ19DRkdSMV9PVlJNT0RfUG9zICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DRkdSMV9PVlJNT0RfTXNrICAgICAgKDB4MVUgPDwgQURDX0NGR1IxX09WUk1PRF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9PVlJNT0QgICAgICAgICAgQURDX0NGR1IxX09WUk1PRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBvdmVycnVuIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQURDX0NGR1IxX0NPTlRfUG9zICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NGR1IxX0NPTlRfTXNrICAgICAgICAoMHgxVSA8PCBBRENfQ0ZHUjFfQ09OVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQURDX0NGR1IxX0NPTlQgICAgICAgICAgICBBRENfQ0ZHUjFfQ09OVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnRpbnVvdXMgY29udmVyc2lvbiBtb2RlICovDQojZGVmaW5lIEFEQ19DRkdSMV9XQUlUX1BvcyAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DRkdSMV9XQUlUX01zayAgICAgICAgKDB4MVUgPDwgQURDX0NGR1IxX1dBSVRfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9XQUlUICAgICAgICAgICAgQURDX0NGR1IxX1dBSVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgbG93IHBvd2VyIGF1dG8gd2FpdCAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfQVVUT0ZGX1BvcyAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0ZHUjFfQVVUT0ZGX01zayAgICAgICgweDFVIDw8IEFEQ19DRkdSMV9BVVRPRkZfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfQVVUT0ZGICAgICAgICAgIEFEQ19DRkdSMV9BVVRPRkZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGxvdyBwb3dlciBhdXRvIHBvd2VyIG9mZiAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfRElTQ0VOX1BvcyAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0ZHUjFfRElTQ0VOX01zayAgICAgICgweDFVIDw8IEFEQ19DRkdSMV9ESVNDRU5fUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfRElTQ0VOICAgICAgICAgIEFEQ19DRkdSMV9ESVNDRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGRpc2NvbnRpbnVvdXMgbW9kZSAqLw0KDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxU0dMX1BvcyAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxU0dMX01zayAgICAgKDB4MVUgPDwgQURDX0NGR1IxX0FXRDFTR0xfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxU0dMICAgICAgICAgQURDX0NGR1IxX0FXRDFTR0xfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgbW9uaXRvcmluZyBhIHNpbmdsZSBjaGFubmVsIG9yIGFsbCBjaGFubmVscyAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfQVdEMUVOX1BvcyAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0ZHUjFfQVdEMUVOX01zayAgICAgICgweDFVIDw8IEFEQ19DRkdSMV9BV0QxRU5fUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfQ0ZHUjFfQVdEMUVOICAgICAgICAgIEFEQ19DRkdSMV9BV0QxRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGVuYWJsZSBvbiBzY29wZSBBREMgZ3JvdXAgcmVndWxhciAqLw0KDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0hfUG9zICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0hfTXNrICAgICAgKDB4MUZVIDw8IEFEQ19DRkdSMV9BV0QxQ0hfUG9zKSAgICAgICAgICAgICAgLyohPCAweDdDMDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0ggICAgICAgICAgQURDX0NGR1IxX0FXRDFDSF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgbW9uaXRvcmVkIGNoYW5uZWwgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0hfMCAgICAgICAgKDB4MDFVIDw8IEFEQ19DRkdSMV9BV0QxQ0hfUG9zKSAgICAgICAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0hfMSAgICAgICAgKDB4MDJVIDw8IEFEQ19DRkdSMV9BV0QxQ0hfUG9zKSAgICAgICAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0hfMiAgICAgICAgKDB4MDRVIDw8IEFEQ19DRkdSMV9BV0QxQ0hfUG9zKSAgICAgICAgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0hfMyAgICAgICAgKDB4MDhVIDw8IEFEQ19DRkdSMV9BV0QxQ0hfUG9zKSAgICAgICAgICAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMV9BV0QxQ0hfNCAgICAgICAgKDB4MTBVIDw8IEFEQ19DRkdSMV9BV0QxQ0hfUG9zKSAgICAgICAgICAgICAgLyohPCAweDQwMDAwMDAwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lIEFEQ19DRkdSMV9BVVRETFkgICAgICAgIChBRENfQ0ZHUjFfV0FJVCkNCiNkZWZpbmUgQURDX0NGR1IxX0FXRFNHTCAgICAgICAgKEFEQ19DRkdSMV9BV0QxU0dMKQ0KI2RlZmluZSBBRENfQ0ZHUjFfQVdERU4gICAgICAgICAoQURDX0NGR1IxX0FXRDFFTikNCiNkZWZpbmUgQURDX0NGR1IxX0FXRENIICAgICAgICAgKEFEQ19DRkdSMV9BV0QxQ0gpDQojZGVmaW5lIEFEQ19DRkdSMV9BV0RDSF8wICAgICAgIChBRENfQ0ZHUjFfQVdEMUNIXzApDQojZGVmaW5lIEFEQ19DRkdSMV9BV0RDSF8xICAgICAgIChBRENfQ0ZHUjFfQVdEMUNIXzEpDQojZGVmaW5lIEFEQ19DRkdSMV9BV0RDSF8yICAgICAgIChBRENfQ0ZHUjFfQVdEMUNIXzIpDQojZGVmaW5lIEFEQ19DRkdSMV9BV0RDSF8zICAgICAgIChBRENfQ0ZHUjFfQVdEMUNIXzMpDQojZGVmaW5lIEFEQ19DRkdSMV9BV0RDSF80ICAgICAgIChBRENfQ0ZHUjFfQVdEMUNIXzQpDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEFEQ19DRkdSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DRkdSMl9DS01PREVfUG9zICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DRkdSMl9DS01PREVfTXNrICAgICAgKDB4M1UgPDwgQURDX0NGR1IyX0NLTU9ERV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMl9DS01PREUgICAgICAgICAgQURDX0NGR1IyX0NLTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgY2xvY2sgc291cmNlIGFuZCBwcmVzY2FsZXIgKHByZXNjYWxlciBvbmx5IGZvciBjbG9jayBzb3VyY2Ugc3luY2hyb25vdXMpICovDQojZGVmaW5lIEFEQ19DRkdSMl9DS01PREVfMSAgICAgICAgKDB4MlUgPDwgQURDX0NGR1IyX0NLTU9ERV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIEFEQ19DRkdSMl9DS01PREVfMCAgICAgICAgKDB4MVUgPDwgQURDX0NGR1IyX0NLTU9ERV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDQwMDAwMDAwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBBRENfQ0ZHUjJfSklUT0ZGRElWNCAgIChBRENfQ0ZHUjJfQ0tNT0RFXzEpICAgLyohPCBBREMgY2xvY2tlZCBieSBQQ0xLIGRpdjQgKi8NCiNkZWZpbmUgIEFEQ19DRkdSMl9KSVRPRkZESVYyICAgKEFEQ19DRkdSMl9DS01PREVfMCkgICAvKiE8IEFEQyBjbG9ja2VkIGJ5IFBDTEsgZGl2MiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NNUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU01QUl9TTVBfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUl9TTVBfTXNrICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSX1NNUF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBBRENfU01QUl9TTVAgICAgICAgICAgICAgIEFEQ19TTVBSX1NNUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIG9mIGNoYW5uZWxzIHNhbXBsaW5nIHRpbWUgMiAqLw0KI2RlZmluZSBBRENfU01QUl9TTVBfMCAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSX1NNUF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU01QUl9TTVBfMSAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSX1NNUF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU01QUl9TTVBfMiAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSX1NNUF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgQURDX1NNUFIxX1NNUFIgICAgICAgICAoQURDX1NNUFJfU01QKSAgICAgICAgIC8qITwgU01QWzI6MF0gYml0cyAoU2FtcGxpbmcgdGltZSBzZWxlY3Rpb24pICovDQojZGVmaW5lICBBRENfU01QUjFfU01QUl8wICAgICAgIChBRENfU01QUl9TTVBfMCkgICAgICAgLyohPCBiaXQgMCAqLw0KI2RlZmluZSAgQURDX1NNUFIxX1NNUFJfMSAgICAgICAoQURDX1NNUFJfU01QXzEpICAgICAgIC8qITwgYml0IDEgKi8NCiNkZWZpbmUgIEFEQ19TTVBSMV9TTVBSXzIgICAgICAgKEFEQ19TTVBSX1NNUF8yKSAgICAgICAvKiE8IGJpdCAyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1RSMV9MVDFfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1RSMV9MVDFfTXNrICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19UUjFfTFQxX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX1RSMV9MVDEgICAgICAgICAgICAgICBBRENfVFIxX0xUMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSB0aHJlc2hvbGQgbG93ICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzAgICAgICAgICAgICAgKDB4MDAxVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzEgICAgICAgICAgICAgKDB4MDAyVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzIgICAgICAgICAgICAgKDB4MDA0VSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzMgICAgICAgICAgICAgKDB4MDA4VSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzQgICAgICAgICAgICAgKDB4MDEwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzUgICAgICAgICAgICAgKDB4MDIwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzYgICAgICAgICAgICAgKDB4MDQwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzcgICAgICAgICAgICAgKDB4MDgwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzggICAgICAgICAgICAgKDB4MTAwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzkgICAgICAgICAgICAgKDB4MjAwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzEwICAgICAgICAgICAgKDB4NDAwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19UUjFfTFQxXzExICAgICAgICAgICAgKDB4ODAwVSA8PCBBRENfVFIxX0xUMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgQURDX1RSMV9IVDFfUG9zICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1RSMV9IVDFfTXNrICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19UUjFfSFQxX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MEZGRjAwMDAgKi8NCiNkZWZpbmUgQURDX1RSMV9IVDEgICAgICAgICAgICAgICBBRENfVFIxX0hUMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBBbmFsb2cgd2F0Y2hkb2cgMSB0aHJlc2hvbGQgaGlnaCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV8wICAgICAgICAgICAgICgweDAwMVUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV8xICAgICAgICAgICAgICgweDAwMlUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV8yICAgICAgICAgICAgICgweDAwNFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV8zICAgICAgICAgICAgICgweDAwOFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV80ICAgICAgICAgICAgICgweDAxMFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV81ICAgICAgICAgICAgICgweDAyMFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV82ICAgICAgICAgICAgICgweDA0MFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV83ICAgICAgICAgICAgICgweDA4MFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV84ICAgICAgICAgICAgICgweDEwMFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV85ICAgICAgICAgICAgICgweDIwMFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV8xMCAgICAgICAgICAgICgweDQwMFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBBRENfVFIxX0hUMV8xMSAgICAgICAgICAgICgweDgwMFUgPDwgQURDX1RSMV9IVDFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgQURDX1RSX0hUICAgICAgICAgICAgICAoQURDX1RSMV9IVDEpDQojZGVmaW5lICBBRENfVFJfTFQgICAgICAgICAgICAgIChBRENfVFIxX0xUMSkNCiNkZWZpbmUgIEFEQ19IVFJfSFQgICAgICAgICAgICAgKEFEQ19UUjFfSFQxKQ0KI2RlZmluZSAgQURDX0xUUl9MVCAgICAgICAgICAgICAoQURDX1RSMV9MVDEpDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ0hTRUxSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUxfUG9zICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUxfTXNrICAgICAgKDB4N0ZGRkZVIDw8IEFEQ19DSFNFTFJfQ0hTRUxfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDdGRkZGICovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwgICAgICAgICAgQURDX0NIU0VMUl9DSFNFTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgY2hhbm5lbHMsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDE4X1BvcyAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDE4X01zayAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMMThfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDE4ICAgICAgICBBRENfQ0hTRUxSX0NIU0VMMThfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDE4LCBhdmFpbGFibGUgd2hlbiBBRENfQ0ZHUjFfQ0hTRUxSTU9EIGlzIHJlc2V0ICovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxN19Qb3MgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxN19Nc2sgICAgKDB4MVUgPDwgQURDX0NIU0VMUl9DSFNFTDE3X1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxNyAgICAgICAgQURDX0NIU0VMUl9DSFNFTDE3X01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgY2hhbm5lbCAxNywgYXZhaWxhYmxlIHdoZW4gQURDX0NGR1IxX0NIU0VMUk1PRCBpcyByZXNldCAqLw0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTZfUG9zICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTZfTXNrICAgICgweDFVIDw8IEFEQ19DSFNFTFJfQ0hTRUwxNl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTYgICAgICAgIEFEQ19DSFNFTFJfQ0hTRUwxNl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGNoYW5uZWwgMTYsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDE1X1BvcyAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDE1X01zayAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMMTVfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDE1ICAgICAgICBBRENfQ0hTRUxSX0NIU0VMMTVfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDE1LCBhdmFpbGFibGUgd2hlbiBBRENfQ0ZHUjFfQ0hTRUxSTU9EIGlzIHJlc2V0ICovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxNF9Qb3MgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxNF9Nc2sgICAgKDB4MVUgPDwgQURDX0NIU0VMUl9DSFNFTDE0X1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxNCAgICAgICAgQURDX0NIU0VMUl9DSFNFTDE0X01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgY2hhbm5lbCAxNCwgYXZhaWxhYmxlIHdoZW4gQURDX0NGR1IxX0NIU0VMUk1PRCBpcyByZXNldCAqLw0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTNfUG9zICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTNfTXNrICAgICgweDFVIDw8IEFEQ19DSFNFTFJfQ0hTRUwxM19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTMgICAgICAgIEFEQ19DSFNFTFJfQ0hTRUwxM19Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGNoYW5uZWwgMTMsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDEyX1BvcyAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDEyX01zayAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMMTJfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDEyICAgICAgICBBRENfQ0hTRUxSX0NIU0VMMTJfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDEyLCBhdmFpbGFibGUgd2hlbiBBRENfQ0ZHUjFfQ0hTRUxSTU9EIGlzIHJlc2V0ICovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxMV9Qb3MgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxMV9Nc2sgICAgKDB4MVUgPDwgQURDX0NIU0VMUl9DSFNFTDExX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19DSFNFTFJfQ0hTRUwxMSAgICAgICAgQURDX0NIU0VMUl9DSFNFTDExX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgY2hhbm5lbCAxMSwgYXZhaWxhYmxlIHdoZW4gQURDX0NGR1IxX0NIU0VMUk1PRCBpcyByZXNldCAqLw0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTBfUG9zICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTBfTXNrICAgICgweDFVIDw8IEFEQ19DSFNFTFJfQ0hTRUwxMF9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfQ0hTRUxSX0NIU0VMMTAgICAgICAgIEFEQ19DSFNFTFJfQ0hTRUwxMF9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIGNoYW5uZWwgMTAsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDlfUG9zICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDlfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMOV9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDkgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMOV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDksIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDhfUG9zICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDhfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMOF9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDggICAgICAgICBBRENfQ0hTRUxSX0NIU0VMOF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDgsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDdfUG9zICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDdfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMN19Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDcgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMN19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDcsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDZfUG9zICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDZfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMNl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDYgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMNl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDYsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDVfUG9zICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDVfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMNV9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDUgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMNV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDUsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDRfUG9zICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDRfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMNF9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDQgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDQsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDNfUG9zICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDNfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMM19Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDMgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMM19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDMsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDJfUG9zICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDJfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMMl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDIgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDIsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDFfUG9zICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDFfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMMV9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDEgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDEsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDBfUG9zICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDBfTXNrICAgICAoMHgxVSA8PCBBRENfQ0hTRUxSX0NIU0VMMF9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX0NIU0VMUl9DSFNFTDAgICAgICAgICBBRENfQ0hTRUxSX0NIU0VMMF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBjaGFubmVsIDAsIGF2YWlsYWJsZSB3aGVuIEFEQ19DRkdSMV9DSFNFTFJNT0QgaXMgcmVzZXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0RSX0RBVEFfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0RSX0RBVEFfTXNrICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfRFJfREFUQV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0RSX0RBVEEgICAgICAgICAgICAgICBBRENfRFJfREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnZlcnNpb24gZGF0YSAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8wICAgICAgICAgICAgICgweDAwMDFVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8xICAgICAgICAgICAgICgweDAwMDJVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8yICAgICAgICAgICAgICgweDAwMDRVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8zICAgICAgICAgICAgICgweDAwMDhVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV80ICAgICAgICAgICAgICgweDAwMTBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV81ICAgICAgICAgICAgICgweDAwMjBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV82ICAgICAgICAgICAgICgweDAwNDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV83ICAgICAgICAgICAgICgweDAwODBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV84ICAgICAgICAgICAgICgweDAxMDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV85ICAgICAgICAgICAgICgweDAyMDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8xMCAgICAgICAgICAgICgweDA0MDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8xMSAgICAgICAgICAgICgweDA4MDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8xMiAgICAgICAgICAgICgweDEwMDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8xMyAgICAgICAgICAgICgweDIwMDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8xNCAgICAgICAgICAgICgweDQwMDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRENfRFJfREFUQV8xNSAgICAgICAgICAgICgweDgwMDBVIDw8IEFEQ19EUl9EQVRBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKiAgQURDIENvbW1vbiByZWdpc3RlcnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0NDUl9WUkVGRU5fUG9zICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NDUl9WUkVGRU5fTXNrICAgICAgICAoMHgxVSA8PCBBRENfQ0NSX1ZSRUZFTl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX0NDUl9WUkVGRU4gICAgICAgICAgICBBRENfQ0NSX1ZSRUZFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBpbnRlcm5hbCBwYXRoIHRvIFZyZWZJbnQgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DQ1JfVFNFTl9Qb3MgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DQ1JfVFNFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgQURDX0NDUl9UU0VOX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19DQ1JfVFNFTiAgICAgICAgICAgICAgQURDX0NDUl9UU0VOX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgaW50ZXJuYWwgcGF0aCB0byB0ZW1wZXJhdHVyZSBzZW5zb3IgZW5hYmxlICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgKENSQykgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfRFJfRFJfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfRFJfRFJfTXNrICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IENSQ19EUl9EUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBDUkNfRFJfRFIgICAgICAgICAgICAgICAgQ1JDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19JRFJfSURSICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHhGRlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsLXB1cnBvc2UgOC1iaXQgZGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Qb3MgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Nc2sgICAgICAgICAoMHgxVSA8PCBDUkNfQ1JfUkVTRVRfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIENSQ19DUl9SRVNFVCAgICAgICAgICAgICBDUkNfQ1JfUkVTRVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSRVNFVCB0aGUgQ1JDIGNvbXB1dGF0aW9uIHVuaXQgYml0ICovDQojZGVmaW5lIENSQ19DUl9SRVZfSU5fUG9zICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19DUl9SRVZfSU5fTXNrICAgICAgICAoMHgzVSA8PCBDUkNfQ1JfUkVWX0lOX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIENSQ19DUl9SRVZfSU4gICAgICAgICAgICBDUkNfQ1JfUkVWX0lOX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSRVZfSU4gUmV2ZXJzZSBJbnB1dCBEYXRhIGJpdHMgKi8NCiNkZWZpbmUgQ1JDX0NSX1JFVl9JTl8wICAgICAgICAgICgweDFVIDw8IENSQ19DUl9SRVZfSU5fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQ1JDX0NSX1JFVl9JTl8xICAgICAgICAgICgweDJVIDw8IENSQ19DUl9SRVZfSU5fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQ1JDX0NSX1JFVl9PVVRfUG9zICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQ1JDX0NSX1JFVl9PVVRfTXNrICAgICAgICgweDFVIDw8IENSQ19DUl9SRVZfT1VUX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQ1JDX0NSX1JFVl9PVVQgICAgICAgICAgIENSQ19DUl9SRVZfT1VUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJFVl9PVVQgUmV2ZXJzZSBPdXRwdXQgRGF0YSBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0lOSVQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19JTklUX0lOSVRfUG9zICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19JTklUX0lOSVRfTXNrICAgICAgICAoMHhGRkZGRkZGRlUgPDwgQ1JDX0lOSVRfSU5JVF9Qb3MpICAgICAgICAgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIENSQ19JTklUX0lOSVQgICAgICAgICAgICBDUkNfSU5JVF9JTklUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJbml0aWFsIENSQyB2YWx1ZSBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICBEZWJ1ZyBNQ1UgKERCR01DVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9JRENPREUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZVIDw8IERCR01DVV9JRENPREVfREVWX0lEX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEICAgICAgICAgICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfREVWX0lEX01zayAgLyohPCBEZXZpY2UgSWRlbnRpZmllciAqLw0KDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX1BvcyAgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweEZGRkYwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEICAgICAgICAgICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgLyohPCBSRVZfSURbMTU6MF0gYml0cyAoUmV2aXNpb24gSWRlbnRpZmllcikgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMVUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMlUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwOFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA4MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTAgICAgICAgICAgICAgICAgICAgICAgKDB4MDQwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTEgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTIgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTMgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTQgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTUgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TVE9QX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RPUCAgICAgICAgICAgICAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU1RPUF9Nc2sgICAgLyohPCBEZWJ1ZyBTdG9wIE1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TVEFOREJZX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfU1RBTkRCWSAgICAgICAgICAgICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfU1RBTkRCWV9Nc2sgLyohPCBEZWJ1ZyBTdGFuZGJ5IG1vZGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9BUEIxX0ZaIHJlZ2lzdGVyICAqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTNfU1RPUF9Qb3MgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTNfU1RPUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX1RJTTNfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNM19TVE9QICAgICAgICAgICAgICAgICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNM19TVE9QX01zayAvKiE8IFRJTTMgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTE0X1NUT1BfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTE0X1NUT1BfTXNrICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX1RJTTE0X1NUT1BfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1RJTTE0X1NUT1AgICAgICAgICAgICAgICAgREJHTUNVX0FQQjFfRlpfREJHX1RJTTE0X1NUT1BfTXNrIC8qITwgVElNMTQgY291bnRlciBzdG9wcGVkIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1JUQ19TVE9QX1BvcyAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1JUQ19TVE9QX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX1JUQ19TVE9QX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19SVENfU1RPUCAgICAgICAgICAgICAgICAgIERCR01DVV9BUEIxX0ZaX0RCR19SVENfU1RPUF9Nc2sgLyohPCBSVEMgQ2FsZW5kYXIgZnJvemVuIHdoZW4gY29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1dXREdfU1RPUF9Qb3MgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX1dXREdfU1RPUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX1dXREdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfV1dER19TVE9QICAgICAgICAgICAgICAgICBEQkdNQ1VfQVBCMV9GWl9EQkdfV1dER19TVE9QX01zayAvKiE8IERlYnVnIFdpbmRvdyBXYXRjaGRvZyBzdG9wcGVkIHdoZW4gQ29yZSBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX0lXREdfU1RPUF9Qb3MgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0FQQjFfRlpfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0FQQjFfRlpfREJHX0lXREdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfSVdER19TVE9QICAgICAgICAgICAgICAgICBEQkdNQ1VfQVBCMV9GWl9EQkdfSVdER19TVE9QX01zayAvKiE8IERlYnVnIEluZGVwZW5kZW50IFdhdGNoZG9nIHN0b3BwZWQgd2hlbiBDb3JlIGlzIGhhbHRlZCAqLw0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX1BvcyAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX01zayAgICAoMHgxVSA8PCBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERCR01DVV9BUEIxX0ZaX0RCR19JMkMxX1NNQlVTX1RJTUVPVVQgICAgICAgIERCR01DVV9BUEIxX0ZaX0RCR19JMkMxX1NNQlVTX1RJTUVPVVRfTXNrIC8qITwgSTJDMSBTTUJVUyB0aW1lb3V0IG1vZGUgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfQVBCMl9GWiByZWdpc3RlciAgKioqKioqKioqKioqKiovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xX1NUT1BfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xX1NUT1BfTXNrICAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9BUEIyX0ZaX0RCR19USU0xX1NUT1BfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgREJHTUNVX0FQQjJfRlpfREJHX1RJTTFfU1RPUCAgICAgICAgICAgICAgICAgREJHTUNVX0FQQjJfRlpfREJHX1RJTTFfU1RPUF9Nc2sgLyohPCBUSU0xIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xNl9TVE9QX1BvcyAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xNl9TVE9QX01zayAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9BUEIyX0ZaX0RCR19USU0xNl9TVE9QX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xNl9TVE9QICAgICAgICAgICAgICAgIERCR01DVV9BUEIyX0ZaX0RCR19USU0xNl9TVE9QX01zayAvKiE8IFRJTTE2IGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xN19TVE9QX1BvcyAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xN19TVE9QX01zayAgICAgICAgICAgICgweDFVIDw8IERCR01DVV9BUEIyX0ZaX0RCR19USU0xN19TVE9QX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIERCR01DVV9BUEIyX0ZaX0RCR19USU0xN19TVE9QICAgICAgICAgICAgICAgIERCR01DVV9BUEIyX0ZaX0RCR19USU0xN19TVE9QX01zayAvKiE8IFRJTTE3IGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgQ29udHJvbGxlciAoRE1BKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSVNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYxX1BvcyAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYxX01zayAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjFfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYxICAgICAgICAgICBETUFfSVNSX0dJRjFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMV9Qb3MgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMV9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYxX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMSAgICAgICAgICBETUFfSVNSX1RDSUYxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMV9Qb3MgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGMV9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYxX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMSAgICAgICAgICBETUFfSVNSX0hUSUYxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBIYWxmIFRyYW5zZmVyIGZsYWcgICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMV9Qb3MgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGMV9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYxX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMSAgICAgICAgICBETUFfSVNSX1RFSUYxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBFcnJvciBmbGFnICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyX1BvcyAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYyX01zayAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjJfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYyICAgICAgICAgICBETUFfSVNSX0dJRjJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBHbG9iYWwgaW50ZXJydXB0IGZsYWcgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Qb3MgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMl9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYyX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMiAgICAgICAgICBETUFfSVNSX1RDSUYyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMl9Qb3MgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGMl9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYyX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMiAgICAgICAgICBETUFfSVNSX0hUSUYyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGZsYWcgICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMl9Qb3MgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGMl9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYyX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMiAgICAgICAgICBETUFfSVNSX1RFSUYyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBFcnJvciBmbGFnICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYzX1BvcyAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYzX01zayAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjNfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYzICAgICAgICAgICBETUFfSVNSX0dJRjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBHbG9iYWwgaW50ZXJydXB0IGZsYWcgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGM19Qb3MgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGM19Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYzX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMyAgICAgICAgICBETUFfSVNSX1RDSUYzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Qb3MgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGM19Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYzX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMyAgICAgICAgICBETUFfSVNSX0hUSUYzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBIYWxmIFRyYW5zZmVyIGZsYWcgICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Qb3MgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGM19Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYzX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMyAgICAgICAgICBETUFfSVNSX1RFSUYzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBFcnJvciBmbGFnICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY0X1BvcyAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY0X01zayAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjRfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY0ICAgICAgICAgICBETUFfSVNSX0dJRjRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGZsYWcgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNF9Qb3MgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNF9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY0X1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNCAgICAgICAgICBETUFfSVNSX1RDSUY0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNF9Qb3MgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNF9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY0X1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNCAgICAgICAgICBETUFfSVNSX0hUSUY0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBIYWxmIFRyYW5zZmVyIGZsYWcgICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNF9Qb3MgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNF9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY0X1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNCAgICAgICAgICBETUFfSVNSX1RFSUY0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBFcnJvciBmbGFnICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1X1BvcyAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY1X01zayAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjVfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY1ICAgICAgICAgICBETUFfSVNSX0dJRjVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Qb3MgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNV9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY1X1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNSAgICAgICAgICBETUFfSVNSX1RDSUY1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNV9Qb3MgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNV9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY1X1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNSAgICAgICAgICBETUFfSVNSX0hUSUY1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGZsYWcgICAgICAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNV9Qb3MgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNV9Nc2sgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY1X1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNSAgICAgICAgICBETUFfSVNSX1RFSUY1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBFcnJvciBmbGFnICAgICAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSUZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfUG9zICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjFfTXNrICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGMV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjEgICAgICAgICBETUFfSUZDUl9DR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICAgICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Qb3MgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMV9Nc2sgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUYxX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGMSAgICAgICAgRE1BX0lGQ1JfQ1RDSUYxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgICAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjFfUG9zICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjFfTXNrICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGMV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjEgICAgICAgIERNQV9JRkNSX0NIVElGMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEhhbGYgVHJhbnNmZXIgY2xlYXIgICAgICAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxX1BvcyAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxX01zayAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxICAgICAgICBETUFfSUZDUl9DVEVJRjFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBFcnJvciBjbGVhciAgICAgICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyX1BvcyAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyX01zayAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjJfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUYyICAgICAgICAgRE1BX0lGQ1JfQ0dJRjJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgR2xvYmFsIGludGVycnVwdCBjbGVhciAgICAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjJfUG9zICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjJfTXNrICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGMl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjIgICAgICAgIERNQV9JRkNSX0NUQ0lGMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX1BvcyAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyX01zayAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUYyICAgICAgICBETUFfSUZDUl9DSFRJRjJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGNsZWFyICAgICAgICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Qb3MgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMl9Nc2sgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUYyX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGMiAgICAgICAgRE1BX0lGQ1JfQ1RFSUYyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDIgVHJhbnNmZXIgRXJyb3IgY2xlYXIgICAgICAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGM19Qb3MgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGM19Nc2sgICAgICgweDFVIDw8IERNQV9JRkNSX0NHSUYzX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMyAgICAgICAgIERNQV9JRkNSX0NHSUYzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgICAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzX1BvcyAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzX01zayAgICAoMHgxVSA8PCBETUFfSUZDUl9DVENJRjNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzICAgICAgICBETUFfSUZDUl9DVENJRjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAgICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGM19Qb3MgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NIVElGM19Nc2sgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0hUSUYzX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NIVElGMyAgICAgICAgRE1BX0lGQ1JfQ0hUSUYzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgSGFsZiBUcmFuc2ZlciBjbGVhciAgICAgICAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjNfUG9zICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjNfTXNrICAgICgweDFVIDw8IERNQV9JRkNSX0NURUlGM19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVEVJRjMgICAgICAgIERNQV9JRkNSX0NURUlGM19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIEVycm9yIGNsZWFyICAgICAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfUG9zICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjRfTXNrICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGNF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0dJRjQgICAgICAgICBETUFfSUZDUl9DR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGNsZWFyICAgICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Qb3MgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNF9Nc2sgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY0X1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NUQ0lGNCAgICAgICAgRE1BX0lGQ1JfQ1RDSUY0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgQ29tcGxldGUgY2xlYXIgICAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjRfUG9zICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjRfTXNrICAgICgweDFVIDw8IERNQV9JRkNSX0NIVElGNF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjQgICAgICAgIERNQV9JRkNSX0NIVElGNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEhhbGYgVHJhbnNmZXIgY2xlYXIgICAgICAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0X1BvcyAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0X01zayAgICAoMHgxVSA8PCBETUFfSUZDUl9DVEVJRjRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0ICAgICAgICBETUFfSUZDUl9DVEVJRjRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBFcnJvciBjbGVhciAgICAgICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1X1BvcyAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1X01zayAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ0dJRjVfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NHSUY1ICAgICAgICAgRE1BX0lGQ1JfQ0dJRjVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgR2xvYmFsIGludGVycnVwdCBjbGVhciAgICAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjVfUG9zICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DVENJRjVfTXNrICAgICgweDFVIDw8IERNQV9JRkNSX0NUQ0lGNV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DVENJRjUgICAgICAgIERNQV9JRkNSX0NUQ0lGNV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIENvbXBsZXRlIGNsZWFyICAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X1BvcyAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1X01zayAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ0hUSUY1ICAgICAgICBETUFfSUZDUl9DSFRJRjVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGNsZWFyICAgICAgICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Qb3MgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNV9Nc2sgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY1X1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIERNQV9JRkNSX0NURUlGNSAgICAgICAgRE1BX0lGQ1JfQ1RFSUY1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDUgVHJhbnNmZXIgRXJyb3IgY2xlYXIgICAgICAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ0NSX0VOX1BvcyAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0VOX01zayAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfRU5fUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfQ0NSX0VOICAgICAgICAgICAgIERNQV9DQ1JfRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBlbmFibGUgICAgICAgICAgICAgICAgICAgICAgKi8NCiNkZWZpbmUgRE1BX0NDUl9UQ0lFX1BvcyAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9UQ0lFX01zayAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1RDSUVfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0NDUl9UQ0lFICAgICAgICAgICBETUFfQ0NSX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGNvbXBsZXRlIGludGVycnVwdCBlbmFibGUgICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Qb3MgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfSFRJRV9Nc2sgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9IVElFX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9DQ1JfSFRJRSAgICAgICAgICAgRE1BX0NDUl9IVElFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIYWxmIFRyYW5zZmVyIGludGVycnVwdCBlbmFibGUgICAgICAqLw0KI2RlZmluZSBETUFfQ0NSX1RFSUVfUG9zICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1RFSUVfTXNrICAgICAgICgweDFVIDw8IERNQV9DQ1JfVEVJRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfQ0NSX1RFSUUgICAgICAgICAgIERNQV9DQ1JfVEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgZXJyb3IgaW50ZXJydXB0IGVuYWJsZSAgICAgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVJfUG9zICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9ESVJfTXNrICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0RJUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRE1BX0NDUl9ESVIgICAgICAgICAgICBETUFfQ0NSX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uICAgICAgICAgICAgICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Qb3MgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfQ0lSQ19Nc2sgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9DSVJDX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIERNQV9DQ1JfQ0lSQyAgICAgICAgICAgRE1BX0NDUl9DSVJDX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaXJjdWxhciBtb2RlICAgICAgICAgICAgICAgICAgICAgICAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkNfUG9zICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BJTkNfTXNrICAgICAgICgweDFVIDw8IERNQV9DQ1JfUElOQ19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfQ0NSX1BJTkMgICAgICAgICAgIERNQV9DQ1JfUElOQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBpbmNyZW1lbnQgbW9kZSAgICAgICAgICAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NSU5DX1BvcyAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NSU5DX01zayAgICAgICAoMHgxVSA8PCBETUFfQ0NSX01JTkNfUG9zKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NSU5DICAgICAgICAgICBETUFfQ0NSX01JTkNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBpbmNyZW1lbnQgbW9kZSAgICAgICAgICAgICAgICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Qb3MgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QU0laRV9Nc2sgICAgICAoMHgzVSA8PCBETUFfQ0NSX1BTSVpFX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRSAgICAgICAgICBETUFfQ0NSX1BTSVpFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBTSVpFWzE6MF0gYml0cyAoUGVyaXBoZXJhbCBzaXplKSAgICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMCAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfMSAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Qb3MgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NU0laRV9Nc2sgICAgICAoMHgzVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDBDMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRSAgICAgICAgICBETUFfQ0NSX01TSVpFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1TSVpFWzE6MF0gYml0cyAoTWVtb3J5IHNpemUpICAgICAgICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMCAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIERNQV9DQ1JfTVNJWkVfMSAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9QTF9Qb3MgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QTF9Nc2sgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QTCAgICAgICAgICAgICBETUFfQ0NSX1BMX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMWzE6MF0gYml0cyhDaGFubmVsIFByaW9yaXR5IGxldmVsKSovDQojZGVmaW5lIERNQV9DQ1JfUExfMCAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9DQ1JfUExfMSAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9QTF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNX1BvcyAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNX01zayAgICAoMHgxVSA8PCBETUFfQ0NSX01FTTJNRU1fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNICAgICAgICBETUFfQ0NSX01FTTJNRU1fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSB0byBtZW1vcnkgbW9kZSAgICAgICAgICAgICAgICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfQ05EVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIERNQV9DTkRUUl9ORFRfUG9zICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DTkRUUl9ORFRfTXNrICAgICAgKDB4RkZGRlUgPDwgRE1BX0NORFRSX05EVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIERNQV9DTkRUUl9ORFQgICAgICAgICAgRE1BX0NORFRSX05EVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBOdW1iZXIgb2YgZGF0YSB0byBUcmFuc2ZlciAgICAgICAgICAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NQQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ1BBUl9QQV9Qb3MgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ1BBUl9QQV9Nc2sgICAgICAgICgweEZGRkZGRkZGVSA8PCBETUFfQ1BBUl9QQV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ1BBUl9QQSAgICAgICAgICAgIERNQV9DUEFSX1BBX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVyaXBoZXJhbCBBZGRyZXNzICAgICAgICAgICAgICAgICAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DTUFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUFfUG9zICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NNQVJfTUFfTXNrICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NNQVJfTUFfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NNQVJfTUEgICAgICAgICAgICBETUFfQ01BUl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBBZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgIEV4dGVybmFsIEludGVycnVwdC9FdmVudCBDb250cm9sbGVyIChFWFRJKSAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX0lNUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIwX01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjBfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIwICAgICAgICAgICAgICBFWFRJX0lNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMCAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxX1BvcyAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxX01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxICAgICAgICAgICAgICBFWFRJX0lNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMSAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyX1BvcyAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIyX01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyICAgICAgICAgICAgICBFWFRJX0lNUl9NUjJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMiAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzX1BvcyAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIzX01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIzICAgICAgICAgICAgICBFWFRJX0lNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMyAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0X1BvcyAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI0X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI0ICAgICAgICAgICAgICBFWFRJX0lNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNCAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI1X1BvcyAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI1X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI1ICAgICAgICAgICAgICBFWFRJX0lNUl9NUjVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNSAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2X1BvcyAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI2X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI2ICAgICAgICAgICAgICBFWFRJX0lNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNiAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3X1BvcyAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI3X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjdfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI3ICAgICAgICAgICAgICBFWFRJX0lNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNyAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI4X1BvcyAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI4X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjhfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI4ICAgICAgICAgICAgICBFWFRJX0lNUl9NUjhfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgOCAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5X1BvcyAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI5X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI5ICAgICAgICAgICAgICBFWFRJX0lNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgOSAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Qb3MgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMF9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEwX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMCAgICAgICAgICAgICBFWFRJX0lNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Qb3MgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMV9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjExX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMSAgICAgICAgICAgICBFWFRJX0lNUl9NUjExX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Qb3MgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxMl9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEyX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMiAgICAgICAgICAgICBFWFRJX0lNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Qb3MgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxM19Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjEzX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxMyAgICAgICAgICAgICBFWFRJX0lNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Qb3MgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNF9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE0X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNCAgICAgICAgICAgICBFWFRJX0lNUl9NUjE0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Qb3MgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxNV9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE1X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNSAgICAgICAgICAgICBFWFRJX0lNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Qb3MgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxN19Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE3X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxNyAgICAgICAgICAgICBFWFRJX0lNUl9NUjE3X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Qb3MgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxOF9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE4X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOCAgICAgICAgICAgICBFWFRJX0lNUl9NUjE4X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTggKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOV9Qb3MgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIxOV9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjE5X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIxOSAgICAgICAgICAgICBFWFRJX0lNUl9NUjE5X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTkgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyM19Qb3MgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIyM19Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjIzX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyMyAgICAgICAgICAgICBFWFRJX0lNUl9NUjIzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMjMgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lICBFWFRJX0lNUl9JTTAgRVhUSV9JTVJfTVIwDQojZGVmaW5lICBFWFRJX0lNUl9JTTEgRVhUSV9JTVJfTVIxDQojZGVmaW5lICBFWFRJX0lNUl9JTTIgRVhUSV9JTVJfTVIyDQojZGVmaW5lICBFWFRJX0lNUl9JTTMgRVhUSV9JTVJfTVIzDQojZGVmaW5lICBFWFRJX0lNUl9JTTQgRVhUSV9JTVJfTVI0DQojZGVmaW5lICBFWFRJX0lNUl9JTTUgRVhUSV9JTVJfTVI1DQojZGVmaW5lICBFWFRJX0lNUl9JTTYgRVhUSV9JTVJfTVI2DQojZGVmaW5lICBFWFRJX0lNUl9JTTcgRVhUSV9JTVJfTVI3DQojZGVmaW5lICBFWFRJX0lNUl9JTTggRVhUSV9JTVJfTVI4DQojZGVmaW5lICBFWFRJX0lNUl9JTTkgRVhUSV9JTVJfTVI5DQojZGVmaW5lICBFWFRJX0lNUl9JTTEwIEVYVElfSU1SX01SMTANCiNkZWZpbmUgIEVYVElfSU1SX0lNMTEgRVhUSV9JTVJfTVIxMQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMiBFWFRJX0lNUl9NUjEyDQojZGVmaW5lICBFWFRJX0lNUl9JTTEzIEVYVElfSU1SX01SMTMNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTQgRVhUSV9JTVJfTVIxNA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNSBFWFRJX0lNUl9NUjE1DQojZGVmaW5lICBFWFRJX0lNUl9JTTE3IEVYVElfSU1SX01SMTcNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTggRVhUSV9JTVJfTVIxOA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xOSBFWFRJX0lNUl9NUjE5DQojZGVmaW5lICBFWFRJX0lNUl9JTTIzIEVYVElfSU1SX01SMjMNCg0KI2RlZmluZSBFWFRJX0lNUl9JTV9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9JTV9Nc2sgICAgICAgICAgICgweDhFRkZGRlUgPDwgRVhUSV9JTVJfSU1fUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDhFRkZGRiAqLw0KI2RlZmluZSBFWFRJX0lNUl9JTSAgICAgICAgICAgICAgIEVYVElfSU1SX0lNX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgQWxsICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRU1SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIwX01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjBfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIwICAgICAgICAgICAgICBFWFRJX0VNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAwICAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjFfUG9zICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjFfTXNrICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEgICAgICAgICAgICAgIEVYVElfRU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEgICovDQojZGVmaW5lIEVYVElfRU1SX01SMl9Qb3MgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMl9Nc2sgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIyX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfRU1SX01SMiAgICAgICAgICAgICAgRVhUSV9FTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMiAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzX1BvcyAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIzX01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIzICAgICAgICAgICAgICBFWFRJX0VNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAzICAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjRfUG9zICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjRfTXNrICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjQgICAgICAgICAgICAgIEVYVElfRU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDQgICovDQojZGVmaW5lIEVYVElfRU1SX01SNV9Qb3MgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNV9Nc2sgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI1X1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfRU1SX01SNSAgICAgICAgICAgICAgRVhUSV9FTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNSAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2X1BvcyAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI2X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI2ICAgICAgICAgICAgICBFWFRJX0VNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA2ICAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjdfUG9zICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjdfTXNrICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SN19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjcgICAgICAgICAgICAgIEVYVElfRU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDcgICovDQojZGVmaW5lIEVYVElfRU1SX01SOF9Qb3MgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SOF9Nc2sgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI4X1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfRU1SX01SOCAgICAgICAgICAgICAgRVhUSV9FTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOCAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5X1BvcyAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI5X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjlfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI5ICAgICAgICAgICAgICBFWFRJX0VNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA5ICAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX1BvcyAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX01zayAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTBfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwICAgICAgICAgICAgIEVYVElfRU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTFfUG9zICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTFfTXNrICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTEgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Qb3MgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEyX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMiAgICAgICAgICAgICBFWFRJX0VNUl9NUjEyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX1BvcyAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX01zayAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTNfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzICAgICAgICAgICAgIEVYVElfRU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfRU1SX01SMTRfUG9zICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTRfTXNrICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTQgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Qb3MgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE1X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNSAgICAgICAgICAgICBFWFRJX0VNUl9NUjE1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE3X1BvcyAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE3X01zayAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTdfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE3ICAgICAgICAgICAgIEVYVElfRU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfRU1SX01SMThfUG9zICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMThfTXNrICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxOF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTggICAgICAgICAgICAgRVhUSV9FTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTggKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxOV9Qb3MgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxOV9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE5X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxOSAgICAgICAgICAgICBFWFRJX0VNUl9NUjE5X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxOSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjIzX1BvcyAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjIzX01zayAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMjNfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjIzICAgICAgICAgICAgIEVYVElfRU1SX01SMjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDIzICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9FTVJfRU0wIEVYVElfRU1SX01SMA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xIEVYVElfRU1SX01SMQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0yIEVYVElfRU1SX01SMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0zIEVYVElfRU1SX01SMw0KI2RlZmluZSAgRVhUSV9FTVJfRU00IEVYVElfRU1SX01SNA0KI2RlZmluZSAgRVhUSV9FTVJfRU01IEVYVElfRU1SX01SNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU02IEVYVElfRU1SX01SNg0KI2RlZmluZSAgRVhUSV9FTVJfRU03IEVYVElfRU1SX01SNw0KI2RlZmluZSAgRVhUSV9FTVJfRU04IEVYVElfRU1SX01SOA0KI2RlZmluZSAgRVhUSV9FTVJfRU05IEVYVElfRU1SX01SOQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMCBFWFRJX0VNUl9NUjEwDQojZGVmaW5lICBFWFRJX0VNUl9FTTExIEVYVElfRU1SX01SMTENCiNkZWZpbmUgIEVYVElfRU1SX0VNMTIgRVhUSV9FTVJfTVIxMg0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMyBFWFRJX0VNUl9NUjEzDQojZGVmaW5lICBFWFRJX0VNUl9FTTE0IEVYVElfRU1SX01SMTQNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTUgRVhUSV9FTVJfTVIxNQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNyBFWFRJX0VNUl9NUjE3DQojZGVmaW5lICBFWFRJX0VNUl9FTTE4IEVYVElfRU1SX01SMTgNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTkgRVhUSV9FTVJfTVIxOQ0KI2RlZmluZSAgRVhUSV9FTVJfRU0yMyBFWFRJX0VNUl9NUjIzDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9SVFNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjBfTXNrICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Qb3MgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMV9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMSAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX1BvcyAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIyX01zayAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjJfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIyICAgICAgICAgICAgIEVYVElfUlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAyICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfUG9zICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjNfTXNrICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSM19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjMgICAgICAgICAgICAgRVhUSV9SVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Qb3MgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNF9Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI0X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNCAgICAgICAgICAgICBFWFRJX1JUU1JfVFI0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X1BvcyAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI1X01zayAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI1ICAgICAgICAgICAgIEVYVElfUlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA1ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfUG9zICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjZfTXNrICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjYgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Qb3MgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSN19Nc2sgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI3X1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNyAgICAgICAgICAgICBFWFRJX1JUU1JfVFI3X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X1BvcyAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI4X01zayAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjhfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI4ICAgICAgICAgICAgIEVYVElfUlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA4ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfUG9zICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjlfTXNrICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSOV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjkgICAgICAgICAgICAgRVhUSV9SVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDkgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfUG9zICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTBfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxMF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfUG9zICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTFfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxMV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTEgICAgICAgICAgICBFWFRJX1JUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfUG9zICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTJfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxMl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTIgICAgICAgICAgICBFWFRJX1JUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfUG9zICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTNfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxM19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTMgICAgICAgICAgICBFWFRJX1JUU1JfVFIxM19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfUG9zICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTRfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxNF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTQgICAgICAgICAgICBFWFRJX1JUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfUG9zICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTVfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxNV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTUgICAgICAgICAgICBFWFRJX1JUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTUgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfUG9zICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTZfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxNl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTYgICAgICAgICAgICBFWFRJX1JUU1JfVFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfUG9zICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTdfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxN19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTcgICAgICAgICAgICBFWFRJX1JUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTlfUG9zICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTlfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxOV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMTkgICAgICAgICAgICBFWFRJX1JUU1JfVFIxOV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTkgKi8NCg0KLyogUmVmZXJlbmNlcyBEZWZpbmVzICovDQojZGVmaW5lIEVYVElfUlRTUl9SVDAgRVhUSV9SVFNSX1RSMA0KI2RlZmluZSBFWFRJX1JUU1JfUlQxIEVYVElfUlRTUl9UUjENCiNkZWZpbmUgRVhUSV9SVFNSX1JUMiBFWFRJX1JUU1JfVFIyDQojZGVmaW5lIEVYVElfUlRTUl9SVDMgRVhUSV9SVFNSX1RSMw0KI2RlZmluZSBFWFRJX1JUU1JfUlQ0IEVYVElfUlRTUl9UUjQNCiNkZWZpbmUgRVhUSV9SVFNSX1JUNSBFWFRJX1JUU1JfVFI1DQojZGVmaW5lIEVYVElfUlRTUl9SVDYgRVhUSV9SVFNSX1RSNg0KI2RlZmluZSBFWFRJX1JUU1JfUlQ3IEVYVElfUlRTUl9UUjcNCiNkZWZpbmUgRVhUSV9SVFNSX1JUOCBFWFRJX1JUU1JfVFI4DQojZGVmaW5lIEVYVElfUlRTUl9SVDkgRVhUSV9SVFNSX1RSOQ0KI2RlZmluZSBFWFRJX1JUU1JfUlQxMCBFWFRJX1JUU1JfVFIxMA0KI2RlZmluZSBFWFRJX1JUU1JfUlQxMSBFWFRJX1JUU1JfVFIxMQ0KI2RlZmluZSBFWFRJX1JUU1JfUlQxMiBFWFRJX1JUU1JfVFIxMg0KI2RlZmluZSBFWFRJX1JUU1JfUlQxMyBFWFRJX1JUU1JfVFIxMw0KI2RlZmluZSBFWFRJX1JUU1JfUlQxNCBFWFRJX1JUU1JfVFIxNA0KI2RlZmluZSBFWFRJX1JUU1JfUlQxNSBFWFRJX1JUU1JfVFIxNQ0KI2RlZmluZSBFWFRJX1JUU1JfUlQxNiBFWFRJX1JUU1JfVFIxNg0KI2RlZmluZSBFWFRJX1JUU1JfUlQxNyBFWFRJX1JUU1JfVFIxNw0KI2RlZmluZSBFWFRJX1JUU1JfUlQxOSBFWFRJX1JUU1JfVFIxOQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRlRTUiByZWdpc3RlciAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwX1BvcyAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwX01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjBfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwICAgICAgICAgICAgIEVYVElfRlRTUl9UUjBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxX1BvcyAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxX01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjFfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxICAgICAgICAgICAgIEVYVElfRlRTUl9UUjFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyX1BvcyAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyX01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjJfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyICAgICAgICAgICAgIEVYVElfRlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzX1BvcyAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzX01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjNfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzICAgICAgICAgICAgIEVYVElfRlRTUl9UUjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0X1BvcyAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0X01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjRfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0ICAgICAgICAgICAgIEVYVElfRlRTUl9UUjRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1X1BvcyAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1X01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1ICAgICAgICAgICAgIEVYVElfRlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2X1BvcyAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2X01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjZfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2ICAgICAgICAgICAgIEVYVElfRlRTUl9UUjZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3X1BvcyAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3X01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjdfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3ICAgICAgICAgICAgIEVYVElfRlRTUl9UUjdfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4X1BvcyAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4X01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjhfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4ICAgICAgICAgICAgIEVYVElfRlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5X1BvcyAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5X01zayAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjlfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5ICAgICAgICAgICAgIEVYVElfRlRTUl9UUjlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMF9Qb3MgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMF9Nc2sgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEwX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMCAgICAgICAgICAgIEVYVElfRlRTUl9UUjEwX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTFfUG9zICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTFfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTEgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyX1BvcyAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyX01zayAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTJfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxM19Qb3MgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxM19Nc2sgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEzX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMyAgICAgICAgICAgIEVYVElfRlRTUl9UUjEzX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTRfUG9zICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTRfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTQgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1X1BvcyAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1X01zayAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1ICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNl9Qb3MgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNl9Nc2sgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE2X1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNiAgICAgICAgICAgIEVYVElfRlRTUl9UUjE2X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTdfUG9zICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTdfTXNrICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxN19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTcgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE5X1BvcyAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE5X01zayAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTlfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE5ICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxOSAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX0ZUMCBFWFRJX0ZUU1JfVFIwDQojZGVmaW5lIEVYVElfRlRTUl9GVDEgRVhUSV9GVFNSX1RSMQ0KI2RlZmluZSBFWFRJX0ZUU1JfRlQyIEVYVElfRlRTUl9UUjINCiNkZWZpbmUgRVhUSV9GVFNSX0ZUMyBFWFRJX0ZUU1JfVFIzDQojZGVmaW5lIEVYVElfRlRTUl9GVDQgRVhUSV9GVFNSX1RSNA0KI2RlZmluZSBFWFRJX0ZUU1JfRlQ1IEVYVElfRlRTUl9UUjUNCiNkZWZpbmUgRVhUSV9GVFNSX0ZUNiBFWFRJX0ZUU1JfVFI2DQojZGVmaW5lIEVYVElfRlRTUl9GVDcgRVhUSV9GVFNSX1RSNw0KI2RlZmluZSBFWFRJX0ZUU1JfRlQ4IEVYVElfRlRTUl9UUjgNCiNkZWZpbmUgRVhUSV9GVFNSX0ZUOSBFWFRJX0ZUU1JfVFI5DQojZGVmaW5lIEVYVElfRlRTUl9GVDEwIEVYVElfRlRTUl9UUjEwDQojZGVmaW5lIEVYVElfRlRTUl9GVDExIEVYVElfRlRTUl9UUjExDQojZGVmaW5lIEVYVElfRlRTUl9GVDEyIEVYVElfRlRTUl9UUjEyDQojZGVmaW5lIEVYVElfRlRTUl9GVDEzIEVYVElfRlRTUl9UUjEzDQojZGVmaW5lIEVYVElfRlRTUl9GVDE0IEVYVElfRlRTUl9UUjE0DQojZGVmaW5lIEVYVElfRlRTUl9GVDE1IEVYVElfRlRTUl9UUjE1DQojZGVmaW5lIEVYVElfRlRTUl9GVDE2IEVYVElfRlRTUl9UUjE2DQojZGVmaW5lIEVYVElfRlRTUl9GVDE3IEVYVElfRlRTUl9UUjE3DQojZGVmaW5lIEVYVElfRlRTUl9GVDE5IEVYVElfRlRTUl9UUjE5DQoNCi8qKioqKioqKioqKioqKioqKioqIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1NXSUVSIHJlZ2lzdGVyICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX1BvcyAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwX01zayAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjBfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIwICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAwICAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMV9Qb3MgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMV9Nc2sgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMSAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMSAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfUG9zICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjJfTXNrICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjIgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDIgICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX1BvcyAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzX01zayAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjNfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIzICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAzICAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNF9Qb3MgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNF9Nc2sgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI0X1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNCAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI0X01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgNCAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfUG9zICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjVfTXNrICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSNV9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjUgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDUgICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X1BvcyAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2X01zayAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjZfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI2ICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA2ICAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSN19Qb3MgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSN19Nc2sgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVI3X1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNyAgICAgICAgIEVYVElfU1dJRVJfU1dJRVI3X01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgNyAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfUG9zICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjhfTXNrICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSOF9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjggICAgICAgICBFWFRJX1NXSUVSX1NXSUVSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDggICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X1BvcyAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5X01zayAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjlfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVI5ICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA5ICAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTBfUG9zICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTBfTXNrICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMF9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMF9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjExX1BvcyAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjExX01zayAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTFfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjExICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTFfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMl9Qb3MgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMl9Nc2sgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjEyX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMiAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjEyX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTNfUG9zICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTNfTXNrICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxM19Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTMgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxM19Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE0X1BvcyAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE0X01zayAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTRfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE0ICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTRfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNV9Qb3MgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNV9Nc2sgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE1X1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNSAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE1X01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTZfUG9zICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTZfTXNrICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTYgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE3X1BvcyAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE3X01zayAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTdfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE3ICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTdfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxOV9Qb3MgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxOV9Nc2sgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE5X1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxOSAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE5X01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxOSAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0kwIEVYVElfU1dJRVJfU1dJRVIwDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMSBFWFRJX1NXSUVSX1NXSUVSMQ0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSTIgRVhUSV9TV0lFUl9TV0lFUjINCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0kzIEVYVElfU1dJRVJfU1dJRVIzDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJNCBFWFRJX1NXSUVSX1NXSUVSNA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSTUgRVhUSV9TV0lFUl9TV0lFUjUNCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0k2IEVYVElfU1dJRVJfU1dJRVI2DQojZGVmaW5lIEVYVElfU1dJRVJfU1dJNyBFWFRJX1NXSUVSX1NXSUVSNw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSTggRVhUSV9TV0lFUl9TV0lFUjgNCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0k5IEVYVElfU1dJRVJfU1dJRVI5DQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTAgRVhUSV9TV0lFUl9TV0lFUjEwDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTEgRVhUSV9TV0lFUl9TV0lFUjExDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTIgRVhUSV9TV0lFUl9TV0lFUjEyDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTMgRVhUSV9TV0lFUl9TV0lFUjEzDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTQgRVhUSV9TV0lFUl9TV0lFUjE0DQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTUgRVhUSV9TV0lFUl9TV0lFUjE1DQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTYgRVhUSV9TV0lFUl9TV0lFUjE2DQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTcgRVhUSV9TV0lFUl9TV0lFUjE3DQojZGVmaW5lIEVYVElfU1dJRVJfU1dJMTkgRVhUSV9TV0lFUl9TV0lFUjE5DQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBFWFRJX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfUFJfUFIwX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIwX01zayAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjBfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfUFJfUFIwICAgICAgICAgICAgICAgRVhUSV9QUl9QUjBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCAwICAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMV9Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMV9Nc2sgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMSAgICAgICAgICAgICAgIEVYVElfUFJfUFIxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgMSAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjJfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjJfTXNrICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjIgICAgICAgICAgICAgICBFWFRJX1BSX1BSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IDIgICovDQojZGVmaW5lIEVYVElfUFJfUFIzX1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIzX01zayAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfUFJfUFIzICAgICAgICAgICAgICAgRVhUSV9QUl9QUjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCAzICAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNF9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNF9Nc2sgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI0X1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNCAgICAgICAgICAgICAgIEVYVElfUFJfUFI0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgNCAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjVfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjVfTXNrICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjUgICAgICAgICAgICAgICBFWFRJX1BSX1BSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IDUgICovDQojZGVmaW5lIEVYVElfUFJfUFI2X1BvcyAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI2X01zayAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjZfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfUFJfUFI2ICAgICAgICAgICAgICAgRVhUSV9QUl9QUjZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCA2ICAqLw0KI2RlZmluZSBFWFRJX1BSX1BSN19Qb3MgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSN19Nc2sgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFI3X1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNyAgICAgICAgICAgICAgIEVYVElfUFJfUFI3X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgNyAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjhfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjhfTXNrICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSOF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjggICAgICAgICAgICAgICBFWFRJX1BSX1BSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IDggICovDQojZGVmaW5lIEVYVElfUFJfUFI5X1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFI5X01zayAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjlfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfUFJfUFI5ICAgICAgICAgICAgICAgRVhUSV9QUl9QUjlfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCA5ICAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTBfUG9zICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTBfTXNrICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMF9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgMTAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExX1BvcyAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjExX01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExICAgICAgICAgICAgICBFWFRJX1BSX1BSMTFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IDExICovDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Qb3MgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Nc2sgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjEyX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMiAgICAgICAgICAgICAgRVhUSV9QUl9QUjEyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCAxMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTNfUG9zICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTNfTXNrICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxM19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTMgICAgICAgICAgICAgIEVYVElfUFJfUFIxM19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgMTMgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0X1BvcyAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE0X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0ICAgICAgICAgICAgICBFWFRJX1BSX1BSMTRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IDE0ICovDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Qb3MgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Nc2sgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE1X1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNSAgICAgICAgICAgICAgRVhUSV9QUl9QUjE1X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCAxNSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTZfUG9zICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTZfTXNrICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTYgICAgICAgICAgICAgIEVYVElfUFJfUFIxNl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgMTYgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3X1BvcyAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE3X01zayAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTdfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3ICAgICAgICAgICAgICBFWFRJX1BSX1BSMTdfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IDE3ICovDQojZGVmaW5lIEVYVElfUFJfUFIxOV9Qb3MgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxOV9Nc2sgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE5X1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxOSAgICAgICAgICAgICAgRVhUSV9QUl9QUjE5X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCAxOSAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgRVhUSV9QUl9QSUYwIEVYVElfUFJfUFIwDQojZGVmaW5lIEVYVElfUFJfUElGMSBFWFRJX1BSX1BSMQ0KI2RlZmluZSBFWFRJX1BSX1BJRjIgRVhUSV9QUl9QUjINCiNkZWZpbmUgRVhUSV9QUl9QSUYzIEVYVElfUFJfUFIzDQojZGVmaW5lIEVYVElfUFJfUElGNCBFWFRJX1BSX1BSNA0KI2RlZmluZSBFWFRJX1BSX1BJRjUgRVhUSV9QUl9QUjUNCiNkZWZpbmUgRVhUSV9QUl9QSUY2IEVYVElfUFJfUFI2DQojZGVmaW5lIEVYVElfUFJfUElGNyBFWFRJX1BSX1BSNw0KI2RlZmluZSBFWFRJX1BSX1BJRjggRVhUSV9QUl9QUjgNCiNkZWZpbmUgRVhUSV9QUl9QSUY5IEVYVElfUFJfUFI5DQojZGVmaW5lIEVYVElfUFJfUElGMTAgRVhUSV9QUl9QUjEwDQojZGVmaW5lIEVYVElfUFJfUElGMTEgRVhUSV9QUl9QUjExDQojZGVmaW5lIEVYVElfUFJfUElGMTIgRVhUSV9QUl9QUjEyDQojZGVmaW5lIEVYVElfUFJfUElGMTMgRVhUSV9QUl9QUjEzDQojZGVmaW5lIEVYVElfUFJfUElGMTQgRVhUSV9QUl9QUjE0DQojZGVmaW5lIEVYVElfUFJfUElGMTUgRVhUSV9QUl9QUjE1DQojZGVmaW5lIEVYVElfUFJfUElGMTYgRVhUSV9QUl9QUjE2DQojZGVmaW5lIEVYVElfUFJfUElGMTcgRVhUSV9QUl9QUjE3DQojZGVmaW5lIEVYVElfUFJfUElGMTkgRVhUSV9QUl9QUjE5DQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgRkxBU0ggYW5kIE9wdGlvbiBCeXRlcyBSZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0FDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWSAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAgIC8qITwgTEFURU5DWSBiaXQgKExhdGVuY3kpICovDQoNCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9QUkZUQkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRSAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9QUkZUQkVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Qb3MgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9QUkZUQlNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCUyAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9QUkZUQlNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0tFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Nc2sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9LRVlSX0ZLRVlSX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX0tFWVJfRktFWVIgICAgICAgICAgICAgICAgICBGTEFTSF9LRVlSX0ZLRVlSX01zayAgICAgICAgICAgICAgICAgLyohPCBGUEVDIEtleSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9PUFRLRVlSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVJfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVJfTXNrICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9PUFRLRVlSX09QVEtFWVIgICAgICAgICAgICAgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX01zayAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEZMQVNIIEtleXMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0tFWTFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0tFWTFfTXNrICAgICAgICAgICAgICAgICAgICAoMHg0NTY3MDEyM1UgPDwgRkxBU0hfS0VZMV9Qb3MpICAgICAgLyohPCAweDQ1NjcwMTIzICovDQojZGVmaW5lIEZMQVNIX0tFWTEgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkxX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBwcm9ncmFtIGVyYXNlIGtleTEgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweENERUY4OUFCVSA8PCBGTEFTSF9LRVkyX1BvcykgICAgICAvKiE8IDB4Q0RFRjg5QUIgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTJfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIHByb2dyYW0gZXJhc2Uga2V5MjogdXNlZCB3aXRoIEZMQVNIX1BFS0VZMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB1bmxvY2sgdGhlIHdyaXRlIGFjY2VzcyB0byB0aGUgRlBFQy4gKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PUFRLRVkxX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PUFRLRVkxX01zayAgICAgICAgICAgICAgICAgKDB4NDU2NzAxMjNVIDw8IEZMQVNIX09QVEtFWTFfUG9zKSAgIC8qITwgMHg0NTY3MDEyMyAqLw0KI2RlZmluZSBGTEFTSF9PUFRLRVkxICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT1BUS0VZMV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggb3B0aW9uIGtleTEgKi8NCiNkZWZpbmUgRkxBU0hfT1BUS0VZMl9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT1BUS0VZMl9Nc2sgICAgICAgICAgICAgICAgICgweENERUY4OUFCVSA8PCBGTEFTSF9PUFRLRVkyX1BvcykgICAvKiE8IDB4Q0RFRjg5QUIgKi8NCiNkZWZpbmUgRkxBU0hfT1BUS0VZMiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09QVEtFWTJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG9wdGlvbiBrZXkyOiB1c2VkIHdpdGggRkxBU0hfT1BUS0VZMSB0bw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxvY2sgdGhlIHdyaXRlIGFjY2VzcyB0byB0aGUgb3B0aW9uIGJ5dGUgYmxvY2sgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1lfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfQlNZX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfQlNZX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQnVzeSAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfUEdFUlJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfUEdFUlJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUHJvZ3JhbW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfTXNrICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX1dSUFJURVJSX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlIgICAgICAgICAgICAgICAgIEZMQVNIX1NSX1dSUFJURVJSX01zayAgICAgICAgICAgICAgICAvKiE8IFdyaXRlIFByb3RlY3Rpb24gRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfRU9QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX1NSX0VPUF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX0VPUF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBvcGVyYXRpb24gKi8NCiNkZWZpbmUgIEZMQVNIX1NSX1dSUEVSUiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1NSX1dSUFJURVJSICAgICAgICAgICAgIC8qITwgTGVnYWN5IG9mIFdyaXRlIFByb3RlY3Rpb24gRXJyb3IgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEdfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfUEdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1BHX1BvcykgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEcgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1BHX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IFByb2dyYW1taW5nICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9QRVJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9QRVJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQYWdlIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9NRVJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX0NSX01FUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9NRVJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBNYXNzIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRQR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRQR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBQcm9ncmFtbWluZyAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfT1BURVJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfT1BURVJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1NUUlRfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVCAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0ICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9MT0NLX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0sgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9MT0NLX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBMb2NrICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRXUkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRSAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRXUkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZXMgV3JpdGUgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9FUlJJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9FUlJJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX1BvcyAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9FT1BJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9FT1BJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFbmQgb2Ygb3BlcmF0aW9uIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT0JMX0xBVU5DSF9Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfT0JMX0xBVU5DSF9Nc2sgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09CTF9MQVVOQ0hfUG9zKSAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfT0JMX0xBVU5DSCAgICAgICAgICAgICAgIEZMQVNIX0NSX09CTF9MQVVOQ0hfTXNrICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlcyBMb2FkZXIgTGF1bmNoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfQVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX0FSX0ZBUl9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FSX0ZBUl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRkxBU0hfQVJfRkFSX1BvcykgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIEZMQVNIX0FSX0ZBUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9BUl9GQVJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBGbGFzaCBBZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9PQlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlJfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlJfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfT1BURVJSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEZMQVNIX09CUl9PUFRFUlIgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfT1BURVJSX01zayAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBFcnJvciAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlQxX1BvcyAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlQxX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX1JEUFJUMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkRQUlQxICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX1JEUFJUMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIExldmVsIDEgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUMl9Qb3MgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUMl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9SRFBSVDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1JEUFJUMiAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9SRFBSVDJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiBMZXZlbCAyICovDQoNCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVJfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVJfTXNrICAgICAgICAgICAgICAgICgweDc3VSA8PCBGTEFTSF9PQlJfVVNFUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDc3MDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1VTRVIgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFVzZXIgT3B0aW9uIEJ5dGVzICovDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXX01zayAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfSVdER19TV19Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEZMQVNIX09CUl9JV0RHX1NXICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgICAgLyohPCBJV0RHIFNXICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1BfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1BfTXNrICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUT1AgICAgICAgICAgICAgICBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgICAgLyohPCBuUlNUX1NUT1AgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQllfUG9zICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQllfTXNrICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcykgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25SU1RfU1REQlkgICAgICAgICAgICAgIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgICAvKiE8IG5SU1RfU1REQlkgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25CT09UMV9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX25CT09UMV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9uQk9PVDFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX25CT09UMSAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9uQk9PVDFfTXNrICAgICAgICAgICAgICAgICAvKiE8IG5CT09UMSAqLw0KI2RlZmluZSBGTEFTSF9PQlJfVkREQV9NT05JVE9SX1BvcyAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfVkREQV9NT05JVE9SX01zayAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX1ZEREFfTU9OSVRPUl9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfVkREQV9NT05JVE9SICAgICAgICAgICAgRkxBU0hfT0JSX1ZEREFfTU9OSVRPUl9Nc2sgICAgICAgICAgIC8qITwgVkREQSBwb3dlciBzdXBwbHkgc3VwZXJ2aXNvciAqLw0KI2RlZmluZSBGTEFTSF9PQlJfUkFNX1BBUklUWV9DSEVDS19Qb3MgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfUkFNX1BBUklUWV9DSEVDS19Nc2sgICAgKDB4MVUgPDwgRkxBU0hfT0JSX1JBTV9QQVJJVFlfQ0hFQ0tfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1JBTV9QQVJJVFlfQ0hFQ0sgICAgICAgIEZMQVNIX09CUl9SQU1fUEFSSVRZX0NIRUNLX01zayAgICAgICAvKiE8IFJBTSBwYXJpdHkgY2hlY2sgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwX1BvcyAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwX01zayAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9PQlJfREFUQTBfUG9zKSAgICAgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEEwICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9EQVRBMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IERhdGEwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMV9Qb3MgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMV9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfT0JSX0RBVEExX1BvcykgICAgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX09CUl9EQVRBMSAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfREFUQTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBEYXRhMSAqLw0KDQovKiBPbGQgQk9PVDEgYml0IGRlZmluaXRpb24sIG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlICovDQojZGVmaW5lIEZMQVNIX09CUl9CT09UMSAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfbkJPT1QxDQoNCi8qIE9sZCBPQlJfVkREQSBiaXQgZGVmaW5pdGlvbiwgbWFpbnRhaW5lZCBmb3IgbGVnYWN5IHB1cnBvc2UgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX1ZEREFfQU5BTE9HICAgICAgICAgICAgICAgIEZMQVNIX09CUl9WRERBX01PTklUT1INCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX1dSUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlBfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlBfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEZMQVNIX1dSUFJfV1JQX1BvcykgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfV1JQUl9XUlAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUFJfV1JQX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFdyaXRlIFByb3RlY3QgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIE9CX1JEUCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgT0JfUkRQX1JEUF9Qb3MgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgT0JfUkRQX1JEUF9Nc2sgICAgICAgKDB4RkZVIDw8IE9CX1JEUF9SRFBfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgT0JfUkRQX1JEUCAgICAgICAgICAgT0JfUkRQX1JEUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgcHJvdGVjdGlvbiBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBPQl9SRFBfblJEUF9Qb3MgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBPQl9SRFBfblJEUF9Nc2sgICAgICAoMHhGRlUgPDwgT0JfUkRQX25SRFBfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBPQl9SRFBfblJEUCAgICAgICAgICBPQl9SRFBfblJEUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgT0JfVVNFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBPQl9VU0VSX1VTRVJfUG9zICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBPQl9VU0VSX1VTRVJfTXNrICAgICAoMHhGRlUgPDwgT0JfVVNFUl9VU0VSX1BvcykgICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBPQl9VU0VSX1VTRVIgICAgICAgICBPQl9VU0VSX1VTRVJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVXNlciBvcHRpb24gYnl0ZSAqLw0KI2RlZmluZSBPQl9VU0VSX25VU0VSX1BvcyAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBPQl9VU0VSX25VU0VSX01zayAgICAoMHhGRlUgPDwgT0JfVVNFUl9uVVNFUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBPQl9VU0VSX25VU0VSICAgICAgICBPQl9VU0VSX25VU0VSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVXNlciBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIE9CX1dSUDAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgT0JfV1JQMF9XUlAwX1BvcyAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgT0JfV1JQMF9XUlAwX01zayAgICAgKDB4RkZVIDw8IE9CX1dSUDBfV1JQMF9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgT0JfV1JQMF9XUlAwICAgICAgICAgT0JfV1JQMF9XUlAwX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIG1lbW9yeSB3cml0ZSBwcm90ZWN0aW9uIG9wdGlvbiBieXRlcyAqLw0KI2RlZmluZSBPQl9XUlAwX25XUlAwX1BvcyAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBPQl9XUlAwX25XUlAwX01zayAgICAoMHhGRlUgPDwgT0JfV1JQMF9uV1JQMF9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBPQl9XUlAwX25XUlAwICAgICAgICBPQl9XUlAwX25XUlAwX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlcyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmFsIFB1cnBvc2UgSU9zIChHUElPKSAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19NT0RFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwX01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjBfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwXzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIwXzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxX1BvcyAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxX01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjFfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxXzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxXzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyX01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjJfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyXzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyXzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzX1BvcyAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzX01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjNfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzXzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIzXzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI0X1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI0X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI0ICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjRfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI0XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI0XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjRfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1X1BvcyAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1ICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjVfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2X1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2ICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjZfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI2XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI3X1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI3X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI3ICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjdfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI3XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI3XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjdfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4X1BvcyAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDMwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4ICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjhfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5X1BvcyAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5X01zayAgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjlfUG9zKSAgICAgICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5ICAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjlfTXNrICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5XzAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI5XzEgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMF9Qb3MgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMF9Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjEwX1BvcykgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMCAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjEwX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMF8wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjEwX1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMF8xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjEwX1BvcykgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMV9Qb3MgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMV9Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjExX1BvcykgICAgICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMSAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjExX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMV8wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjExX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMV8xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjExX1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl9Qb3MgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl9Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjEyX1BvcykgICAgICAgLyohPCAweDAzMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMiAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjEyX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl8wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjEyX1BvcykgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMl8xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjEyX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxM19Qb3MgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxM19Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjEzX1BvcykgICAgICAgLyohPCAweDBDMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMyAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjEzX01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxM18wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjEzX1BvcykgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxM18xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjEzX1BvcykgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNF9Qb3MgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNF9Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjE0X1BvcykgICAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNCAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjE0X01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNF8wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjE0X1BvcykgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNF8xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjE0X1BvcykgICAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV9Qb3MgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV9Nc2sgICAgICAgICAgKDB4M1UgPDwgR1BJT19NT0RFUl9NT0RFUjE1X1BvcykgICAgICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNSAgICAgICAgICAgICAgR1BJT19NT0RFUl9NT0RFUjE1X01zayAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV8wICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19NT0RFUl9NT0RFUjE1X1BvcykgICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNV8xICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19NT0RFUl9NT0RFUjE1X1BvcykgICAgICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX09UWVBFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzIgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzMgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzQgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzUgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzYgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzcgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzggICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzkgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEwICAgICAgICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzExICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEyICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzEzICAgICAgICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzE0ICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1RZUEVSX09UXzE1ICAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19PU1BFRURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMF9Qb3MgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMF9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIwX1BvcykgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMCAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIwX01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMF8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIwX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMF8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIwX1BvcykgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMV9Qb3MgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMV9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxX1BvcykgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMSAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIxX01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMV8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMV8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMl9Qb3MgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMl9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIyX1BvcykgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMiAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIyX01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMl8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIyX1BvcykgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMl8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIyX1BvcykgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSM19Qb3MgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSM19Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIzX1BvcykgICAgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMyAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIzX01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSM18wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIzX1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSM18xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIzX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNF9Qb3MgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNF9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFI0X1BvcykgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNCAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFI0X01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNF8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI0X1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNF8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI0X1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNV9Qb3MgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNV9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFI1X1BvcykgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNSAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFI1X01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNV8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI1X1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNV8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI1X1BvcykgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNl9Qb3MgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNl9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFI2X1BvcykgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNiAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFI2X01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNl8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI2X1BvcykgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNl8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI2X1BvcykgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSN19Qb3MgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSN19Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFI3X1BvcykgICAgLyohPCAweDAwMDBDMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSNyAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFI3X01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSN18wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI3X1BvcykgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSN18xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI3X1BvcykgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOF9Qb3MgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOF9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFI4X1BvcykgICAgLyohPCAweDAwMDMwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOCAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFI4X01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOF8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI4X1BvcykgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOF8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI4X1BvcykgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOV9Qb3MgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOV9Nc2sgICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFI5X1BvcykgICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOSAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFI5X01zayAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOV8wICAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI5X1BvcykgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSOV8xICAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFI5X1BvcykgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTBfUG9zICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTBfTXNrICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMF9Qb3MpICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTAgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIxMF9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTBfMCAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMF9Qb3MpICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTBfMSAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMF9Qb3MpICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTFfUG9zICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTFfTXNrICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMV9Qb3MpICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTEgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIxMV9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTFfMCAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMV9Qb3MpICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTFfMSAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMV9Qb3MpICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTJfUG9zICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTJfTXNrICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMl9Qb3MpICAgLyohPCAweDAzMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTIgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIxMl9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTJfMCAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMl9Qb3MpICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTJfMSAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxMl9Qb3MpICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTNfUG9zICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTNfTXNrICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxM19Qb3MpICAgLyohPCAweDBDMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTMgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIxM19Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTNfMCAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxM19Qb3MpICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTNfMSAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxM19Qb3MpICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTRfUG9zICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTRfTXNrICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxNF9Qb3MpICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTQgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIxNF9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTRfMCAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxNF9Qb3MpICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTRfMSAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxNF9Qb3MpICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTVfUG9zICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTVfTXNrICAgICAgKDB4M1UgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxNV9Qb3MpICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTUgICAgICAgICAgR1BJT19PU1BFRURSX09TUEVFRFIxNV9Nc2sgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTVfMCAgICAgICAgKDB4MVUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxNV9Qb3MpICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fT1NQRUVEUl9PU1BFRURSMTVfMSAgICAgICAgKDB4MlUgPDwgR1BJT19PU1BFRURSX09TUEVFRFIxNV9Qb3MpICAgLyohPCAweDgwMDAwMDAwICovDQoNCi8qIE9sZCBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19PU1BFRURSIHJlZ2lzdGVyIG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlICovDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjAgICAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIwXzAgICBHUElPX09TUEVFRFJfT1NQRUVEUjBfMA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIwXzEgICBHUElPX09TUEVFRFJfT1NQRUVEUjBfMQ0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxICAgICBHUElPX09TUEVFRFJfT1NQRUVEUjENCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMV8wICAgR1BJT19PU1BFRURSX09TUEVFRFIxXzANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMV8xICAgR1BJT19PU1BFRURSX09TUEVFRFIxXzENCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMiAgICAgR1BJT19PU1BFRURSX09TUEVFRFIyDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjJfMCAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMl8wDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjJfMSAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMl8xDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjMgICAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMw0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIzXzAgICBHUElPX09TUEVFRFJfT1NQRUVEUjNfMA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIzXzEgICBHUElPX09TUEVFRFJfT1NQRUVEUjNfMQ0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI0ICAgICBHUElPX09TUEVFRFJfT1NQRUVEUjQNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNF8wICAgR1BJT19PU1BFRURSX09TUEVFRFI0XzANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNF8xICAgR1BJT19PU1BFRURSX09TUEVFRFI0XzENCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNSAgICAgR1BJT19PU1BFRURSX09TUEVFRFI1DQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjVfMCAgIEdQSU9fT1NQRUVEUl9PU1BFRURSNV8wDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjVfMSAgIEdQSU9fT1NQRUVEUl9PU1BFRURSNV8xDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjYgICAgIEdQSU9fT1NQRUVEUl9PU1BFRURSNg0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI2XzAgICBHUElPX09TUEVFRFJfT1NQRUVEUjZfMA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI2XzEgICBHUElPX09TUEVFRFJfT1NQRUVEUjZfMQ0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI3ICAgICBHUElPX09TUEVFRFJfT1NQRUVEUjcNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSN18wICAgR1BJT19PU1BFRURSX09TUEVFRFI3XzANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSN18xICAgR1BJT19PU1BFRURSX09TUEVFRFI3XzENCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSOCAgICAgR1BJT19PU1BFRURSX09TUEVFRFI4DQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjhfMCAgIEdQSU9fT1NQRUVEUl9PU1BFRURSOF8wDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjhfMSAgIEdQSU9fT1NQRUVEUl9PU1BFRURSOF8xDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjkgICAgIEdQSU9fT1NQRUVEUl9PU1BFRURSOQ0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI5XzAgICBHUElPX09TUEVFRFJfT1NQRUVEUjlfMA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI5XzEgICBHUElPX09TUEVFRFJfT1NQRUVEUjlfMQ0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMCAgICBHUElPX09TUEVFRFJfT1NQRUVEUjEwDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEwXzAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMTBfMA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMF8xICBHUElPX09TUEVFRFJfT1NQRUVEUjEwXzENCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTEgICAgR1BJT19PU1BFRURSX09TUEVFRFIxMQ0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMV8wICBHUElPX09TUEVFRFJfT1NQRUVEUjExXzANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTFfMSAgR1BJT19PU1BFRURSX09TUEVFRFIxMV8xDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEyICAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMTINCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTJfMCAgR1BJT19PU1BFRURSX09TUEVFRFIxMl8wDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEyXzEgIEdQSU9fT1NQRUVEUl9PU1BFRURSMTJfMQ0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMyAgICBHUElPX09TUEVFRFJfT1NQRUVEUjEzDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjEzXzAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMTNfMA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxM18xICBHUElPX09TUEVFRFJfT1NQRUVEUjEzXzENCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTQgICAgR1BJT19PU1BFRURSX09TUEVFRFIxNA0KI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxNF8wICBHUElPX09TUEVFRFJfT1NQRUVEUjE0XzANCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTRfMSAgR1BJT19PU1BFRURSX09TUEVFRFIxNF8xDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE1ICAgIEdQSU9fT1NQRUVEUl9PU1BFRURSMTUNCiNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTVfMCAgR1BJT19PU1BFRURSX09TUEVFRFIxNV8wDQojZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE1XzEgIEdQSU9fT1NQRUVEUl9PU1BFRURSMTVfMQ0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fUFVQRFIgcmVnaXN0ZXIgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMF9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMCAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIwX01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMF8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMF8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMV9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMV9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMSAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxX01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMV8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMV8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMiAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIyX01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMl8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSM19Qb3MgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSM19Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMyAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIzX01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSM18wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSM18xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNF9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNCAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI0X01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNF8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNF8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNSAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI1X01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNV8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNl9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNiAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI2X01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNl8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNl8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSN19Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSN19Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwQzAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSNyAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI3X01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSN18wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSN18xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF9Qb3MgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAzMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOCAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI4X01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOF8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOV9Qb3MgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOV9Nc2sgICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFI5X1BvcykgICAgICAgIC8qITwgMHgwMDBDMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOSAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFI5X01zayAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOV8wICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFI5X1BvcykgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSOV8xICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFI5X1BvcykgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTBfUG9zICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTBfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTAgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxMF9Nc2sgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTBfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTBfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfUG9zICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMV9Qb3MpICAgICAgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTEgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxMV9Nc2sgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTFfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTJfUG9zICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTJfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMl9Qb3MpICAgICAgIC8qITwgMHgwMzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTIgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxMl9Nc2sgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTJfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMl9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTJfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxMl9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTNfUG9zICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTNfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxM19Qb3MpICAgICAgIC8qITwgMHgwQzAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTMgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxM19Nc2sgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTNfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxM19Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTNfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxM19Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfUG9zICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxNF9Qb3MpICAgICAgIC8qITwgMHgzMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTQgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxNF9Nc2sgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxNF9Qb3MpICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTRfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxNF9Qb3MpICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfUG9zICAgICAgICAgICgzMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfTXNrICAgICAgICAgICgweDNVIDw8IEdQSU9fUFVQRFJfUFVQRFIxNV9Qb3MpICAgICAgIC8qITwgMHhDMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTUgICAgICAgICAgICAgIEdQSU9fUFVQRFJfUFVQRFIxNV9Nc2sgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfMCAgICAgICAgICAgICgweDFVIDw8IEdQSU9fUFVQRFJfUFVQRFIxNV9Qb3MpICAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTVfMSAgICAgICAgICAgICgweDJVIDw8IEdQSU9fUFVQRFJfUFVQRFIxNV9Qb3MpICAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fSURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0lEUl8wICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8xICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8yICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8zICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl80ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl81ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl82ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl83ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl84ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl85ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8xMCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8xMSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8xMiAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8xMyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8xNCAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl8xNSAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19PRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX09EUl8wICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8xICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8yICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8zICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl80ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl81ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl82ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl83ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl84ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl85ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8xMCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8xMSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8xMiAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8xMyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8xNCAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl8xNSAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0JTUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0JTUlJfQlNfMCAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMSAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMiAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNCAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNSAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNiAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfNyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfOCAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfOSAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTEgICAgICAgICAgICAgICAgICgweDAwMDAwODAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTIgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTMgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTQgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlNfMTUgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMCAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMSAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMiAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMyAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNCAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNSAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNiAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfNyAgICAgICAgICAgICAgICAgICgweDAwODAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfOCAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfOSAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTAgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTEgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTIgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTMgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTQgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlJfMTUgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0xDS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0swX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMCAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0swX01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Qb3MgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMSAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxX01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMl9Qb3MgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0syX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMiAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0syX01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Qb3MgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLM19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0szX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMyAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0szX01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s0X1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNCAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s0X01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNV9Qb3MgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s1X1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNSAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s1X01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Qb3MgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s2X1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNiAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s2X01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Qb3MgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLN19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s3X1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNyAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s3X01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s4X1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOCAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s4X01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Qb3MgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s5X1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOSAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s5X01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfUG9zICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMF9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfUG9zICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTFfTXNrICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTEgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMV9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTJfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTJfTXNrICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTIgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMl9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfUG9zICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTNfTXNrICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxM19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTMgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxM19Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfUG9zICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTRfTXNrICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxNF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTQgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxNF9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTVfUG9zICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTVfTXNrICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxNV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTUgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxNV9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Qb3MgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLS19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0tLX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLSyAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0tLX01zayAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqIEJpdCBkZWZpbml0aW9uIGZvciBHUElPX0FGUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwwX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwwX01zayAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSTF9BRlNFTDBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwwICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDBfTXNrICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMMV9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMMV9Nc2sgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkxfQUZTRUwxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMMSAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUwxX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDJfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDJfTXNrICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJMX0FGU0VMMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDIgICAgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMMl9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwzX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwzX01zayAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSTF9BRlNFTDNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUwzICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDNfTXNrICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMNF9Qb3MgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMNF9Nc2sgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkxfQUZTRUw0X1BvcykgICAgICAgICAvKiE8IDB4MDAwRjAwMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMNCAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUw0X01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDVfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDVfTXNrICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJMX0FGU0VMNV9Qb3MpICAgICAgICAgLyohPCAweDAwRjAwMDAwICovDQojZGVmaW5lIEdQSU9fQUZSTF9BRlNFTDUgICAgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMNV9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUw2X1BvcyAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUw2X01zayAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSTF9BRlNFTDZfUG9zKSAgICAgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkxfQUZTRUw2ICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDZfTXNrICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMN19Qb3MgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMN19Nc2sgICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkxfQUZTRUw3X1BvcykgICAgICAgICAvKiE8IDB4RjAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJMX0FGU0VMNyAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUw3X01zayAgDQoNCi8qIExlZ2FjeSBhbGlhc2VzICovICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMMF9Qb3MgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMMF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMMF9Nc2sgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMMF9Nc2sNCiNkZWZpbmUgR1BJT19BRlJMX0FGUkwwICAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUwwDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMMV9Qb3MgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMMV9Qb3MNCiNkZWZpbmUgR1BJT19BRlJMX0FGUkwxX01zayAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUwxX01zaw0KI2RlZmluZSBHUElPX0FGUkxfQUZSTDEgICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDENCiNkZWZpbmUgR1BJT19BRlJMX0FGUkwyX1BvcyAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUwyX1Bvcw0KI2RlZmluZSBHUElPX0FGUkxfQUZSTDJfTXNrICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDJfTXNrDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMMiAgICAgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMMg0KI2RlZmluZSBHUElPX0FGUkxfQUZSTDNfUG9zICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDNfUG9zDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMM19Nc2sgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMM19Nc2sNCiNkZWZpbmUgR1BJT19BRlJMX0FGUkwzICAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUwzDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMNF9Qb3MgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMNF9Qb3MNCiNkZWZpbmUgR1BJT19BRlJMX0FGUkw0X01zayAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUw0X01zaw0KI2RlZmluZSBHUElPX0FGUkxfQUZSTDQgICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDQNCiNkZWZpbmUgR1BJT19BRlJMX0FGUkw1X1BvcyAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUw1X1Bvcw0KI2RlZmluZSBHUElPX0FGUkxfQUZSTDVfTXNrICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDVfTXNrDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMNSAgICAgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMNQ0KI2RlZmluZSBHUElPX0FGUkxfQUZSTDZfUG9zICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDZfUG9zDQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMNl9Nc2sgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMNl9Nc2sNCiNkZWZpbmUgR1BJT19BRlJMX0FGUkw2ICAgICAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUw2DQojZGVmaW5lIEdQSU9fQUZSTF9BRlJMN19Qb3MgICAgICAgICAgICAgR1BJT19BRlJMX0FGU0VMN19Qb3MNCiNkZWZpbmUgR1BJT19BRlJMX0FGUkw3X01zayAgICAgICAgICAgICBHUElPX0FGUkxfQUZTRUw3X01zaw0KI2RlZmluZSBHUElPX0FGUkxfQUZSTDcgICAgICAgICAgICAgICAgIEdQSU9fQUZSTF9BRlNFTDcNCiANCi8qKioqKioqKioqKioqKioqKiogQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQUZSSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDhfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDhfTXNrICAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJIX0FGU0VMOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDggICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMOF9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUw5X1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUw5X01zayAgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSSF9BRlNFTDlfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUw5ICAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDlfTXNrICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTBfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTBfTXNrICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkhfQUZTRUwxMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTAgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxMF9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxMV9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxMV9Nc2sgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSSF9BRlNFTDExX1BvcykgICAgICAgIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxMSAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDExX01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDEyX1BvcyAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDEyX01zayAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJIX0FGU0VMMTJfUG9zKSAgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDEyICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTJfTXNrICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTNfUG9zICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTNfTXNrICAgICAgICAgICAoMHhGVSA8PCBHUElPX0FGUkhfQUZTRUwxM19Qb3MpICAgICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19BRlJIX0FGU0VMMTMgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxM19Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxNF9Qb3MgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxNF9Nc2sgICAgICAgICAgICgweEZVIDw8IEdQSU9fQUZSSF9BRlNFTDE0X1BvcykgICAgICAgIC8qITwgMHgwRjAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0FGUkhfQUZTRUwxNCAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDE0X01zayAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDE1X1BvcyAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDE1X01zayAgICAgICAgICAgKDB4RlUgPDwgR1BJT19BRlJIX0FGU0VMMTVfUG9zKSAgICAgICAgLyohPCAweEYwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQUZSSF9BRlNFTDE1ICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTVfTXNrICAgICAgICAgICAgICAgICAgICANCg0KLyogTGVnYWN5IGFsaWFzZXMgKi8gICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19BRlJIX0FGUkgwX1BvcyAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUw4X1Bvcw0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDBfTXNrICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDhfTXNrDQojZGVmaW5lIEdQSU9fQUZSSF9BRlJIMCAgICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMOA0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDFfUG9zICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDlfUG9zDQojZGVmaW5lIEdQSU9fQUZSSF9BRlJIMV9Nc2sgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMOV9Nc2sNCiNkZWZpbmUgR1BJT19BRlJIX0FGUkgxICAgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUw5DQojZGVmaW5lIEdQSU9fQUZSSF9BRlJIMl9Qb3MgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTBfUG9zDQojZGVmaW5lIEdQSU9fQUZSSF9BRlJIMl9Nc2sgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTBfTXNrDQojZGVmaW5lIEdQSU9fQUZSSF9BRlJIMiAgICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTANCiNkZWZpbmUgR1BJT19BRlJIX0FGUkgzX1BvcyAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxMV9Qb3MNCiNkZWZpbmUgR1BJT19BRlJIX0FGUkgzX01zayAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxMV9Nc2sNCiNkZWZpbmUgR1BJT19BRlJIX0FGUkgzICAgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxMQ0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDRfUG9zICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDEyX1Bvcw0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDRfTXNrICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDEyX01zaw0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDQgICAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDEyDQojZGVmaW5lIEdQSU9fQUZSSF9BRlJINV9Qb3MgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTNfUG9zDQojZGVmaW5lIEdQSU9fQUZSSF9BRlJINV9Nc2sgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTNfTXNrDQojZGVmaW5lIEdQSU9fQUZSSF9BRlJINSAgICAgICAgICAgICAgICAgR1BJT19BRlJIX0FGU0VMMTMNCiNkZWZpbmUgR1BJT19BRlJIX0FGUkg2X1BvcyAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxNF9Qb3MNCiNkZWZpbmUgR1BJT19BRlJIX0FGUkg2X01zayAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxNF9Nc2sNCiNkZWZpbmUgR1BJT19BRlJIX0FGUkg2ICAgICAgICAgICAgICAgICBHUElPX0FGUkhfQUZTRUwxNA0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDdfUG9zICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDE1X1Bvcw0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDdfTXNrICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDE1X01zaw0KI2RlZmluZSBHUElPX0FGUkhfQUZSSDcgICAgICAgICAgICAgICAgIEdQSU9fQUZSSF9BRlNFTDE1DQoNCi8qKioqKioqKioqKioqKioqKiogQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQlJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQlJSX0JSXzAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzEgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzIgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzMgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzQgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzUgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzYgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzcgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzggICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzkgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzEwICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzExICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzEyICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzEzICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzE0ICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSXzE1ICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgSW50ZXItaW50ZWdyYXRlZCBDaXJjdWl0IEludGVyZmFjZSAoSTJDKSAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DUjFfUEVfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUEVfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QRV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19DUjFfUEUgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1RYSUVfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1RYSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfVFhJRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfQ1IxX1RYSUUgICAgICAgICAgICAgICAgIEkyQ19DUjFfVFhJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFggaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1JYSUVfUG9zICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1JYSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUlhJRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfQ1IxX1JYSUUgICAgICAgICAgICAgICAgIEkyQ19DUjFfUlhJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUlggaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0FERFJJRV9Qb3MgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FERFJJRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUREUklFX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FERFJJRSAgICAgICAgICAgICAgIEkyQ19DUjFfQUREUklFX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBtYXRjaCBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfTkFDS0lFX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfTkFDS0lFX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9OQUNLSUVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19DUjFfTkFDS0lFICAgICAgICAgICAgICAgSTJDX0NSMV9OQUNLSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBOQUNLIHJlY2VpdmVkIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QSUVfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TVE9QSUVfTXNrICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NUT1BJRV9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TVE9QSUUgICAgICAgICAgICAgICBJMkNfQ1IxX1NUT1BJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUT1AgZGV0ZWN0aW9uIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9UQ0lFX1BvcyAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9UQ0lFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1RDSUVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9UQ0lFICAgICAgICAgICAgICAgICBJMkNfQ1IxX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGNvbXBsZXRlIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9FUlJJRV9Qb3MgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9FUlJJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VSUklFX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX0NSMV9FUlJJRSAgICAgICAgICAgICAgICBJMkNfQ1IxX0VSUklFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVycm9ycyBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfRE5GX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfRE5GX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgSTJDX0NSMV9ETkZfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIEkyQ19DUjFfRE5GICAgICAgICAgICAgICAgICAgSTJDX0NSMV9ETkZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEaWdpdGFsIG5vaXNlIGZpbHRlciAqLw0KI2RlZmluZSBJMkNfQ1IxX0FORk9GRl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FORk9GRl9Nc2sgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQU5GT0ZGX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FORk9GRiAgICAgICAgICAgICAgIEkyQ19DUjFfQU5GT0ZGX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQW5hbG9nIG5vaXNlIGZpbHRlciBPRkYgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TV1JTVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NXUlNUX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TV1JTVCAgICAgICAgICAgICAgICBJMkNfQ1IxX1NXUlNUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIHJlc2V0ICovDQojZGVmaW5lIEkyQ19DUjFfVFhETUFFTl9Qb3MgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfVFhETUFFTl9Nc2sgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9UWERNQUVOX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEkyQ19DUjFfVFhETUFFTiAgICAgICAgICAgICAgSTJDX0NSMV9UWERNQUVOX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBETUEgdHJhbnNtaXNzaW9uIHJlcXVlc3RzIGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1JYRE1BRU5fUG9zICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1JYRE1BRU5fTXNrICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUlhETUFFTl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1JYRE1BRU4gICAgICAgICAgICAgIEkyQ19DUjFfUlhETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRE1BIHJlY2VwdGlvbiByZXF1ZXN0cyBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9TQkNfUG9zICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9TQkNfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NCQ19Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9TQkMgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NCQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNsYXZlIGJ5dGUgY29udHJvbCAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Qb3MgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Nc2sgICAgICAgICgweDFVIDw8IEkyQ19DUjFfTk9TVFJFVENIX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSCAgICAgICAgICAgIEkyQ19DUjFfTk9TVFJFVENIX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgc3RyZXRjaGluZyBkaXNhYmxlICovDQojZGVmaW5lIEkyQ19DUjFfR0NFTl9Qb3MgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfR0NFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9HQ0VOX1BvcykgICAgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIEkyQ19DUjFfR0NFTiAgICAgICAgICAgICAgICAgSTJDX0NSMV9HQ0VOX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsIGNhbGwgZW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfU01CSEVOX1BvcyAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU01CSEVOX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJIRU5fUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEkyQ19DUjFfU01CSEVOICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJIRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBob3N0IGFkZHJlc3MgZW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfU01CREVOX1BvcyAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfU01CREVOX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9TTUJERU5fUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEkyQ19DUjFfU01CREVOICAgICAgICAgICAgICAgSTJDX0NSMV9TTUJERU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBkZXZpY2UgZGVmYXVsdCBhZGRyZXNzIGVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJURU5fUG9zICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0FMRVJURU5fTXNrICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUxFUlRFTl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0FMRVJURU4gICAgICAgICAgICAgIEkyQ19DUjFfQUxFUlRFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU01CdXMgYWxlcnQgZW5hYmxlICovDQojZGVmaW5lIEkyQ19DUjFfUEVDRU5fUG9zICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUEVDRU5fTXNrICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QRUNFTl9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEkyQ19DUjFfUEVDRU4gICAgICAgICAgICAgICAgSTJDX0NSMV9QRUNFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRUMgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NSMl9TQUREX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9TQUREX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IEkyQ19DUjJfU0FERF9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgSTJDX0NSMl9TQUREICAgICAgICAgICAgICAgICBJMkNfQ1IyX1NBRERfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNsYXZlIGFkZHJlc3MgKG1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ1IyX1JEX1dSTl9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX1JEX1dSTl9Nc2sgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfUkRfV1JOX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX1JEX1dSTiAgICAgICAgICAgICAgIEkyQ19DUjJfUkRfV1JOX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgZGlyZWN0aW9uIChtYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NSMl9BREQxMF9Qb3MgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9BREQxMF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0FERDEwX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9BREQxMCAgICAgICAgICAgICAgICBJMkNfQ1IyX0FERDEwX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDEwLWJpdCBhZGRyZXNzaW5nIG1vZGUgKG1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ1IyX0hFQUQxMFJfUG9zICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0hFQUQxMFJfTXNrICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfSEVBRDEwUl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0hFQUQxMFIgICAgICAgICAgICAgIEkyQ19DUjJfSEVBRDEwUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgMTAtYml0IGFkZHJlc3MgaGVhZGVyIG9ubHkgcmVhZCBkaXJlY3Rpb24gKG1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ1IyX1NUQVJUX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX1NUQVJUX01zayAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfU1RBUlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX1NUQVJUICAgICAgICAgICAgICAgIEkyQ19DUjJfU1RBUlRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RBUlQgZ2VuZXJhdGlvbiAqLw0KI2RlZmluZSBJMkNfQ1IyX1NUT1BfUG9zICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX1NUT1BfTXNrICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfU1RPUF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX1NUT1AgICAgICAgICAgICAgICAgIEkyQ19DUjJfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RPUCBnZW5lcmF0aW9uIChtYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NSMl9OQUNLX1BvcyAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9OQUNLX01zayAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX05BQ0tfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9OQUNLICAgICAgICAgICAgICAgICBJMkNfQ1IyX05BQ0tfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5BQ0sgZ2VuZXJhdGlvbiAoc2xhdmUgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NSMl9OQllURVNfUG9zICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9OQllURVNfTXNrICAgICAgICAgICAoMHhGRlUgPDwgSTJDX0NSMl9OQllURVNfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDBGRjAwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9OQllURVMgICAgICAgICAgICAgICBJMkNfQ1IyX05CWVRFU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE51bWJlciBvZiBieXRlcyAqLw0KI2RlZmluZSBJMkNfQ1IyX1JFTE9BRF9Qb3MgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX1JFTE9BRF9Nc2sgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfUkVMT0FEX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX1JFTE9BRCAgICAgICAgICAgICAgIEkyQ19DUjJfUkVMT0FEX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTkJZVEVTIHJlbG9hZCBtb2RlICovDQojZGVmaW5lIEkyQ19DUjJfQVVUT0VORF9Qb3MgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjJfQVVUT0VORF9Nc2sgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9BVVRPRU5EX1BvcykgICAgICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEkyQ19DUjJfQVVUT0VORCAgICAgICAgICAgICAgSTJDX0NSMl9BVVRPRU5EX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBdXRvbWF0aWMgZW5kIG1vZGUgKG1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ1IyX1BFQ0JZVEVfUG9zICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX1BFQ0JZVEVfTXNrICAgICAgICAgICgweDFVIDw8IEkyQ19DUjJfUEVDQllURV9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX1BFQ0JZVEUgICAgICAgICAgICAgIEkyQ19DUjJfUEVDQllURV9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGFja2V0IGVycm9yIGNoZWNraW5nIGJ5dGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfT0FSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfT0FSMV9PQTFfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9PQTFfTXNrICAgICAgICAgICAgICgweDNGRlUgPDwgSTJDX09BUjFfT0ExX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDNGRiAqLw0KI2RlZmluZSBJMkNfT0FSMV9PQTEgICAgICAgICAgICAgICAgIEkyQ19PQVIxX09BMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIG93biBhZGRyZXNzIDEgKi8NCiNkZWZpbmUgSTJDX09BUjFfT0ExTU9ERV9Qb3MgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfT0ExTU9ERV9Nc2sgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9PQTFNT0RFX1BvcykgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfT0ExTU9ERSAgICAgICAgICAgICBJMkNfT0FSMV9PQTFNT0RFX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IE93biBhZGRyZXNzIDEgMTAtYml0IG1vZGUgKi8NCiNkZWZpbmUgSTJDX09BUjFfT0ExRU5fUG9zICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfT0ExRU5fTXNrICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9PQTFFTl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfT0ExRU4gICAgICAgICAgICAgICBJMkNfT0FSMV9PQTFFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE93biBhZGRyZXNzIDEgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX09BUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX09BUjJfT0EyX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjJfT0EyX01zayAgICAgICAgICAgICAoMHg3RlUgPDwgSTJDX09BUjJfT0EyX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkUgKi8NCiNkZWZpbmUgSTJDX09BUjJfT0EyICAgICAgICAgICAgICAgICBJMkNfT0FSMl9PQTJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBvd24gYWRkcmVzcyAyICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1TS19Qb3MgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1TS19Nc2sgICAgICAgICAgKDB4N1UgPDwgSTJDX09BUjJfT0EyTVNLX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwNzAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1TSyAgICAgICAgICAgICAgSTJDX09BUjJfT0EyTVNLX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPd24gYWRkcmVzcyAyIG1hc2tzICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk5PTUFTSyAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBtYXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swMV9Qb3MgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swMV9Nc2sgICAgICAgKDB4MVUgPDwgSTJDX09BUjJfT0EyTUFTSzAxX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swMSAgICAgICAgICAgSTJDX09BUjJfT0EyTUFTSzAxX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPQTJbMV0gaXMgbWFza2VkLCBPbmx5IE9BMls3OjJdIGFyZSBjb21wYXJlZCAgICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swMl9Qb3MgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swMl9Nc2sgICAgICAgKDB4MVUgPDwgSTJDX09BUjJfT0EyTUFTSzAyX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swMiAgICAgICAgICAgSTJDX09BUjJfT0EyTUFTSzAyX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPQTJbMjoxXSBpcyBtYXNrZWQsIE9ubHkgT0EyWzc6M10gYXJlIGNvbXBhcmVkICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swM19Qb3MgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swM19Nc2sgICAgICAgKDB4M1UgPDwgSTJDX09BUjJfT0EyTUFTSzAzX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swMyAgICAgICAgICAgSTJDX09BUjJfT0EyTUFTSzAzX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPQTJbMzoxXSBpcyBtYXNrZWQsIE9ubHkgT0EyWzc6NF0gYXJlIGNvbXBhcmVkICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNF9Qb3MgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNF9Nc2sgICAgICAgKDB4MVUgPDwgSTJDX09BUjJfT0EyTUFTSzA0X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNCAgICAgICAgICAgSTJDX09BUjJfT0EyTUFTSzA0X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPQTJbNDoxXSBpcyBtYXNrZWQsIE9ubHkgT0EyWzc6NV0gYXJlIGNvbXBhcmVkICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNV9Qb3MgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNV9Nc2sgICAgICAgKDB4NVUgPDwgSTJDX09BUjJfT0EyTUFTSzA1X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNSAgICAgICAgICAgSTJDX09BUjJfT0EyTUFTSzA1X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPQTJbNToxXSBpcyBtYXNrZWQsIE9ubHkgT0EyWzc6Nl0gYXJlIGNvbXBhcmVkICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNl9Qb3MgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNl9Nc2sgICAgICAgKDB4M1UgPDwgSTJDX09BUjJfT0EyTUFTSzA2X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNiAgICAgICAgICAgSTJDX09BUjJfT0EyTUFTSzA2X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPQTJbNjoxXSBpcyBtYXNrZWQsIE9ubHkgT0EyWzddIGFyZSBjb21wYXJlZCAgICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swN19Qb3MgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swN19Nc2sgICAgICAgKDB4N1UgPDwgSTJDX09BUjJfT0EyTUFTSzA3X1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNzAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMk1BU0swNyAgICAgICAgICAgSTJDX09BUjJfT0EyTUFTSzA3X01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPQTJbNzoxXSBpcyBtYXNrZWQsIE5vIGNvbXBhcmlzb24gaXMgZG9uZSAgICAgICovDQojZGVmaW5lIEkyQ19PQVIyX09BMkVOX1BvcyAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX09BMkVOX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjJfT0EyRU5fUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19PQVIyX09BMkVOICAgICAgICAgICAgICAgSTJDX09BUjJfT0EyRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPd24gYWRkcmVzcyAyIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19USU1JTkdSIHJlZ2lzdGVyICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19USU1JTkdSX1NDTExfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19USU1JTkdSX1NDTExfTXNrICAgICAgICAgKDB4RkZVIDw8IEkyQ19USU1JTkdSX1NDTExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEkyQ19USU1JTkdSX1NDTEwgICAgICAgICAgICAgSTJDX1RJTUlOR1JfU0NMTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0wgbG93IHBlcmlvZCAobWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19USU1JTkdSX1NDTEhfUG9zICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19USU1JTkdSX1NDTEhfTXNrICAgICAgICAgKDB4RkZVIDw8IEkyQ19USU1JTkdSX1NDTEhfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEkyQ19USU1JTkdSX1NDTEggICAgICAgICAgICAgSTJDX1RJTUlOR1JfU0NMSF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0wgaGlnaCBwZXJpb2QgKG1hc3RlciBtb2RlKSAqLw0KI2RlZmluZSBJMkNfVElNSU5HUl9TREFERUxfUG9zICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVElNSU5HUl9TREFERUxfTXNrICAgICAgICgweEZVIDw8IEkyQ19USU1JTkdSX1NEQURFTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDBGMDAwMCAqLw0KI2RlZmluZSBJMkNfVElNSU5HUl9TREFERUwgICAgICAgICAgIEkyQ19USU1JTkdSX1NEQURFTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBob2xkIHRpbWUgKi8NCiNkZWZpbmUgSTJDX1RJTUlOR1JfU0NMREVMX1BvcyAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1RJTUlOR1JfU0NMREVMX01zayAgICAgICAoMHhGVSA8PCBJMkNfVElNSU5HUl9TQ0xERUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgSTJDX1RJTUlOR1JfU0NMREVMICAgICAgICAgICBJMkNfVElNSU5HUl9TQ0xERUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgc2V0dXAgdGltZSAqLw0KI2RlZmluZSBJMkNfVElNSU5HUl9QUkVTQ19Qb3MgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVElNSU5HUl9QUkVTQ19Nc2sgICAgICAgICgweEZVIDw8IEkyQ19USU1JTkdSX1BSRVNDX1BvcykgICAgICAgICAgIC8qITwgMHhGMDAwMDAwMCAqLw0KI2RlZmluZSBJMkNfVElNSU5HUl9QUkVTQyAgICAgICAgICAgIEkyQ19USU1JTkdSX1BSRVNDX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVGltaW5ncyBwcmVzY2FsZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogQml0IGRlZmluaXRpb24gZm9yIEkyQ19USU1FT1VUUiByZWdpc3RlciAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElNRU9VVEFfUG9zICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElNRU9VVEFfTXNrICAgICgweEZGRlUgPDwgSTJDX1RJTUVPVVRSX1RJTUVPVVRBX1BvcykgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElNRU9VVEEgICAgICAgIEkyQ19USU1FT1VUUl9USU1FT1VUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQnVzIHRpbWVvdXQgQSAqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElETEVfUG9zICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElETEVfTXNrICAgICAgICgweDFVIDw8IEkyQ19USU1FT1VUUl9USURMRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElETEUgICAgICAgICAgIEkyQ19USU1FT1VUUl9USURMRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgSWRsZSBjbG9jayB0aW1lb3V0IGRldGVjdGlvbiAqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElNT1VURU5fUG9zICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElNT1VURU5fTXNrICAgICgweDFVIDw8IEkyQ19USU1FT1VUUl9USU1PVVRFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVElNT1VURU4gICAgICAgIEkyQ19USU1FT1VUUl9USU1PVVRFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgdGltZW91dCBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX1RJTUVPVVRSX1RJTUVPVVRCX1BvcyAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1RJTUVPVVRSX1RJTUVPVVRCX01zayAgICAoMHhGRkZVIDw8IEkyQ19USU1FT1VUUl9USU1FT1VUQl9Qb3MpICAgICAvKiE8IDB4MEZGRjAwMDAgKi8NCiNkZWZpbmUgSTJDX1RJTUVPVVRSX1RJTUVPVVRCICAgICAgICBJMkNfVElNRU9VVFJfVElNRU9VVEJfTXNrICAgICAgICAgICAgICAgICAvKiE8IEJ1cyB0aW1lb3V0IEIqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVEVYVEVOX1BvcyAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfVElNRU9VVFJfVEVYVEVOX01zayAgICAgICgweDFVIDw8IEkyQ19USU1FT1VUUl9URVhURU5fUG9zKSAgICAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KI2RlZmluZSBJMkNfVElNRU9VVFJfVEVYVEVOICAgICAgICAgIEkyQ19USU1FT1VUUl9URVhURU5fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXh0ZW5kZWQgY2xvY2sgdGltZW91dCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19JU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfSVNSX1RYRV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSVNSX1RYRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19JU1JfVFhFX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJMkNfSVNSX1RYRSAgICAgICAgICAgICAgICAgIEkyQ19JU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgZGF0YSByZWdpc3RlciBlbXB0eSAqLw0KI2RlZmluZSBJMkNfSVNSX1RYSVNfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSVNSX1RYSVNfTXNrICAgICAgICAgICAgICgweDFVIDw8IEkyQ19JU1JfVFhJU19Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfSVNSX1RYSVMgICAgICAgICAgICAgICAgIEkyQ19JU1JfVFhJU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgaW50ZXJydXB0IHN0YXR1cyAqLw0KI2RlZmluZSBJMkNfSVNSX1JYTkVfUG9zICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSVNSX1JYTkVfTXNrICAgICAgICAgICAgICgweDFVIDw8IEkyQ19JU1JfUlhORV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfSVNSX1JYTkUgICAgICAgICAgICAgICAgIEkyQ19JU1JfUlhORV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBkYXRhIHJlZ2lzdGVyIG5vdCBlbXB0eSAqLw0KI2RlZmluZSBJMkNfSVNSX0FERFJfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSVNSX0FERFJfTXNrICAgICAgICAgICAgICgweDFVIDw8IEkyQ19JU1JfQUREUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfSVNSX0FERFIgICAgICAgICAgICAgICAgIEkyQ19JU1JfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBtYXRjaGVkIChzbGF2ZSBtb2RlKSovDQojZGVmaW5lIEkyQ19JU1JfTkFDS0ZfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JU1JfTkFDS0ZfTXNrICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lTUl9OQUNLRl9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEkyQ19JU1JfTkFDS0YgICAgICAgICAgICAgICAgSTJDX0lTUl9OQUNLRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBOQUNLIHJlY2VpdmVkIGZsYWcgKi8NCiNkZWZpbmUgSTJDX0lTUl9TVE9QRl9Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0lTUl9TVE9QRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBJMkNfSVNSX1NUT1BGX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX0lTUl9TVE9QRiAgICAgICAgICAgICAgICBJMkNfSVNSX1NUT1BGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUT1AgZGV0ZWN0aW9uIGZsYWcgKi8NCiNkZWZpbmUgSTJDX0lTUl9UQ19Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0lTUl9UQ19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfSVNSX1RDX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgSTJDX0lTUl9UQyAgICAgICAgICAgICAgICAgICBJMkNfSVNSX1RDX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGNvbXBsZXRlIChtYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0lTUl9UQ1JfUG9zICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0lTUl9UQ1JfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfSVNSX1RDUl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX0lTUl9UQ1IgICAgICAgICAgICAgICAgICBJMkNfSVNSX1RDUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGNvbXBsZXRlIHJlbG9hZCAqLw0KI2RlZmluZSBJMkNfSVNSX0JFUlJfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSVNSX0JFUlJfTXNrICAgICAgICAgICAgICgweDFVIDw8IEkyQ19JU1JfQkVSUl9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfSVNSX0JFUlIgICAgICAgICAgICAgICAgIEkyQ19JU1JfQkVSUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQnVzIGVycm9yICovDQojZGVmaW5lIEkyQ19JU1JfQVJMT19Qb3MgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JU1JfQVJMT19Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lTUl9BUkxPX1BvcykgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19JU1JfQVJMTyAgICAgICAgICAgICAgICAgSTJDX0lTUl9BUkxPX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBcmJpdHJhdGlvbiBsb3N0ICovDQojZGVmaW5lIEkyQ19JU1JfT1ZSX1BvcyAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JU1JfT1ZSX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lTUl9PVlJfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19JU1JfT1ZSICAgICAgICAgICAgICAgICAgSTJDX0lTUl9PVlJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuL1VuZGVycnVuICovDQojZGVmaW5lIEkyQ19JU1JfUEVDRVJSX1BvcyAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JU1JfUEVDRVJSX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lTUl9QRUNFUlJfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19JU1JfUEVDRVJSICAgICAgICAgICAgICAgSTJDX0lTUl9QRUNFUlJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRUMgZXJyb3IgaW4gcmVjZXB0aW9uICovDQojZGVmaW5lIEkyQ19JU1JfVElNRU9VVF9Qb3MgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JU1JfVElNRU9VVF9Nc2sgICAgICAgICAgKDB4MVUgPDwgSTJDX0lTUl9USU1FT1VUX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19JU1JfVElNRU9VVCAgICAgICAgICAgICAgSTJDX0lTUl9USU1FT1VUX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUaW1lb3V0IG9yIFRsb3cgZGV0ZWN0aW9uIGZsYWcgKi8NCiNkZWZpbmUgSTJDX0lTUl9BTEVSVF9Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0lTUl9BTEVSVF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBJMkNfSVNSX0FMRVJUX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgSTJDX0lTUl9BTEVSVCAgICAgICAgICAgICAgICBJMkNfSVNSX0FMRVJUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNNQnVzIGFsZXJ0ICovDQojZGVmaW5lIEkyQ19JU1JfQlVTWV9Qb3MgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JU1JfQlVTWV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lTUl9CVVNZX1BvcykgICAgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19JU1JfQlVTWSAgICAgICAgICAgICAgICAgSTJDX0lTUl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgYnVzeSAqLw0KI2RlZmluZSBJMkNfSVNSX0RJUl9Qb3MgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSVNSX0RJUl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19JU1JfRElSX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBJMkNfSVNSX0RJUiAgICAgICAgICAgICAgICAgIEkyQ19JU1JfRElSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgZGlyZWN0aW9uIChzbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfSVNSX0FERENPREVfUG9zICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSVNSX0FERENPREVfTXNrICAgICAgICAgICgweDdGVSA8PCBJMkNfSVNSX0FERENPREVfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMEZFMDAwMCAqLw0KI2RlZmluZSBJMkNfSVNSX0FERENPREUgICAgICAgICAgICAgIEkyQ19JU1JfQUREQ09ERV9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBtYXRjaCBjb2RlIChzbGF2ZSBtb2RlKSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0lDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19JQ1JfQUREUkNGX1BvcyAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JQ1JfQUREUkNGX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lDUl9BRERSQ0ZfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19JQ1JfQUREUkNGICAgICAgICAgICAgICAgSTJDX0lDUl9BRERSQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzIG1hdGNoZWQgY2xlYXIgZmxhZyAqLw0KI2RlZmluZSBJMkNfSUNSX05BQ0tDRl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSUNSX05BQ0tDRl9Nc2sgICAgICAgICAgICgweDFVIDw8IEkyQ19JQ1JfTkFDS0NGX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfSUNSX05BQ0tDRiAgICAgICAgICAgICAgIEkyQ19JQ1JfTkFDS0NGX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTkFDSyBjbGVhciBmbGFnICovDQojZGVmaW5lIEkyQ19JQ1JfU1RPUENGX1BvcyAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JQ1JfU1RPUENGX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lDUl9TVE9QQ0ZfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19JQ1JfU1RPUENGICAgICAgICAgICAgICAgSTJDX0lDUl9TVE9QQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTVE9QIGRldGVjdGlvbiBjbGVhciBmbGFnICovDQojZGVmaW5lIEkyQ19JQ1JfQkVSUkNGX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JQ1JfQkVSUkNGX01zayAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lDUl9CRVJSQ0ZfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEkyQ19JQ1JfQkVSUkNGICAgICAgICAgICAgICAgSTJDX0lDUl9CRVJSQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXMgZXJyb3IgY2xlYXIgZmxhZyAqLw0KI2RlZmluZSBJMkNfSUNSX0FSTE9DRl9Qb3MgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfSUNSX0FSTE9DRl9Nc2sgICAgICAgICAgICgweDFVIDw8IEkyQ19JQ1JfQVJMT0NGX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfSUNSX0FSTE9DRiAgICAgICAgICAgICAgIEkyQ19JQ1JfQVJMT0NGX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQXJiaXRyYXRpb24gbG9zdCBjbGVhciBmbGFnICovDQojZGVmaW5lIEkyQ19JQ1JfT1ZSQ0ZfUG9zICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JQ1JfT1ZSQ0ZfTXNrICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0lDUl9PVlJDRl9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19JQ1JfT1ZSQ0YgICAgICAgICAgICAgICAgSTJDX0lDUl9PVlJDRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuL1VuZGVycnVuIGNsZWFyIGZsYWcgKi8NCiNkZWZpbmUgSTJDX0lDUl9QRUNDRl9Qb3MgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0lDUl9QRUNDRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBJMkNfSUNSX1BFQ0NGX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0lDUl9QRUNDRiAgICAgICAgICAgICAgICBJMkNfSUNSX1BFQ0NGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBQyBlcnJvciBjbGVhciBmbGFnICovDQojZGVmaW5lIEkyQ19JQ1JfVElNT1VUQ0ZfUG9zICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19JQ1JfVElNT1VUQ0ZfTXNrICAgICAgICAgKDB4MVUgPDwgSTJDX0lDUl9USU1PVVRDRl9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19JQ1JfVElNT1VUQ0YgICAgICAgICAgICAgSTJDX0lDUl9USU1PVVRDRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBUaW1lb3V0IGNsZWFyIGZsYWcgKi8NCiNkZWZpbmUgSTJDX0lDUl9BTEVSVENGX1BvcyAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0lDUl9BTEVSVENGX01zayAgICAgICAgICAoMHgxVSA8PCBJMkNfSUNSX0FMRVJUQ0ZfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgSTJDX0lDUl9BTEVSVENGICAgICAgICAgICAgICBJMkNfSUNSX0FMRVJUQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFsZXJ0IGNsZWFyIGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19QRUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfUEVDUl9QRUNfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfUEVDUl9QRUNfTXNrICAgICAgICAgICAgICgweEZGVSA8PCBJMkNfUEVDUl9QRUNfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBJMkNfUEVDUl9QRUMgICAgICAgICAgICAgICAgIEkyQ19QRUNSX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEVDIHJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfUlhEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJMkNfUlhEUl9SWERBVEFfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfUlhEUl9SWERBVEFfTXNrICAgICAgICAgICgweEZGVSA8PCBJMkNfUlhEUl9SWERBVEFfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBJMkNfUlhEUl9SWERBVEEgICAgICAgICAgICAgIEkyQ19SWERSX1JYREFUQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgOC1iaXQgcmVjZWl2ZSBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfVFhEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1RYRFJfVFhEQVRBX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1RYRFJfVFhEQVRBX01zayAgICAgICAgICAoMHhGRlUgPDwgSTJDX1RYRFJfVFhEQVRBX1BvcykgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgSTJDX1RYRFJfVFhEQVRBICAgICAgICAgICAgICBJMkNfVFhEUl9UWERBVEFfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDgtYml0IHRyYW5zbWl0IGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICBJbmRlcGVuZGVudCBXQVRDSERPRyAoSVdERykgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX0tSX0tFWV9Qb3MgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX0tSX0tFWV9Nc2sgICAgICAoMHhGRkZGVSA8PCBJV0RHX0tSX0tFWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBJV0RHX0tSX0tFWSAgICAgICAgICBJV0RHX0tSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgS2V5IHZhbHVlICh3cml0ZSBvbmx5LCByZWFkIDAwMDBoKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElXREdfUFJfUFJfUG9zICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfUFJfUFJfTXNrICAgICAgICgweDdVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIElXREdfUFJfUFIgICAgICAgICAgIElXREdfUFJfUFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQUlsyOjBdIChQcmVzY2FsZXIgZGl2aWRlcikgKi8NCiNkZWZpbmUgSVdER19QUl9QUl8wICAgICAgICAgKDB4MVUgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDEgKi8NCiNkZWZpbmUgSVdER19QUl9QUl8xICAgICAgICAgKDB4MlUgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDIgKi8NCiNkZWZpbmUgSVdER19QUl9QUl8yICAgICAgICAgKDB4NFUgPDwgSVdER19QUl9QUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1JMUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1JMUl9STF9Qb3MgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1JMUl9STF9Nc2sgICAgICAoMHhGRkZVIDw8IElXREdfUkxSX1JMX1BvcykgICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJV0RHX1JMUl9STCAgICAgICAgICBJV0RHX1JMUl9STF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1NSX1BWVV9Qb3MgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1BWVV9Nc2sgICAgICAoMHgxVSA8PCBJV0RHX1NSX1BWVV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1NSX1BWVSAgICAgICAgICBJV0RHX1NSX1BWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgcHJlc2NhbGVyIHZhbHVlIHVwZGF0ZSAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVV9Qb3MgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1JWVV9Nc2sgICAgICAoMHgxVSA8PCBJV0RHX1NSX1JWVV9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVSAgICAgICAgICBJV0RHX1NSX1JWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgdXBkYXRlICovDQojZGVmaW5lIElXREdfU1JfV1ZVX1BvcyAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfU1JfV1ZVX01zayAgICAgICgweDFVIDw8IElXREdfU1JfV1ZVX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIElXREdfU1JfV1ZVICAgICAgICAgIElXREdfU1JfV1ZVX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBXYXRjaGRvZyBjb3VudGVyIHdpbmRvdyB2YWx1ZSB1cGRhdGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX0tSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1dJTlJfV0lOX1BvcyAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1dJTlJfV0lOX01zayAgICAoMHhGRkZVIDw8IElXREdfV0lOUl9XSU5fUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBJV0RHX1dJTlJfV0lOICAgICAgICBJV0RHX1dJTlJfV0lOX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciB3aW5kb3cgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgIFBvd2VyIENvbnRyb2wgKFBXUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKiBOb3RlOiBObyBzcGVjaWZpYyBtYWNybyBmZWF0dXJlIG9uIHRoaXMgZGV2aWNlICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUFdSX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBQV1JfQ1JfTFBEU19Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfTFBEU19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfTFBEU19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBQV1JfQ1JfTFBEUyAgICAgICAgICAgICAgICBQV1JfQ1JfTFBEU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTG93LXBvd2VyIERlZXBzbGVlcCAqLw0KI2RlZmluZSBQV1JfQ1JfUEREU19Qb3MgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUEREU19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUEREU19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBQV1JfQ1JfUEREUyAgICAgICAgICAgICAgICBQV1JfQ1JfUEREU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUG93ZXIgRG93biBEZWVwc2xlZXAgKi8NCiNkZWZpbmUgUFdSX0NSX0NXVUZfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0NXVUZfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0NXVUZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUFdSX0NSX0NXVUYgICAgICAgICAgICAgICAgUFdSX0NSX0NXVUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFdha2V1cCBGbGFnICovDQojZGVmaW5lIFBXUl9DUl9DU0JGX1BvcyAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9DU0JGX01zayAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9DU0JGX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFBXUl9DUl9DU0JGICAgICAgICAgICAgICAgIFBXUl9DUl9DU0JGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBTdGFuZGJ5IEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NSX0RCUF9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0RCUF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUFdSX0NSX0RCUCAgICAgICAgICAgICAgICAgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERpc2FibGUgQmFja3VwIERvbWFpbiB3cml0ZSBwcm90ZWN0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUFdSX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUZfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9XVUZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUYgICAgICAgICAgICAgICAgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFdha2V1cCBGbGFnICovDQojZGVmaW5lIFBXUl9DU1JfU0JGX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfU0JGX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFBXUl9DU1JfU0JGICAgICAgICAgICAgICAgIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdGFuZGJ5IEZsYWcgKi8NCg0KI2RlZmluZSBQV1JfQ1NSX0VXVVAxX1BvcyAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1NSX0VXVVAxX01zayAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1NSX0VXVVAxX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBQV1JfQ1NSX0VXVVAxICAgICAgICAgICAgICBQV1JfQ1NSX0VXVVAxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIFdLVVAgcGluIDEgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQMl9Qb3MgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9FV1VQMl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9FV1VQMl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQMiAgICAgICAgICAgICAgUFdSX0NTUl9FV1VQMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBXS1VQIHBpbiAyICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0IGFuZCBDbG9jayBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qDQoqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYwIHNlcmllKQ0KKi8NCiNkZWZpbmUgUkNDX1BMTFNSQ19QUkVESVYxX1NVUFBPUlQgIC8qITwgUFJFRElWIHN1cHBvcnQgdXNlZCBhcyBQTEwgc291cmNlIGlucHV0ICAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19DUl9IU0lPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTSU9OX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DUl9IU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0lSRFlfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJUkRZICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayByZWFkeSBmbGFnICovDQoNCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fUG9zICAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAvKiE8IDB4MDAwMDAwRjggKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU0gICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJVFJJTV9Nc2sgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgdHJpbW1pbmcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fMCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fMSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fMyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fNCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgUkNDX0NSX0hTSVRSSU1fUG9zKSAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lDQUxfTXNrICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayBDYWxpYnJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzEgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzIgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzMgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzUgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzYgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNJQ0FMXzcgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIFJDQ19DUl9IU0VPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRU9OX1BvcykgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VSRFlfUG9zKSAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfSFNFUkRZICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgSGlnaCBTcGVlZCBjbG9jayByZWFkeSBmbGFnICovDQojZGVmaW5lIFJDQ19DUl9IU0VCWVBfUG9zICAgICAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VCWVBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSX0hTRUJZUF9Qb3MpICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VCWVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIEJ5cGFzcyAqLw0KI2RlZmluZSBSQ0NfQ1JfQ1NTT05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfQ1NTT05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9DU1NPTl9Qb3MpICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfQ1NTT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMT05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfUExMT05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9QTExPTl9Qb3MpICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9QTExPTl9Nc2sgICAgICAgICAgICAgIC8qITwgUExMIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9QTExSRFlfUG9zKSAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1JfUExMUkRZICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9QTExSRFlfTXNrICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIHJlYWR5IGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KLyohPCBTVyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1NXX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFJDQ19DRkdSX1NXICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgLyohPCBTV1sxOjBdIGJpdHMgKFN5c3RlbSBjbG9jayBTd2l0Y2gpICovDQojZGVmaW5lIFJDQ19DRkdSX1NXXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DRkdSX1NXXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfU1dfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfU1dfSFNJICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IEhTSSBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfSFNFICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUpICAgICAgICAgICAgICAgICAvKiE8IEhTRSBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUExMICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAvKiE8IFBMTCBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KLyohPCBTV1MgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgIC8qITwgMHgwMDAwMDAwQyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1NXU19Nc2sgICAgICAgICAgICAgIC8qITwgU1dTWzE6MF0gYml0cyAoU3lzdGVtIENsb2NrIFN3aXRjaCBTdGF0dXMpICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU18wICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfU1dTX1BvcykgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU18xICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfU1dTX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTSSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IEhTSSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19IU0UgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKSAgICAgICAgICAgICAgICAgLyohPCBIU0Ugb3NjaWxsYXRvciB1c2VkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfUExMICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkgICAgICAgICAgICAgICAgIC8qITwgUExMIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQoNCi8qITwgSFBSRSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfUG9zICAgICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfSFBSRV9Nc2sgICAgICAgICAgICAgLyohPCBIUFJFWzM6MF0gYml0cyAoQUhCIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSQ0NfQ0ZHUl9IUFJFX1BvcykgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKSAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwOTBVKSAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWOCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwQTBVKSAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMTYgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwQjBVKSAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAxNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjY0ICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEMwVSkgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgNjQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxMjggICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBEMFUpICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDEyOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjI1NiAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEUwVSkgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMjU2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNTEyICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjBVKSAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA1MTIgKi8NCg0KLyohPCBQUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QUFJFX1BvcykgICAvKiE8IDB4MDAwMDA3MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QUFJFX01zayAgICAgICAgICAgICAvKiE8IFBSRVsyOjBdIGJpdHMgKEFQQiBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkVfMCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUFBSRV9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkVfMSAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUFBSRV9Qb3MpICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkVfMiAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUFBSRV9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9ESVYxICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9ESVYyX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9ESVYyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QUFJFX0RJVjJfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9ESVYyICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QUFJFX0RJVjJfTXNrICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkVfRElWNF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BQUkVfRElWNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4NVUgPDwgUkNDX0NGR1JfUFBSRV9ESVY0X1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkVfRElWNCAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRV9ESVY0X01zayAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFX0RJVjhfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFX0RJVjhfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1BQUkVfRElWOF9Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFX0RJVjggICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkVfRElWOF9Nc2sgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9ESVYxNl9Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRV9ESVYxNl9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9QUFJFX0RJVjE2X1BvcykgLyohPCAweDAwMDAwNzAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkVfRElWMTYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRV9ESVYxNl9Nc2sgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCg0KLyohPCBBRENQUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9BRENQUkVfTXNrICAgICAgICAgICAvKiE8IEFEQ1BSRSBiaXQgKEFEQyBwcmVzY2FsZXIpICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjIgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IFBDTEsgZGl2aWRlZCBieSAyICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY0ICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQQ0xLIGRpdmlkZWQgYnkgNCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMU1JDX1BvcykgLyohPCAweDAwMDE4MDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQyAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMU1JDX01zayAgICAgICAgICAgLyohPCBQTEwgZW50cnkgY2xvY2sgc291cmNlICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19IU0lfRElWMiAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBIU0kgY2xvY2sgZGl2aWRlZCBieSAyIHNlbGVjdGVkIGFzIFBMTCBlbnRyeSBjbG9jayBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMU1JDX0hTSV9QUkVESVYgICAgICAgICAgICAgICAoMHgwMDAwODAwMFUpICAgICAgICAgICAgICAgICAvKiE8IEhTSS9QUkVESVYgY2xvY2sgc2VsZWN0ZWQgYXMgUExMIGVudHJ5IGNsb2NrIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExTUkNfSFNFX1BSRURJViAgICAgICAgICAgICAgICgweDAwMDEwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgSFNFL1BSRURJViBjbG9jayBzZWxlY3RlZCBhcyBQTEwgZW50cnkgY2xvY2sgc291cmNlICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExYVFBSRV9Qb3MpIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTFhUUFJFX01zayAgICAgICAgIC8qITwgSFNFIGRpdmlkZXIgZm9yIFBMTCBlbnRyeSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9IU0VfUFJFRElWX0RJVjEgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgSFNFL1BSRURJViBjbG9jayBub3QgZGl2aWRlZCBmb3IgUExMIGVudHJ5ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFhUUFJFX0hTRV9QUkVESVZfRElWMiAgICAgICAgKDB4MDAwMjAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBIU0UvUFJFRElWIGNsb2NrIGRpdmlkZWQgYnkgMiBmb3IgUExMIGVudHJ5ICovDQoNCi8qITwgUExMTVVMIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUl9QTExNVUxfUG9zKSAvKiE8IDB4MDAzQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxfTXNrICAgICAgICAgICAvKiE8IFBMTE1VTFszOjBdIGJpdHMgKFBMTCBtdWx0aXBsaWNhdGlvbiBmYWN0b3IpICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTF8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTF8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTF8yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTF8zICAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1JfUExMTVVMX1BvcykgLyohPCAweDAwMjAwMDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoyICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTDMgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUw0ICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMNSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBDMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo1ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTDYgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUw3ICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTQwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjcgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMOCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDE4MDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTDkgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxQzAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqOSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUwxMCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrMTAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMMTEgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDI0MDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUwxMiAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMjgwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjEyICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTDEzICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyQzAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMMTQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDMwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUwxNSAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMzQwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE1ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTDE2ICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzODAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTYgKi8NCg0KLyohPCBVU0IgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9VU0JQUkVfUG9zICAgICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9VU0JQUkVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1VTQlBSRV9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9VU0JQUkUgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1VTQlBSRV9Nc2sgICAgICAgICAgIC8qITwgVVNCIHByZXNjYWxlciAqLw0KDQovKiE8IE1DTyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX01DT19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX01DTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX01zayAgICAgICAgICAgICAgLyohPCBNQ09bMzowXSBiaXRzIChNaWNyb2NvbnRyb2xsZXIgQ2xvY2sgT3V0cHV0KSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMSAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fMiAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX01DT19OT0NMT0NLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNJMTQgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgSFNJMTQgY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fTFNJICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgTFNJIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX0xTRSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMzAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IExTRSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19TWVNDTEsgICAgICAgICAgICAgICAgICAgICAgKDB4MDQwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBTeXN0ZW0gY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNJICAgICAgICAgICAgICAgICAgICAgICAgICgweDA1MDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgSFNJIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX0hTRSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNjAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IEhTRSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fUExMICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3MDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgUExMIGNsb2NrIGRpdmlkZWQgYnkgMiBzZWxlY3RlZCBhcyBNQ08gc291cmNlICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfTUNPUFJFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfTUNPUFJFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBSQ0NfQ0ZHUl9NQ09QUkVfUG9zKSAvKiE8IDB4NzAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPUFJFICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09QUkVfTXNrICAgICAgICAgICAvKiE8IE1DTyBwcmVzY2FsZXIgICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1BSRV9ESVYxICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBNQ08gaXMgZGl2aWRlZCBieSAxICAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWMiAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgMiAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPUFJFX0RJVjQgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IE1DTyBpcyBkaXZpZGVkIGJ5IDQgICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1BSRV9ESVY4ICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBNQ08gaXMgZGl2aWRlZCBieSA4ICAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWMTYgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgMTYgICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1BSRV9ESVYzMiAgICAgICAgICAgICAgICAgICAgKDB4NTAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBNQ08gaXMgZGl2aWRlZCBieSAzMiAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPUFJFX0RJVjY0ICAgICAgICAgICAgICAgICAgICAoMHg2MDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IE1DTyBpcyBkaXZpZGVkIGJ5IDY0ICAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09QUkVfRElWMTI4ICAgICAgICAgICAgICAgICAgICgweDcwMDAwMDAwVSkgICAgICAgICAgICAgICAgIC8qITwgTUNPIGlzIGRpdmlkZWQgYnkgMTI4ICAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTE5PRElWX1BvcyAgICAgICAgICAgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE5PRElWX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUExMTk9ESVZfUG9zKSAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTk9ESVYgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExOT0RJVl9Nc2sgICAgICAgICAvKiE8IFBMTCBpcyBub3QgZGl2aWRlZCB0byBNQ08gICovDQoNCi8qIFJlZmVyZW5jZSBkZWZpbmVzICovDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ08NCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18wDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8xICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMQ0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMiAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzINCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19OT0NMT0NLDQojZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0kxNCAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fSFNJMTQNCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0xTSSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19MU0kNCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0xTRSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19MU0UNCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1NZU0NMSyAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19TWVNDTEsNCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0hTSSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19IU0kNCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX0hTRSAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19IU0UNCiNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1BMTF9ESVYyICAgICAgICAgICAgIFJDQ19DRkdSX01DT19QTEwNCg0KLyohPCoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DSVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZRl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUYgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZRl9Nc2sgICAgICAgICAgIC8qITwgTFNJIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlGX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZRiAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlGX01zayAgICAgICAgICAgLyohPCBMU0UgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUZfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlGICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUZfTXNrICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZRl9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUYgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZRl9Nc2sgICAgICAgICAgIC8qITwgSFNFIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlGX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZRiAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlGX01zayAgICAgICAgICAgLyohPCBQTEwgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0kxNFJEWUZfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0kxNFJEWUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSTE0UkRZRl9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSTE0UkRZRiAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJMTRSRFlGX01zayAgICAgICAgIC8qITwgSFNJMTQgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9DU1NGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0NTU0ZfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NGICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0NTU0ZfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTSVJEWUlFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZSUVfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUlFX01zayAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlJRV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNFUkRZSUVfTXNrICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUlFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNJUkRZSUUgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgLyohPCBIU0kgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTRVJEWUlFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZSUVfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUlFX01zayAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfUG9zICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfUExMUkRZSUVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlJRV9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfUExMUkRZSUVfTXNrICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0kxNFJEWUlFX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0kxNFJEWUlFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSTE0UkRZSUVfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0kxNFJEWUlFICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSTE0UkRZSUVfTXNrICAgICAgICAvKiE8IEhTSTE0IFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTSVJEWUNfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUNfTXNrICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTRVJEWUNfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTRVJEWUNfTXNrICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSVJEWUNfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTSVJEWUNfTXNrICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTRVJEWUNfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUNfTXNrICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX1BMTFJEWUNfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX1BMTFJEWUNfTXNrICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0kxNFJEWUNfUG9zICAgICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0kxNFJEWUNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTSTE0UkRZQ19Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSTE0UkRZQyAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJMTRSRFlDX01zayAgICAgICAgIC8qITwgSFNJMTQgUmVhZHkgSW50ZXJydXB0IENsZWFyICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTQ19Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfQ1NTQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NDX1BvcykgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJDQ19DSVJfQ1NTQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gSW50ZXJydXB0IENsZWFyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BUEIyUlNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NZU0NGR1JTVF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NZU0NGR1JTVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfU1lTQ0ZHUlNUX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TWVNDRkdSU1QgICAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1NZU0NGR1JTVF9Nc2sgICAgLyohPCBTWVNDRkcgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQ1JTVF9Qb3MgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FEQ1JTVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfQURDUlNUX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BRENSU1QgICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0FEQ1JTVF9Nc2sgICAgICAgLyohPCBBREMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1RfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVCAgICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xUlNUX01zayAgICAgIC8qITwgVElNMSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9TUEkxUlNUX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TUEkxUlNUICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1NQSTFSU1RfTXNrICAgICAgLyohPCBTUEkxIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfUG9zICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9VU0FSVDFSU1RfTXNrICAgIC8qITwgVVNBUlQxIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNlJTVF9Qb3MgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNlJTVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTE2UlNUX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9USU0xNlJTVCAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1RJTTE2UlNUX01zayAgICAgLyohPCBUSU0xNiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTdSU1RfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTdSU1RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9USU0xN1JTVF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMTdSU1QgICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xN1JTVF9Nc2sgICAgIC8qITwgVElNMTcgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0RCR01DVVJTVF9Qb3MgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0RCR01DVVJTVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfREJHTUNVUlNUX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9EQkdNQ1VSU1QgICAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0RCR01DVVJTVF9Nc2sgICAgLyohPCBEQkdNQ1UgcmVzZXQgKi8NCg0KLyohPCBPbGQgQURDMSByZXNldCBiaXQgZGVmaW5pdGlvbiBtYWludGFpbmVkIGZvciBsZWdhY3kgcHVycG9zZSAqLw0KI2RlZmluZSAgUkNDX0FQQjJSU1RSX0FEQzFSU1QgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0FEQ1JTVCAgICAgICAgICANCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjFSU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU0zUlNUX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0zUlNUICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTNSU1RfTXNrICAgICAgLyohPCBUaW1lciAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0xNFJTVF9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0xNFJTVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTE0UlNUX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0xNFJTVCAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1RJTTE0UlNUX01zayAgICAgLyohPCBUaW1lciAxNCByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Qb3MgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgLyohPCBXaW5kb3cgV2F0Y2hkb2cgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Qb3MgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1QgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVF9Nc2sgICAgLyohPCBVU0FSVCAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX0kyQzFSU1RfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX0kyQzFSU1QgICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Nc2sgICAgICAvKiE8IEkyQyAxIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0JSU1RfUG9zICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0JSU1RfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1VTQlJTVF9Qb3MpIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVVNCUlNUICAgICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9VU0JSU1RfTXNrICAgICAgIC8qITwgVVNCIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1BXUlJTVF9Qb3MpIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfUFdSUlNUICAgICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgIC8qITwgUFdSIHJlc2V0ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUFFTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0RNQUVOX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BSEJFTlJfRE1BRU4gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9ETUFFTl9Nc2sgICAgICAgICAgLyohPCBETUExIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX1NSQU1FTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfU1JBTUVOX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BSEJFTlJfU1JBTUVOICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9TUkFNRU5fTXNrICAgICAgICAgLyohPCBTUkFNIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9GTElURkVOICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAvKiE8IEZMSVRGIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfQ1JDRU5fUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9DUkNFTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAvKiE8IENSQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPQUVOX1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPQUVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0dQSU9BRU5fUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPQUVOICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0dQSU9BRU5fTXNrICAgICAgICAvKiE8IEdQSU9BIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9CRU5fUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9CRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfR1BJT0JFTl9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9CRU4gICAgICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfR1BJT0JFTl9Nc2sgICAgICAgIC8qITwgR1BJT0IgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0NFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0NFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9HUElPQ0VOX1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19BSEJFTlJfR1BJT0NFTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9HUElPQ0VOX01zayAgICAgICAgLyohPCBHUElPQyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPREVOX1BvcyAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPREVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0dQSU9ERU5fUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9HUElPREVOICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0dQSU9ERU5fTXNrICAgICAgICAvKiE8IEdQSU9EIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9GRU5fUG9zICAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9GRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfR1BJT0ZFTl9Qb3MpIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0dQSU9GRU4gICAgICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfR1BJT0ZFTl9Nc2sgICAgICAgIC8qITwgR1BJT0YgY2xvY2sgZW5hYmxlICovDQoNCi8qIE9sZCBCaXQgZGVmaW5pdGlvbiBtYWludGFpbmVkIGZvciBsZWdhY3kgcHVycG9zZSAqLw0KI2RlZmluZSAgUkNDX0FIQkVOUl9ETUExRU4gICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9ETUFFTiAgICAgICAgLyohPCBETUExIGNsb2NrIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NZU0NGR0NPTVBFTl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NZU0NGR0NPTVBFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfU1lTQ0ZHQ09NUEVOX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1NZU0NGR0NPTVBFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfU1lTQ0ZHQ09NUEVOX01zayAgLyohPCBTWVNDRkcgYW5kIGNvbXBhcmF0b3IgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FEQ0VOX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfQURDRU5fUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQURDRU4gICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9BRENFTl9Nc2sgICAgICAgICAvKiE8IEFEQzEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTFFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTFFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfVElNMUVOX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTFFTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVElNMUVOX01zayAgICAgICAgLyohPCBUSU0xIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9TUEkxRU5fUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9TUEkxRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1NQSTFFTl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9TUEkxRU4gICAgICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1NQSTFFTl9Nc2sgICAgICAgIC8qITwgU1BJMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfVVNBUlQxRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTiAgICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX1VTQVJUMUVOX01zayAgICAgIC8qITwgVVNBUlQxIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNkVOX1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xNkVOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTE2RU5fUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTZFTiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9USU0xNkVOX01zayAgICAgICAvKiE8IFRJTTE2IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xN0VOX1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9USU0xN0VOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX1RJTTE3RU5fUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfVElNMTdFTiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9USU0xN0VOX01zayAgICAgICAvKiE8IFRJTTE3IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9EQkdNQ1VFTl9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9EQkdNQ1VFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0RCR01DVUVOX1BvcykgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0RCR01DVUVOICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfREJHTUNVRU5fTXNrICAgICAgLyohPCBEQkdNQ1UgY2xvY2sgZW5hYmxlICovDQoNCi8qIE9sZCBCaXQgZGVmaW5pdGlvbiBtYWludGFpbmVkIGZvciBsZWdhY3kgcHVycG9zZSAqLw0KI2RlZmluZSAgUkNDX0FQQjJFTlJfU1lTQ0ZHRU4gICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfU1lTQ0ZHQ09NUEVOICAgICAgICAvKiE8IFNZU0NGRyBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgIFJDQ19BUEIyRU5SX0FEQzFFTiAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0FEQ0VOICAgICAgICAgICAgICAgLyohPCBBREMxIGNsb2NrIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMUVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVElNM0VOX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVElNM0VOX01zayAgICAgICAgLyohPCBUaW1lciAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0xNEVOX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9USU0xNEVOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTE0RU5fUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNMTRFTiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0xNEVOX01zayAgICAgICAvKiE8IFRpbWVyIDE0IGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU5fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1dXREdFTl9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU4gICAgICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1dXREdFTl9Nc2sgICAgICAgIC8qITwgV2luZG93IFdhdGNoZG9nIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1VTQVJUMkVOX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQVJUMkVOICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNBUlQyRU5fTXNrICAgICAgLyohPCBVU0FSVDIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfSTJDMUVOX1BvcykgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfSTJDMUVOX01zayAgICAgICAgLyohPCBJMkMxIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0JFTl9Qb3MgICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0JFTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1VTQkVOX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1VTQkVOICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfVVNCRU5fTXNrICAgICAgICAgLyohPCBVU0IgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX1BvcyAgICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1BXUkVOX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfUFdSRU5fUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfUFdSRU4gICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAvKiE8IFBXUiBjbG9jayBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQkRDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRU9OX1BvcykgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTiAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRU9OX01zayAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgZW5hYmxlICovDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFUkRZX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWSAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfTFNFUkRZX01zayAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBSZWFkeSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVBfUG9zICAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVBfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX0xTRUJZUF9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX0xTRUJZUF9Nc2sgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgQnlwYXNzICovDQoNCiNkZWZpbmUgUkNDX0JEQ1JfTFNFRFJWX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfTFNFRFJWX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQkRDUl9MU0VEUlZfUG9zKSAvKiE8IDB4MDAwMDAwMTggKi8NCiNkZWZpbmUgUkNDX0JEQ1JfTFNFRFJWICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VEUlZfTXNrICAgICAgICAgICAvKiE8IExTRURSVlsxOjBdIGJpdHMgKExTRSBPc2MuIGRyaXZlIGNhcGFiaWxpdHkpICovDQojZGVmaW5lIFJDQ19CRENSX0xTRURSVl8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFRFJWX1BvcykgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19CRENSX0xTRURSVl8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0JEQ1JfTFNFRFJWX1BvcykgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9SVENTRUxfTXNrICAgICAgICAgICAvKiE8IFJUQ1NFTFsxOjBdIGJpdHMgKFJUQyBjbG9jayBzb3VyY2Ugc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KDQovKiE8IFJUQyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9OT0NMT0NLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNFICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgIC8qITwgTFNFIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTSSAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMFUpICAgICAgICAgICAgICAgICAvKiE8IExTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9IU0UgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzMDBVKSAgICAgICAgICAgICAgICAgLyohPCBIU0Ugb3NjaWxsYXRvciBjbG9jayBkaXZpZGVkIGJ5IDEyOCB1c2VkIGFzIFJUQyBjbG9jayAqLw0KDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfUlRDRU5fUG9zKSAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfUlRDRU5fTXNrICAgICAgICAgICAgLyohPCBSVEMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfQkRSU1RfUG9zKSAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfQkRSU1RfTXNrICAgICAgICAgICAgLyohPCBCYWNrdXAgZG9tYWluIHNvZnR3YXJlIHJlc2V0ICAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19DU1JfTFNJT05fUG9zICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNJT05fTXNrICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9MU0lPTl9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DU1JfTFNJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MU0lPTl9Nc2sgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xTSVJEWV9Qb3MpICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFkgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xTSVJEWV9Nc2sgICAgICAgICAgICAvKiE8IEludGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIFJlYWR5ICovDQojZGVmaW5lIFJDQ19DU1JfVjE4UFdSUlNURl9Qb3MgICAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfVjE4UFdSUlNURl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9WMThQV1JSU1RGX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfVjE4UFdSUlNURiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9WMThQV1JSU1RGX01zayAgICAgICAgLyohPCBWMS44IHBvd2VyIGRvbWFpbiByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfUk1WRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUk1WRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9STVZGX1BvcykgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUk1WRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9STVZGX01zayAgICAgICAgICAgICAgLyohPCBSZW1vdmUgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX09CTFJTVEZfUG9zICAgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX09CTFJTVEZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfT0JMUlNURl9Qb3MpIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX09CTFJTVEYgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfT0JMUlNURl9Nc2sgICAgICAgICAgIC8qITwgT0JMIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1BJTlJTVEZfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9QSU5SU1RGICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAvKiE8IFBJTiByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9QT1JSU1RGX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUE9SUlNURiAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgLyohPCBQT1IvUERSIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1NGVFJTVEZfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9TRlRSU1RGICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAvKiE8IFNvZnR3YXJlIFJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9JV0RHUlNURl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0lXREdSU1RGX1BvcykgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfSVdER1JTVEYgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9JV0RHUlNURl9Nc2sgICAgICAgICAgLyohPCBJbmRlcGVuZGVudCBXYXRjaGRvZyByZXNldCBmbGFnICovDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfUG9zICAgICAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfV1dER1JTVEZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9XV0RHUlNURl9Qb3MpIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfV1dER1JTVEZfTXNrICAgICAgICAgIC8qITwgV2luZG93IHdhdGNoZG9nIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMzFVKSAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xQV1JSU1RGX1BvcykgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfTFBXUlJTVEYgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgLyohPCBMb3ctUG93ZXIgcmVzZXQgZmxhZyAqLw0KDQovKiBPbGQgQml0IGRlZmluaXRpb24gbWFpbnRhaW5lZCBmb3IgbGVnYWN5IHB1cnBvc2UgKi8NCiNkZWZpbmUgIFJDQ19DU1JfT0JMICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfT0JMUlNURiAgICAgICAgLyohPCBPQkwgcmVzZXQgZmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19BSEJSU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9BUlNUX1BvcyAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9BUlNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQlJTVFJfR1BJT0FSU1RfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0FSU1QgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9HUElPQVJTVF9Nc2sgICAgICAvKiE8IEdQSU9BIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9CUlNUX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9CUlNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQlJTVFJfR1BJT0JSU1RfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0JSU1QgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9HUElPQlJTVF9Nc2sgICAgICAvKiE8IEdQSU9CIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9DUlNUX1BvcyAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9DUlNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQlJTVFJfR1BJT0NSU1RfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0NSU1QgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9HUElPQ1JTVF9Nc2sgICAgICAvKiE8IEdQSU9DIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9EUlNUX1BvcyAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9EUlNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQlJTVFJfR1BJT0RSU1RfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0RSU1QgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9HUElPRFJTVF9Nc2sgICAgICAvKiE8IEdQSU9EIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9GUlNUX1BvcyAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJSU1RSX0dQSU9GUlNUX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQlJTVFJfR1BJT0ZSU1RfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FIQlJTVFJfR1BJT0ZSU1QgICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCUlNUUl9HUElPRlJTVF9Nc2sgICAgICAvKiE8IEdQSU9GIHJlc2V0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCi8qITwgUFJFRElWIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBSQ0NfQ0ZHUjJfUFJFRElWX1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVYgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1IyX1BSRURJVl9Nc2sgICAgICAgICAgLyohPCBQUkVESVZbMzowXSBiaXRzICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVZfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1IyX1BSRURJVl9Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSMl9QUkVESVZfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl8yICAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSQ0NfQ0ZHUjJfUFJFRElWX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVZfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1IyX1BSRURJVl9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVZfRElWMSAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQUkVESVYgaW5wdXQgY2xvY2sgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVYyICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVYzICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDMgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVY0ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwM1UpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVY1ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDUgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVY2ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNVUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDYgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVY3ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNlUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDcgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVY4ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwN1UpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVY5ICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDkgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVYxMCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOVUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDEwICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVZfRElWMTEgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEFVKSAgICAgICAgICAgICAgICAgLyohPCBQUkVESVYgaW5wdXQgY2xvY2sgZGl2aWRlZCBieSAxMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWX0RJVjEyICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBCVSkgICAgICAgICAgICAgICAgIC8qITwgUFJFRElWIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTIgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVYxMyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwQ1UpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDEzICovDQojZGVmaW5lIFJDQ19DRkdSMl9QUkVESVZfRElWMTQgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMERVKSAgICAgICAgICAgICAgICAgLyohPCBQUkVESVYgaW5wdXQgY2xvY2sgZGl2aWRlZCBieSAxNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjJfUFJFRElWX0RJVjE1ICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBFVSkgICAgICAgICAgICAgICAgIC8qITwgUFJFRElWIGlucHV0IGNsb2NrIGRpdmlkZWQgYnkgMTUgKi8NCiNkZWZpbmUgUkNDX0NGR1IyX1BSRURJVl9ESVYxNiAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRlUpICAgICAgICAgICAgICAgICAvKiE8IFBSRURJViBpbnB1dCBjbG9jayBkaXZpZGVkIGJ5IDE2ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCi8qITwgVVNBUlQxIENsb2NrIHNvdXJjZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1IzX1VTQVJUMVNXX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IzX1VTQVJUMVNXX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUjNfVVNBUlQxU1dfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgUkNDX0NGR1IzX1VTQVJUMVNXICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUjNfVVNBUlQxU1dfTXNrICAgICAgICAvKiE8IFVTQVJUMVNXWzE6MF0gYml0cyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjNfVVNBUlQxU1dfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSM19VU0FSVDFTV19Qb3MpIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjNfVVNBUlQxU1dfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSM19VU0FSVDFTV19Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFJDQ19DRkdSM19VU0FSVDFTV19QQ0xLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgLyohPCBQQ0xLIGNsb2NrIHVzZWQgYXMgVVNBUlQxIGNsb2NrIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjNfVVNBUlQxU1dfU1lTQ0xLICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIGNsb2NrIHNlbGVjdGVkIGFzIFVTQVJUMSBjbG9jayBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1IzX1VTQVJUMVNXX0xTRSAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAvKiE8IExTRSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgVVNBUlQxIGNsb2NrIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjNfVVNBUlQxU1dfSFNJICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzVSkgICAgICAgICAgICAgICAgIC8qITwgSFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBVU0FSVDEgY2xvY2sgc291cmNlICovDQoNCi8qITwgSTJDMSBDbG9jayBzb3VyY2Ugc2VsZWN0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSM19JMkMxU1dfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSM19JMkMxU1dfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1IzX0kyQzFTV19Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjNfSTJDMVNXICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSM19JMkMxU1dfTXNrICAgICAgICAgIC8qITwgSTJDMVNXIGJpdHMgKi8gDQoNCiNkZWZpbmUgUkNDX0NGR1IzX0kyQzFTV19IU0kgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAvKiE8IEhTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgSTJDMSBjbG9jayBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1IzX0kyQzFTV19TWVNDTEtfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IzX0kyQzFTV19TWVNDTEtfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUjNfSTJDMVNXX1NZU0NMS19Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUjNfSTJDMVNXX1NZU0NMSyAgICAgICAgICAgICAgICAgIFJDQ19DRkdSM19JMkMxU1dfU1lTQ0xLX01zayAgIC8qITwgU3lzdGVtIGNsb2NrIHNlbGVjdGVkIGFzIEkyQzEgY2xvY2sgc291cmNlICovDQoNCi8qITwgVVNCIENsb2NrIHNvdXJjZSBzZWxlY3Rpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1IzX1VTQlNXX1BvcyAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1IzX1VTQlNXX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUjNfVVNCU1dfUG9zKSAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0NGR1IzX1VTQlNXICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUjNfVVNCU1dfTXNrICAgICAgICAgICAvKiE8IFVTQlNXIGJpdHMgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUjNfVVNCU1dfUExMQ0xLX1BvcyAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUjNfVVNCU1dfUExMQ0xLX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSM19VU0JTV19QTExDTEtfUG9zKSAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUkNDX0NGR1IzX1VTQlNXX1BMTENMSyAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUjNfVVNCU1dfUExMQ0xLX01zayAgICAvKiE8IFBMTENMSyBzZWxlY3RlZCBhcyBVU0IgY2xvY2sgc291cmNlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NSMl9IU0kxNE9OX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSMl9IU0kxNE9OX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1IyX0hTSTE0T05fUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NSMl9IU0kxNE9OICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1IyX0hTSTE0T05fTXNrICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgMTRNSHogY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRSRFlfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRSRFlfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSMl9IU0kxNFJEWV9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSQ0NfQ1IyX0hTSTE0UkRZICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUjJfSFNJMTRSRFlfTXNrICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCAxNE1IeiBjbG9jayByZWFkeSBmbGFnICovDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRESVNfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRESVNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NSMl9IU0kxNERJU19Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQ1IyX0hTSTE0RElTICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUjJfSFNJMTRESVNfTXNrICAgICAgICAgIC8qITwgSW50ZXJuYWwgSGlnaCBTcGVlZCAxNE1IeiBjbG9jayBkaXNhYmxlICovDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRUUklNX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRUUklNX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IFJDQ19DUjJfSFNJMTRUUklNX1BvcykgLyohPCAweDAwMDAwMEY4ICovDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRUUklNICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NSMl9IU0kxNFRSSU1fTXNrICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIDE0TUh6IGNsb2NrIHRyaW1taW5nICovDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRDQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUjJfSFNJMTRDQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFJDQ19DUjJfSFNJMTRDQUxfUG9zKSAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgUkNDX0NSMl9IU0kxNENBTCAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1IyX0hTSTE0Q0FMX01zayAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgMTRNSHogY2xvY2sgQ2FsaWJyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFsLVRpbWUgQ2xvY2sgKFJUQykgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoNCiogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zICAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjAgc2VyaWUpDQoqLw0KI2RlZmluZSBSVENfVEFNUEVSMV9TVVBQT1JUICAvKiE8IFRBTVBFUiAxIGZlYXR1cmUgc3VwcG9ydCAqLw0KI2RlZmluZSBSVENfVEFNUEVSMl9TVVBQT1JUICAvKiE8IFRBTVBFUiAyIGZlYXR1cmUgc3VwcG9ydCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgUlRDX1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19UUl9QTV9Qb3MgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9QTV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX1RSX1BNX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9QTSAgICAgICAgICAgICAgICAgICAgUlRDX1RSX1BNX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVF9Qb3MgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgUlRDX1RSX0hUX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVCAgICAgICAgICAgICAgICAgICAgUlRDX1RSX0hUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVF8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX1RSX0hUX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVF8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX1RSX0hUX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV9Qb3MgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVV9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX1RSX0hVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVSAgICAgICAgICAgICAgICAgICAgUlRDX1RSX0hVX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9IVV8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX1RSX0hVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX1RSX0hVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV8yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX1RSX0hVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19UUl9IVV8zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUlRDX1RSX0hVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlRfUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlRfTXNrICAgICAgICAgICAgICAgKDB4N1UgPDwgUlRDX1RSX01OVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlQgICAgICAgICAgICAgICAgICAgUlRDX1RSX01OVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlRfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX1RSX01OVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlRfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX1RSX01OVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlRfMiAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX1RSX01OVF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlVfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX1RSX01OVV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19UUl9NTlUgICAgICAgICAgICAgICAgICAgUlRDX1RSX01OVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9NTlVfMCAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX1RSX01OVV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX1RSX01OVV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfMiAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX1RSX01OVV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19UUl9NTlVfMyAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUlRDX1RSX01OVV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19UUl9TVF9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVF9Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgUlRDX1RSX1NUX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFJUQ19UUl9TVCAgICAgICAgICAgICAgICAgICAgUlRDX1RSX1NUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVF8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX1RSX1NUX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19UUl9TVF8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX1RSX1NUX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19UUl9TVF8yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX1RSX1NUX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJUQ19UUl9TVV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVV9Nc2sgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX1RSX1NVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19UUl9TVSAgICAgICAgICAgICAgICAgICAgUlRDX1RSX1NVX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UUl9TVV8wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX1RSX1NVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19UUl9TVV8xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX1RSX1NVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19UUl9TVV8yICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX1RSX1NVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19UUl9TVV8zICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUlRDX1RSX1NVX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0RSX1lUX1BvcyAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX1lUX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDBGMDAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lUICAgICAgICAgICAgICAgICAgICBSVENfRFJfWVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX1lUXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lUXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lUXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lUXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfWVRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lVX1BvcyAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX1lVX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwRjAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lVICAgICAgICAgICAgICAgICAgICBSVENfRFJfWVVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX1lVXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lVXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lVXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1lVXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfWVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1dEVV9Qb3MgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX1dEVV9Nc2sgICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMEUwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1dEVSAgICAgICAgICAgICAgICAgICBSVENfRFJfV0RVX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX1dEVV8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1dEVV8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX1dEVV8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfV0RVX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX01UX1BvcyAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX01UX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfTVRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUlRDX0RSX01UICAgICAgICAgICAgICAgICAgICBSVENfRFJfTVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX01VX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX01VX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgUlRDX0RSX01VICAgICAgICAgICAgICAgICAgICBSVENfRFJfTVVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX01VXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUlRDX0RSX01VXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUlRDX0RSX01VXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUlRDX0RSX01VXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfTVVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUlRDX0RSX0RUX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX0RUX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfRFJfRFRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgUlRDX0RSX0RUICAgICAgICAgICAgICAgICAgICBSVENfRFJfRFRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX0RUXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfRFRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX0RSX0RUXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfRFRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX0RSX0RVX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX0RVX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX0RSX0RVICAgICAgICAgICAgICAgICAgICBSVENfRFJfRFVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0RSX0RVXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0RSX0RVXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX0RSX0RVXzIgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX0RSX0RVXzMgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfRFJfRFVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIFJUQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ1JfQ09FX1BvcyAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQ09FX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9DT0VfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfQ09FICAgICAgICAgICAgICAgICAgIFJUQ19DUl9DT0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfT1NFTF9Qb3MgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfT1NFTF9Nc2sgICAgICAgICAgICAgICgweDNVIDw8IFJUQ19DUl9PU0VMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDYwMDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfT1NFTCAgICAgICAgICAgICAgICAgIFJUQ19DUl9PU0VMX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfT1NFTF8wICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9PU0VMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfT1NFTF8xICAgICAgICAgICAgICAgICgweDJVIDw8IFJUQ19DUl9PU0VMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfUE9MX1BvcyAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfUE9MX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9QT0xfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfUE9MICAgICAgICAgICAgICAgICAgIFJUQ19DUl9QT0xfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQ09TRUxfUG9zICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQ09TRUxfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9DT1NFTF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfQ09TRUwgICAgICAgICAgICAgICAgIFJUQ19DUl9DT1NFTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQktQX1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQktQX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9CS1BfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfQktQICAgICAgICAgICAgICAgICAgIFJUQ19DUl9CS1BfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfU1VCMUhfUG9zICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfU1VCMUhfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9TVUIxSF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfU1VCMUggICAgICAgICAgICAgICAgIFJUQ19DUl9TVUIxSF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQUREMUhfUG9zICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQUREMUhfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9BREQxSF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBSVENfQ1JfQUREMUggICAgICAgICAgICAgICAgIFJUQ19DUl9BREQxSF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfVFNJRV9Qb3MgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfVFNJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9UU0lFX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBSVENfQ1JfVFNJRSAgICAgICAgICAgICAgICAgIFJUQ19DUl9UU0lFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQUxSQUlFX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQUxSQUlFX01zayAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9BTFJBSUVfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSVENfQ1JfQUxSQUlFICAgICAgICAgICAgICAgIFJUQ19DUl9BTFJBSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfVFNFX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfVFNFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9UU0VfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSVENfQ1JfVFNFICAgICAgICAgICAgICAgICAgIFJUQ19DUl9UU0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQUxSQUVfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQUxSQUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9BTFJBRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSVENfQ1JfQUxSQUUgICAgICAgICAgICAgICAgIFJUQ19DUl9BTFJBRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfRk1UX1BvcyAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfRk1UX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9GTVRfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSVENfQ1JfRk1UICAgICAgICAgICAgICAgICAgIFJUQ19DUl9GTVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQllQU0hBRF9Qb3MgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfQllQU0hBRF9Nc2sgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9CWVBTSEFEX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSVENfQ1JfQllQU0hBRCAgICAgICAgICAgICAgIFJUQ19DUl9CWVBTSEFEX01zayAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfUkVGQ0tPTl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfUkVGQ0tPTl9Nc2sgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9SRUZDS09OX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSVENfQ1JfUkVGQ0tPTiAgICAgICAgICAgICAgIFJUQ19DUl9SRUZDS09OX01zayAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfVFNFREdFX1BvcyAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JfVFNFREdFX01zayAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUl9UU0VER0VfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSVENfQ1JfVFNFREdFICAgICAgICAgICAgICAgIFJUQ19DUl9UU0VER0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSBSVENfQ1JfQkNLX1BvcyAgICAgICAgICAgICAgIFJUQ19DUl9CS1BfUG9zDQojZGVmaW5lIFJUQ19DUl9CQ0tfTXNrICAgICAgICAgICAgICAgUlRDX0NSX0JLUF9Nc2sNCiNkZWZpbmUgUlRDX0NSX0JDSyAgICAgICAgICAgICAgICAgICBSVENfQ1JfQktQDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfSVNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0lTUl9SRUNBTFBGX1BvcyAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9SRUNBTFBGX01zayAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX1JFQ0FMUEZfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9SRUNBTFBGICAgICAgICAgICAgICBSVENfSVNSX1JFQ0FMUEZfTXNrICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UQU1QMkZfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UQU1QMkZfTXNrICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX1RBTVAyRl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9UQU1QMkYgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAyRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UQU1QMUZfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UQU1QMUZfTXNrICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX1RBTVAxRl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9UQU1QMUYgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAxRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU09WRl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU09WRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX1RTT1ZGX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9UU09WRiAgICAgICAgICAgICAgICBSVENfSVNSX1RTT1ZGX01zayAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU0ZfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9UU0ZfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX1RTRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9UU0YgICAgICAgICAgICAgICAgICBSVENfSVNSX1RTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBRl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX0FMUkFGX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9BTFJBRiAgICAgICAgICAgICAgICBSVENfSVNSX0FMUkFGX01zayAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUX1BvcyAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX0lOSVRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUlRDX0lTUl9JTklUICAgICAgICAgICAgICAgICBSVENfSVNSX0lOSVRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklURl9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklURl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX0lOSVRGX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUlRDX0lTUl9JTklURiAgICAgICAgICAgICAgICBSVENfSVNSX0lOSVRGX01zayAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9SU0ZfUG9zICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9SU0ZfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX1JTRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX0lTUl9SU0YgICAgICAgICAgICAgICAgICBSVENfSVNSX1JTRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUU19Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9JTklUU19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX0lOSVRTX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX0lTUl9JTklUUyAgICAgICAgICAgICAgICBSVENfSVNSX0lOSVRTX01zayAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9TSFBGX1BvcyAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9TSFBGX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX1NIUEZfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUlRDX0lTUl9TSFBGICAgICAgICAgICAgICAgICBSVENfSVNSX1NIUEZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBV0ZfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0lTUl9BTFJBV0ZfTXNrICAgICAgICAgICAoMHgxVSA8PCBSVENfSVNSX0FMUkFXRl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0lTUl9BTFJBV0YgICAgICAgICAgICAgICBSVENfSVNSX0FMUkFXRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICANCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIFJUQ19QUkVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfUFJFUl9QUkVESVZfQV9Qb3MgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfUFJFUl9QUkVESVZfQV9Nc2sgICAgICAgICgweDdGVSA8PCBSVENfUFJFUl9QUkVESVZfQV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDdGMDAwMCAqLw0KI2RlZmluZSBSVENfUFJFUl9QUkVESVZfQSAgICAgICAgICAgIFJUQ19QUkVSX1BSRURJVl9BX01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfUFJFUl9QUkVESVZfU19Qb3MgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfUFJFUl9QUkVESVZfU19Nc2sgICAgICAgICgweDdGRkZVIDw8IFJUQ19QUkVSX1BSRURJVl9TX1BvcykgICAgICAgIC8qITwgMHgwMDAwN0ZGRiAqLw0KI2RlZmluZSBSVENfUFJFUl9QUkVESVZfUyAgICAgICAgICAgIFJUQ19QUkVSX1BSRURJVl9TX01zayAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUk1BUiByZWdpc3RlciAgKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLNF9Qb3MgICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLNF9Nc2sgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9NU0s0X1BvcykgICAgICAgICAgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLNCAgICAgICAgICAgICAgUlRDX0FMUk1BUl9NU0s0X01zayAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfV0RTRUxfUG9zICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfV0RTRUxfTXNrICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9XRFNFTF9Qb3MpICAgICAgICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfV0RTRUwgICAgICAgICAgICAgUlRDX0FMUk1BUl9XRFNFTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfUG9zICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfTXNrICAgICAgICAgICAgKDB4M1UgPDwgUlRDX0FMUk1BUl9EVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFQgICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9EVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfMCAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9EVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFRfMSAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9EVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfUG9zICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfTXNrICAgICAgICAgICAgKDB4RlUgPDwgUlRDX0FMUk1BUl9EVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFUgICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9EVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMCAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9EVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMSAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9EVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMiAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX0FMUk1BUl9EVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfRFVfMyAgICAgICAgICAgICAgKDB4OFUgPDwgUlRDX0FMUk1BUl9EVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLM19Qb3MgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLM19Nc2sgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9NU0szX1BvcykgICAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMyAgICAgICAgICAgICAgUlRDX0FMUk1BUl9NU0szX01zayAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfUE1fUG9zICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfUE1fTXNrICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9QTV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfUE0gICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9QTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfUG9zICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfTXNrICAgICAgICAgICAgKDB4M1UgPDwgUlRDX0FMUk1BUl9IVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFQgICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfMCAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9IVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFRfMSAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9IVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfUG9zICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfTXNrICAgICAgICAgICAgKDB4RlUgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMEYwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFUgICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9IVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMCAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMSAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMiAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfSFVfMyAgICAgICAgICAgICAgKDB4OFUgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMl9Qb3MgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMl9Nc2sgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9NU0syX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMiAgICAgICAgICAgICAgUlRDX0FMUk1BUl9NU0syX01zayAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UX1BvcyAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UX01zayAgICAgICAgICAgKDB4N1UgPDwgUlRDX0FMUk1BUl9NTlRfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9NTlRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9NTlRfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzEgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9NTlRfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzIgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX0FMUk1BUl9NTlRfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VX01zayAgICAgICAgICAgKDB4RlUgPDwgUlRDX0FMUk1BUl9NTlVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9NTlVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9NTlVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzEgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9NTlVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzIgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX0FMUk1BUl9NTlVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzMgICAgICAgICAgICAgKDB4OFUgPDwgUlRDX0FMUk1BUl9NTlVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMV9Qb3MgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMV9Nc2sgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9NU0sxX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfTVNLMSAgICAgICAgICAgICAgUlRDX0FMUk1BUl9NU0sxX01zayAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfTXNrICAgICAgICAgICAgKDB4N1UgPDwgUlRDX0FMUk1BUl9TVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1QgICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9TVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfMCAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9TVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfMSAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9TVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1RfMiAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX0FMUk1BUl9TVF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfTXNrICAgICAgICAgICAgKDB4RlUgPDwgUlRDX0FMUk1BUl9TVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1UgICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9TVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMCAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BUl9TVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMSAgICAgICAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BUl9TVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMiAgICAgICAgICAgICAgKDB4NFUgPDwgUlRDX0FMUk1BUl9TVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19BTFJNQVJfU1VfMyAgICAgICAgICAgICAgKDB4OFUgPDwgUlRDX0FMUk1BUl9TVV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfV1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1dQUl9LRVlfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1dQUl9LRVlfTXNrICAgICAgICAgICAgICAoMHhGRlUgPDwgUlRDX1dQUl9LRVlfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgUlRDX1dQUl9LRVkgICAgICAgICAgICAgICAgICBSVENfV1BSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIFJUQ19TU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfU1NSX1NTX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfU1NSX1NTX01zayAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19TU1JfU1NfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfU1NSX1NTICAgICAgICAgICAgICAgICAgIFJUQ19TU1JfU1NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgUlRDX1NISUZUUiByZWdpc3RlciAgKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19TSElGVFJfU1VCRlNfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19TSElGVFJfU1VCRlNfTXNrICAgICAgICAgKDB4N0ZGRlUgPDwgUlRDX1NISUZUUl9TVUJGU19Qb3MpICAgICAgICAgLyohPCAweDAwMDA3RkZGICovDQojZGVmaW5lIFJUQ19TSElGVFJfU1VCRlMgICAgICAgICAgICAgUlRDX1NISUZUUl9TVUJGU19Nc2sgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19TSElGVFJfQUREMVNfUG9zICAgICAgICAgKDMxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19TSElGVFJfQUREMVNfTXNrICAgICAgICAgKDB4MVUgPDwgUlRDX1NISUZUUl9BREQxU19Qb3MpICAgICAgICAgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIFJUQ19TSElGVFJfQUREMVMgICAgICAgICAgICAgUlRDX1NISUZUUl9BREQxU19Nc2sgICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVFNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1RTVFJfUE1fUG9zICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfUE1fTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9QTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfUE0gICAgICAgICAgICAgICAgICBSVENfVFNUUl9QTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfSFRfUG9zICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfSFRfTXNrICAgICAgICAgICAgICAoMHgzVSA8PCBSVENfVFNUUl9IVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAzMDAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfSFQgICAgICAgICAgICAgICAgICBSVENfVFNUUl9IVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfSFRfMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9IVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfSFRfMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9IVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfSFVfUG9zICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfSFVfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwRjAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfSFUgICAgICAgICAgICAgICAgICBSVENfVFNUUl9IVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfSFVfMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfSFVfMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfSFVfMiAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfSFVfMyAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNUUl9IVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5UX1BvcyAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfTU5UX01zayAgICAgICAgICAgICAoMHg3VSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5UICAgICAgICAgICAgICAgICBSVENfVFNUUl9NTlRfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfTU5UXzAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5UXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5UXzIgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9NTlRfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5VX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfTU5VX01zayAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5VICAgICAgICAgICAgICAgICBSVENfVFNUUl9NTlVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfTU5VXzAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5VXzEgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5VXzIgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfTU5VXzMgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNUUl9NTlVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1RfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfU1RfTXNrICAgICAgICAgICAgICAoMHg3VSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1QgICAgICAgICAgICAgICAgICBSVENfVFNUUl9TVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfU1RfMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1RfMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1RfMiAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9TVF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1VfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfU1VfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1UgICAgICAgICAgICAgICAgICBSVENfVFNUUl9TVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1RTVFJfU1VfMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1VfMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1VfMiAgICAgICAgICAgICAgICAoMHg0VSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX1RTVFJfU1VfMyAgICAgICAgICAgICAgICAoMHg4VSA8PCBSVENfVFNUUl9TVV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIFJUQ19UU0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfVFNEUl9XRFVfUG9zICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9XRFVfTXNrICAgICAgICAgICAgICgweDdVIDw8IFJUQ19UU0RSX1dEVV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRTAwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9XRFUgICAgICAgICAgICAgICAgIFJUQ19UU0RSX1dEVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9XRFVfMCAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19UU0RSX1dEVV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9XRFVfMSAgICAgICAgICAgICAgICgweDJVIDw8IFJUQ19UU0RSX1dEVV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9XRFVfMiAgICAgICAgICAgICAgICgweDRVIDw8IFJUQ19UU0RSX1dEVV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9NVF9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9NVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19UU0RSX01UX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9NVCAgICAgICAgICAgICAgICAgIFJUQ19UU0RSX01UX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9NVV9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9NVV9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IFJUQ19UU0RSX01VX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9NVSAgICAgICAgICAgICAgICAgIFJUQ19UU0RSX01VX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9NVV8wICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19UU0RSX01VX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9NVV8xICAgICAgICAgICAgICAgICgweDJVIDw8IFJUQ19UU0RSX01VX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9NVV8yICAgICAgICAgICAgICAgICgweDRVIDw8IFJUQ19UU0RSX01VX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9NVV8zICAgICAgICAgICAgICAgICgweDhVIDw8IFJUQ19UU0RSX01VX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSVENfVFNEUl9EVF9Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9EVF9Nc2sgICAgICAgICAgICAgICgweDNVIDw8IFJUQ19UU0RSX0RUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBSVENfVFNEUl9EVCAgICAgICAgICAgICAgICAgIFJUQ19UU0RSX0RUX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9EVF8wICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19UU0RSX0RUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSVENfVFNEUl9EVF8xICAgICAgICAgICAgICAgICgweDJVIDw8IFJUQ19UU0RSX0RUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSVENfVFNEUl9EVV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9EVV9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IFJUQ19UU0RSX0RVX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSVENfVFNEUl9EVSAgICAgICAgICAgICAgICAgIFJUQ19UU0RSX0RVX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVFNEUl9EVV8wICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19UU0RSX0RVX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSVENfVFNEUl9EVV8xICAgICAgICAgICAgICAgICgweDJVIDw8IFJUQ19UU0RSX0RVX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSVENfVFNEUl9EVV8yICAgICAgICAgICAgICAgICgweDRVIDw8IFJUQ19UU0RSX0RVX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSVENfVFNEUl9EVV8zICAgICAgICAgICAgICAgICgweDhVIDw8IFJUQ19UU0RSX0RVX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgUlRDX1RTU1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19UU1NTUl9TU19Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19UU1NTUl9TU19Nc2sgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX1RTU1NSX1NTX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19UU1NTUl9TUyAgICAgICAgICAgICAgICAgUlRDX1RTU1NSX1NTX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQ0FMUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMUF9Qb3MgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMUF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ0FMUl9DQUxQX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMUCAgICAgICAgICAgICAgICBSVENfQ0FMUl9DQUxQX01zayAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMVzhfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMVzhfTXNrICAgICAgICAgICAoMHgxVSA8PCBSVENfQ0FMUl9DQUxXOF9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMVzggICAgICAgICAgICAgICBSVENfQ0FMUl9DQUxXOF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMVzE2X1BvcyAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMVzE2X01zayAgICAgICAgICAoMHgxVSA8PCBSVENfQ0FMUl9DQUxXMTZfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMVzE2ICAgICAgICAgICAgICBSVENfQ0FMUl9DQUxXMTZfTXNrICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV9Nc2sgICAgICAgICAgICAoMHgxRkZVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxRkYgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTSAgICAgICAgICAgICAgICBSVENfQ0FMUl9DQUxNX01zayAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV8wICAgICAgICAgICAgICAoMHgwMDFVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV8xICAgICAgICAgICAgICAoMHgwMDJVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV8yICAgICAgICAgICAgICAoMHgwMDRVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV8zICAgICAgICAgICAgICAoMHgwMDhVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV80ICAgICAgICAgICAgICAoMHgwMTBVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV81ICAgICAgICAgICAgICAoMHgwMjBVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV82ICAgICAgICAgICAgICAoMHgwNDBVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV83ICAgICAgICAgICAgICAoMHgwODBVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgUlRDX0NBTFJfQ0FMTV84ICAgICAgICAgICAgICAoMHgxMDBVIDw8IFJUQ19DQUxSX0NBTE1fUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIFJUQ19UQUZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNU1PREVfUG9zICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNU1PREVfTXNrICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9QQzE1TU9ERV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNU1PREUgICAgICAgICAgIFJUQ19UQUZDUl9QQzE1TU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNVZBTFVFX1BvcyAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNVZBTFVFX01zayAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9QQzE1VkFMVUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNVZBTFVFICAgICAgICAgIFJUQ19UQUZDUl9QQzE1VkFMVUVfTXNrICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNE1PREVfUG9zICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNE1PREVfTXNrICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9QQzE0TU9ERV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNE1PREUgICAgICAgICAgIFJUQ19UQUZDUl9QQzE0TU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNFZBTFVFX1BvcyAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNFZBTFVFX01zayAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9QQzE0VkFMVUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfUEMxNFZBTFVFICAgICAgICAgIFJUQ19UQUZDUl9QQzE0VkFMVUVfTXNrICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxM01PREVfUG9zICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxM01PREVfTXNrICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9QQzEzTU9ERV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfUEMxM01PREUgICAgICAgICAgIFJUQ19UQUZDUl9QQzEzTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxM1ZBTFVFX1BvcyAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfUEMxM1ZBTFVFX01zayAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9QQzEzVkFMVUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfUEMxM1ZBTFVFICAgICAgICAgIFJUQ19UQUZDUl9QQzEzVkFMVUVfTXNrICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBVRElTX1BvcyAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBVRElTX01zayAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QUFVESVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBVRElTICAgICAgICAgIFJUQ19UQUZDUl9UQU1QUFVESVNfTXNrICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBSQ0hfUG9zICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBSQ0hfTXNrICAgICAgICgweDNVIDw8IFJUQ19UQUZDUl9UQU1QUFJDSF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBSQ0ggICAgICAgICAgIFJUQ19UQUZDUl9UQU1QUFJDSF9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBSQ0hfMCAgICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QUFJDSF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFBSQ0hfMSAgICAgICAgICgweDJVIDw8IFJUQ19UQUZDUl9UQU1QUFJDSF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZMVF9Qb3MgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZMVF9Nc2sgICAgICAgICgweDNVIDw8IFJUQ19UQUZDUl9UQU1QRkxUX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMTgwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZMVCAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QRkxUX01zayAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZMVF8wICAgICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QRkxUX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZMVF8xICAgICAgICAgICgweDJVIDw8IFJUQ19UQUZDUl9UQU1QRkxUX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZSRVFfUG9zICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZSRVFfTXNrICAgICAgICgweDdVIDw8IFJUQ19UQUZDUl9UQU1QRlJFUV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDcwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZSRVEgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QRlJFUV9Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZSRVFfMCAgICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QRlJFUV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZSRVFfMSAgICAgICAgICgweDJVIDw8IFJUQ19UQUZDUl9UQU1QRlJFUV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUEZSRVFfMiAgICAgICAgICgweDRVIDw8IFJUQ19UQUZDUl9UQU1QRlJFUV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFRTX1BvcyAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFRTX01zayAgICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QVFNfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUFRTICAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QVFNfTXNrICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDJUUkdfUG9zICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDJUUkdfTXNrICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QMlRSR19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDJUUkcgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QMlRSR19Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDJFX1BvcyAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDJFX01zayAgICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QMkVfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDJFICAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QMkVfTXNrICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUElFX1BvcyAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUElFX01zayAgICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QSUVfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUElFICAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QSUVfTXNrICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDFUUkdfUG9zICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDFUUkdfTXNrICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QMVRSR19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDFUUkcgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QMVRSR19Nc2sgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDFFX1BvcyAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDFFX01zayAgICAgICAgICgweDFVIDw8IFJUQ19UQUZDUl9UQU1QMUVfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSVENfVEFGQ1JfVEFNUDFFICAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QMUVfTXNrICAgICAgICAgICAgICAgICAgICAgIA0KDQovKiBSZWZlcmVuY2UgZGVmaW5lcyAqLw0KI2RlZmluZSBSVENfVEFGQ1JfQUxBUk1PVVRUWVBFICAgICAgICAgICAgICAgUlRDX1RBRkNSX1BDMTNWQUxVRQ0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUk1BU1NSIHJlZ2lzdGVyICAqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9NQVNLU1NfUG9zICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9NQVNLU1NfTXNrICAgICAgKDB4RlUgPDwgUlRDX0FMUk1BU1NSX01BU0tTU19Qb3MpICAgICAgICAgLyohPCAweDBGMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9NQVNLU1MgICAgICAgICAgUlRDX0FMUk1BU1NSX01BU0tTU19Nc2sgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9NQVNLU1NfMCAgICAgICAgKDB4MVUgPDwgUlRDX0FMUk1BU1NSX01BU0tTU19Qb3MpICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9NQVNLU1NfMSAgICAgICAgKDB4MlUgPDwgUlRDX0FMUk1BU1NSX01BU0tTU19Qb3MpICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9NQVNLU1NfMiAgICAgICAgKDB4NFUgPDwgUlRDX0FMUk1BU1NSX01BU0tTU19Qb3MpICAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9NQVNLU1NfMyAgICAgICAgKDB4OFUgPDwgUlRDX0FMUk1BU1NSX01BU0tTU19Qb3MpICAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9TU19Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9TU19Nc2sgICAgICAgICAgKDB4N0ZGRlUgPDwgUlRDX0FMUk1BU1NSX1NTX1BvcykgICAgICAgICAgLyohPCAweDAwMDA3RkZGICovDQojZGVmaW5lIFJUQ19BTFJNQVNTUl9TUyAgICAgICAgICAgICAgUlRDX0FMUk1BU1NSX1NTX01zayAgICAgICAgICAgICAgICAgICAgICAgDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsIFBlcmlwaGVyYWwgSW50ZXJmYWNlIChTUEkpICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoNCiAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjAgc2VyaWUpDQogKi8NCi8qIE5vdGU6IE5vIHNwZWNpZmljIG1hY3JvIGZlYXR1cmUgb24gdGhpcyBkZXZpY2UgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEFfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NQSEFfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUEhBX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEEgICAgICAgICAgICAgICAgU1BJX0NSMV9DUEhBX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUGhhc2UgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUE9MX01zayAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1BPTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBvbGFyaXR5ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX01TVFJfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUiAgICAgICAgICAgICAgICBTUElfQ1IxX01TVFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIgU2VsZWN0aW9uICovDQojZGVmaW5lIFNQSV9DUjFfQlJfUG9zICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQlJfTXNrICAgICAgICAgICAgICAoMHg3VSA8PCBTUElfQ1IxX0JSX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIFNQSV9DUjFfQlIgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCUlsyOjBdIGJpdHMgKEJhdWQgUmF0ZSBDb250cm9sKSAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzEgICAgICAgICAgICAgICAgKDB4MlUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JSXzIgICAgICAgICAgICAgICAgKDB4NFUgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTUElfQ1IxX1NQRV9Qb3MgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NQRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TUEVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfQ1IxX1NQRSAgICAgICAgICAgICAgICAgU1BJX0NSMV9TUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1BJIEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX1BvcyAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUX01zayAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9MU0JGSVJTVF9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IxX0xTQkZJUlNUICAgICAgICAgICAgU1BJX0NSMV9MU0JGSVJTVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnJhbWUgRm9ybWF0ICovDQojZGVmaW5lIFNQSV9DUjFfU1NJX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1NJX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NTSV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNQSV9DUjFfU1NJICAgICAgICAgICAgICAgICBTUElfQ1IxX1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBzbGF2ZSBzZWxlY3QgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU01fUG9zICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TU01fTXNrICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1NNX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TU00gICAgICAgICAgICAgICAgIFNQSV9DUjFfU1NNX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIHNsYXZlIG1hbmFnZW1lbnQgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfUG9zICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFlfTXNrICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfUlhPTkxZX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9SWE9OTFkgICAgICAgICAgICAgIFNQSV9DUjFfUlhPTkxZX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgb25seSAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0xfUG9zICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NSQ0xfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUkNMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0wgICAgICAgICAgICAgICAgU1BJX0NSMV9DUkNMX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ1JDIExlbmd0aCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFRfUG9zICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFRfTXNrICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUkNORVhUX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ05FWFQgICAgICAgICAgICAgU1BJX0NSMV9DUkNORVhUX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgQ1JDIG5leHQgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNFTl9Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUkNFTl9Nc2sgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1JDRU5fUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUkNFTiAgICAgICAgICAgICAgIFNQSV9DUjFfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhhcmR3YXJlIENSQyBjYWxjdWxhdGlvbiBlbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJT0VfUG9zICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CSURJT0VfTXNrICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQklESU9FX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJT0UgICAgICAgICAgICAgIFNQSV9DUjFfQklESU9FX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE91dHB1dCBlbmFibGUgaW4gYmlkaXJlY3Rpb25hbCBtb2RlICovDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREVfUG9zICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREVfTXNrICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JJRElNT0RFX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFNQSV9DUjFfQklESU1PREUgICAgICAgICAgICBTUElfQ1IxX0JJRElNT0RFX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCaWRpcmVjdGlvbmFsIGRhdGEgbW9kZSBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fTXNrICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9SWERNQUVOX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU4gICAgICAgICAgICAgU1BJX0NSMl9SWERNQUVOX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUnggQnVmZmVyIERNQSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX1BvcyAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX01zayAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfVFhETUFFTl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOICAgICAgICAgICAgIFNQSV9DUjJfVFhETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR4IEJ1ZmZlciBETUEgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1NTT0VfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRSAgICAgICAgICAgICAgICBTUElfQ1IyX1NTT0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTUyBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfTlNTUF9Qb3MgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfTlNTUF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX05TU1BfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNQSV9DUjJfTlNTUCAgICAgICAgICAgICAgICBTUElfQ1IyX05TU1BfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBOU1MgcHVsc2UgbWFuYWdlbWVudCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9GUkZfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9GUkZfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfRlJGX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX0NSMl9GUkYgICAgICAgICAgICAgICAgIFNQSV9DUjJfRlJGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZyYW1lIEZvcm1hdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Qb3MgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9FUlJJRV9Nc2sgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfRVJSSUVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU1BJX0NSMl9FUlJJRSAgICAgICAgICAgICAgIFNQSV9DUjJfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfUG9zICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUVfTXNrICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfUlhORUlFX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX0NSMl9SWE5FSUUgICAgICAgICAgICAgIFNQSV9DUjJfUlhORUlFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJYIGJ1ZmZlciBOb3QgRW1wdHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX1BvcyAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1RYRUlFX01zayAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9UWEVJRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBTUElfQ1IyX1RYRUlFICAgICAgICAgICAgICAgU1BJX0NSMl9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHggYnVmZmVyIEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9EU19Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9EU19Nc2sgICAgICAgICAgICAgICgweEZVIDw8IFNQSV9DUjJfRFNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgU1BJX0NSMl9EUyAgICAgICAgICAgICAgICAgIFNQSV9DUjJfRFNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERTWzM6MF0gRGF0YSBTaXplICovDQojZGVmaW5lIFNQSV9DUjJfRFNfMCAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX0RTX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNQSV9DUjJfRFNfMSAgICAgICAgICAgICAgICAoMHgyVSA8PCBTUElfQ1IyX0RTX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNQSV9DUjJfRFNfMiAgICAgICAgICAgICAgICAoMHg0VSA8PCBTUElfQ1IyX0RTX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNQSV9DUjJfRFNfMyAgICAgICAgICAgICAgICAoMHg4VSA8PCBTUElfQ1IyX0RTX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNQSV9DUjJfRlJYVEhfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfRlJYVEhfTXNrICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX0ZSWFRIX1BvcykgICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNQSV9DUjJfRlJYVEggICAgICAgICAgICAgICBTUElfQ1IyX0ZSWFRIX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGSUZPIHJlY2VwdGlvbiBUaHJlc2hvbGQgKi8NCiNkZWZpbmUgU1BJX0NSMl9MRE1BUlhfUG9zICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9MRE1BUlhfTXNrICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfTERNQVJYX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMl9MRE1BUlggICAgICAgICAgICAgIFNQSV9DUjJfTERNQVJYX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExhc3QgRE1BIHRyYW5zZmVyIGZvciByZWNlcHRpb24gKi8NCiNkZWZpbmUgU1BJX0NSMl9MRE1BVFhfUG9zICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9MRE1BVFhfTXNrICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfTERNQVRYX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMl9MRE1BVFggICAgICAgICAgICAgIFNQSV9DUjJfTERNQVRYX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExhc3QgRE1BIHRyYW5zZmVyIGZvciB0cmFuc21pc3Npb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfU1JfUlhORV9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfUlhORV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1JYTkVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfU1JfUlhORSAgICAgICAgICAgICAgICAgU1BJX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBidWZmZXIgTm90IEVtcHR5ICovDQojZGVmaW5lIFNQSV9TUl9UWEVfUG9zICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9UWEVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfVFhFX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFNQSV9TUl9UWEUgICAgICAgICAgICAgICAgICBTUElfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBidWZmZXIgRW1wdHkgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUl9Nc2sgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9DUkNFUlJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1BJX1NSX0NSQ0VSUiAgICAgICAgICAgICAgIFNQSV9TUl9DUkNFUlJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENSQyBFcnJvciBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9NT0RGX1BvcyAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9NT0RGX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfTU9ERl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNQSV9TUl9NT0RGICAgICAgICAgICAgICAgICBTUElfU1JfTU9ERl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNb2RlIGZhdWx0ICovDQojZGVmaW5lIFNQSV9TUl9PVlJfUG9zICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9PVlJfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfT1ZSX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9TUl9PVlIgICAgICAgICAgICAgICAgICBTUElfU1JfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuIGZsYWcgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWV9Qb3MgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX0JTWV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9CU1lfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX1NSX0JTWSAgICAgICAgICAgICAgICAgIFNQSV9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJ1c3kgZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfRlJFX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfRlJFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0ZSRV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTUElfU1JfRlJFICAgICAgICAgICAgICAgICAgU1BJX1NSX0ZSRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVEkgZnJhbWUgZm9ybWF0IGVycm9yICovDQojZGVmaW5lIFNQSV9TUl9GUkxWTF9Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9GUkxWTF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBTUElfU1JfRlJMVkxfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFNQSV9TUl9GUkxWTCAgICAgICAgICAgICAgICBTUElfU1JfRlJMVkxfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGSUZPIFJlY2VwdGlvbiBMZXZlbCAqLw0KI2RlZmluZSBTUElfU1JfRlJMVkxfMCAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX0ZSTFZMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTUElfU1JfRlJMVkxfMSAgICAgICAgICAgICAgKDB4MlUgPDwgU1BJX1NSX0ZSTFZMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTUElfU1JfRlRMVkxfUG9zICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfRlRMVkxfTXNrICAgICAgICAgICAgKDB4M1UgPDwgU1BJX1NSX0ZUTFZMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTgwMCAqLw0KI2RlZmluZSBTUElfU1JfRlRMVkwgICAgICAgICAgICAgICAgU1BJX1NSX0ZUTFZMX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRklGTyBUcmFuc21pc3Npb24gTGV2ZWwgKi8NCiNkZWZpbmUgU1BJX1NSX0ZUTFZMXzAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9GVExWTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU1BJX1NSX0ZUTFZMXzEgICAgICAgICAgICAgICgweDJVIDw8IFNQSV9TUl9GVExWTF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfRFJfRFJfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfRFJfRFJfTXNrICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNQSV9EUl9EUl9Qb3MpICAgICAgICAgICAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTUElfRFJfRFIgICAgICAgICAgICAgICAgICAgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUkNQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZX1BvcyAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZX01zayAgICAgICAoMHhGRkZGRkZGRlUgPDwgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zKSAgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNQSV9DUkNQUl9DUkNQT0xZICAgICAgICAgICBTUElfQ1JDUFJfQ1JDUE9MWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBDUkMgcG9seW5vbWlhbCByZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX1JYQ1JDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfUG9zICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU1BJX1JYQ1JDUl9SWENSQ19Qb3MpICAgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkMgICAgICAgICAgICBTUElfUlhDUkNSX1JYQ1JDX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSeCBDUkMgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9UWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDX1BvcyAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDX01zayAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNQSV9UWENSQ1JfVFhDUkNfUG9zKSAgICAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTUElfVFhDUkNSX1RYQ1JDICAgICAgICAgICAgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHggQ1JDIFJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfSTJTQ0ZHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EX1BvcyAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EX01zayAgICAgICgweDFVIDw8IFNQSV9JMlNDRkdSX0kyU01PRF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU1BJX0kyU0NGR1JfSTJTTU9EICAgICAgICAgIFNQSV9JMlNDRkdSX0kyU01PRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEtlZXAgZm9yIGNvbXBhdGliaWxpdHkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbSBDb25maWd1cmF0aW9uIChTWVNDRkcpICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1lTQ0ZHX0NGR1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfTUVNX01PREVfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfTUVNX01PREVfTXNrICAgICAgICAgICAgKDB4M1UgPDwgU1lTQ0ZHX0NGR1IxX01FTV9NT0RFX1BvcykgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9NRU1fTU9ERSAgICAgICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfTUVNX01PREVfTXNrICAgICAgICAgICAvKiE8IFNZU0NGR19NZW1vcnkgUmVtYXAgQ29uZmlnICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9NRU1fTU9ERV8wICAgICAgICAgICAgICAoMHgxVSA8PCBTWVNDRkdfQ0ZHUjFfTUVNX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX01FTV9NT0RFXzEgICAgICAgICAgICAgICgweDJVIDw8IFNZU0NGR19DRkdSMV9NRU1fTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfUEExMV9QQTEyX1JNUF9Qb3MgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfUEExMV9QQTEyX1JNUF9Nc2sgICAgICAgKDB4MVUgPDwgU1lTQ0ZHX0NGR1IxX1BBMTFfUEExMl9STVBfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX1BBMTFfUEExMl9STVAgICAgICAgICAgIFNZU0NGR19DRkdSMV9QQTExX1BBMTJfUk1QX01zayAgICAvKiE8IFBBMTEgYW5kIFBBMTIgcmVtYXAgb24gUUZOMjggYW5kIFRTU09QMjAgcGFja2FnZXMgKi8NCg0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfRE1BX1JNUF9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfRE1BX1JNUF9Nc2sgICAgICAgICAgICAgKDB4MUZVIDw8IFNZU0NGR19DRkdSMV9ETUFfUk1QX1BvcykgLyohPCAweDAwMDAxRjAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9ETUFfUk1QICAgICAgICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfRE1BX1JNUF9Nc2sgICAgICAgICAgLyohPCBETUEgcmVtYXAgbWFzayAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfQURDX0RNQV9STVBfUG9zICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfQURDX0RNQV9STVBfTXNrICAgICAgICAgKDB4MVUgPDwgU1lTQ0ZHX0NGR1IxX0FEQ19ETUFfUk1QX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9BRENfRE1BX1JNUCAgICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfQURDX0RNQV9STVBfTXNrICAgICAgLyohPCBBREMgRE1BIHJlbWFwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9VU0FSVDFUWF9ETUFfUk1QX1BvcyAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19DRkdSMV9VU0FSVDFUWF9ETUFfUk1QX01zayAgICAoMHgxVSA8PCBTWVNDRkdfQ0ZHUjFfVVNBUlQxVFhfRE1BX1JNUF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfVVNBUlQxVFhfRE1BX1JNUCAgICAgICAgU1lTQ0ZHX0NGR1IxX1VTQVJUMVRYX0RNQV9STVBfTXNrIC8qITwgVVNBUlQxIFRYIERNQSByZW1hcCAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfVVNBUlQxUlhfRE1BX1JNUF9Qb3MgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfVVNBUlQxUlhfRE1BX1JNUF9Nc2sgICAgKDB4MVUgPDwgU1lTQ0ZHX0NGR1IxX1VTQVJUMVJYX0RNQV9STVBfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX1VTQVJUMVJYX0RNQV9STVAgICAgICAgIFNZU0NGR19DRkdSMV9VU0FSVDFSWF9ETUFfUk1QX01zayAvKiE8IFVTQVJUMSBSWCBETUEgcmVtYXAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX1RJTTE2X0RNQV9STVBfUG9zICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX1RJTTE2X0RNQV9STVBfTXNrICAgICAgICgweDFVIDw8IFNZU0NGR19DRkdSMV9USU0xNl9ETUFfUk1QX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9USU0xNl9ETUFfUk1QICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfVElNMTZfRE1BX1JNUF9Nc2sgICAgLyohPCBUaW1lciAxNiBETUEgcmVtYXAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX1RJTTE3X0RNQV9STVBfUG9zICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX1RJTTE3X0RNQV9STVBfTXNrICAgICAgICgweDFVIDw8IFNZU0NGR19DRkdSMV9USU0xN19ETUFfUk1QX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9USU0xN19ETUFfUk1QICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfVElNMTdfRE1BX1JNUF9Nc2sgICAgLyohPCBUaW1lciAxNyBETUEgcmVtYXAgKi8NCg0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjZfUG9zICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjZfTXNrICAgICAgICAgKDB4MVUgPDwgU1lTQ0ZHX0NGR1IxX0kyQ19GTVBfUEI2X1BvcykgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BCNiAgICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjZfTXNrICAgICAgLyohPCBJMkMgUEI2IEZhc3QgbW9kZSBwbHVzICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BCN19Qb3MgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BCN19Nc2sgICAgICAgICAoMHgxVSA8PCBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjdfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX0kyQ19GTVBfUEI3ICAgICAgICAgICAgIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BCN19Nc2sgICAgICAvKiE8IEkyQyBQQjcgRmFzdCBtb2RlIHBsdXMgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX0kyQ19GTVBfUEI4X1BvcyAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX0kyQ19GTVBfUEI4X01zayAgICAgICAgICgweDFVIDw8IFNZU0NGR19DRkdSMV9JMkNfRk1QX1BCOF9Qb3MpIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjggICAgICAgICAgICAgU1lTQ0ZHX0NGR1IxX0kyQ19GTVBfUEI4X01zayAgICAgIC8qITwgSTJDIFBCOCBGYXN0IG1vZGUgcGx1cyAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjlfUG9zICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjlfTXNrICAgICAgICAgKDB4MVUgPDwgU1lTQ0ZHX0NGR1IxX0kyQ19GTVBfUEI5X1BvcykgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BCOSAgICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQjlfTXNrICAgICAgLyohPCBJMkMgUEI5IEZhc3QgbW9kZSBwbHVzICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX0kyQzFfUG9zICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX0kyQzFfTXNrICAgICAgICAoMHgxVSA8PCBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9JMkMxX1BvcykgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX0kyQzEgICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9JMkMxX01zayAgICAgLyohPCBFbmFibGUgRmFzdCBNb2RlIFBsdXMgb24gUEIxMCwgUEIxMSwgUEY2IGFuZCBQRjcgICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BBOV9Qb3MgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BBOV9Nc2sgICAgICAgICAoMHgxVSA8PCBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQTlfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IxX0kyQ19GTVBfUEE5ICAgICAgICAgICAgIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BBOV9Nc2sgICAgICAvKiE8IEVuYWJsZSBGYXN0IE1vZGUgUGx1cyBvbiBQQTkgICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BBMTBfUG9zICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BBMTBfTXNrICAgICAgICAoMHgxVSA8PCBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQTEwX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFNZU0NGR19DRkdSMV9JMkNfRk1QX1BBMTAgICAgICAgICAgICBTWVNDRkdfQ0ZHUjFfSTJDX0ZNUF9QQTEwX01zayAgICAgLyohPCBFbmFibGUgRmFzdCBNb2RlIFBsdXMgb24gUEExMCAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTWVNDRkdfRVhUSUNSMSByZWdpc3RlciAgKioqKioqKioqKioqKiovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX01zayAgICAgICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSMV9FWFRJMF9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMCAgICAgICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfTXNrICAgICAgICAgIC8qITwgRVhUSSAwIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUG9zICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfTXNrICAgICAgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BvcykgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxICAgICAgICAgICAgICAgICBTWVNDRkdfRVhUSUNSMV9FWFRJMV9Nc2sgICAgICAgICAgLyohPCBFWFRJIDEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9Qb3MgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9Nc2sgICAgICAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUG9zKSAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTIgICAgICAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IxX0VYVEkyX01zayAgICAgICAgICAvKiE8IEVYVEkgMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BvcyAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX01zayAgICAgICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSMV9FWFRJM19Qb3MpIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMyAgICAgICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfTXNrICAgICAgICAgIC8qITwgRVhUSSAzIGNvbmZpZ3VyYXRpb24gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTAgY29uZmlndXJhdGlvbg0KICAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMF9QQSAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BCICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQlswXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUEMgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMF9QRCAgICAgICAgICAgICAgKDB4MDAwMDAwMDNVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbMF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BGICAgICAgICAgICAgICAoMHgwMDAwMDAwNVUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRlswXSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTEgY29uZmlndXJhdGlvbiAgDQogICovIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9QQSAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BCICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQlsxXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUEMgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzFdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9QRCAgICAgICAgICAgICAgKDB4MDAwMDAwMzBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BGICAgICAgICAgICAgICAoMHgwMDAwMDA1MFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRlsxXSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTIgY29uZmlndXJhdGlvbiAgDQogICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BBICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEIgICAgICAgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzJdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9QQyAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMl0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BEICAgICAgICAgICAgICAoMHgwMDAwMDMwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFsyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEYgICAgICAgICAgICAgICgweDAwMDAwNTAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzJdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMyBjb25maWd1cmF0aW9uICANCiAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUEEgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJM19QQiAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbM10gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BDICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ1szXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUEQgICAgICAgICAgICAgICgweDAwMDAzMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJM19QRiAgICAgICAgICAgICAgKDB4MDAwMDUwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbM10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19FWFRJQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfTXNrICAgICAgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0ICAgICAgICAgICAgICAgICBTWVNDRkdfRVhUSUNSMl9FWFRJNF9Nc2sgICAgICAgICAgLyohPCBFWFRJIDQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9Qb3MgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9Nc2sgICAgICAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUG9zKSAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTUgICAgICAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IyX0VYVEk1X01zayAgICAgICAgICAvKiE8IEVYVEkgNSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X01zayAgICAgICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSMl9FWFRJNl9Qb3MpIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNiAgICAgICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfTXNrICAgICAgICAgIC8qITwgRVhUSSA2IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfTXNrICAgICAgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BvcykgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3ICAgICAgICAgICAgICAgICBTWVNDRkdfRVhUSUNSMl9FWFRJN19Nc2sgICAgICAgICAgLyohPCBFWFRJIDcgY29uZmlndXJhdGlvbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJNCBjb25maWd1cmF0aW9uICANCiAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUEEgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzRdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QQiAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbNF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BDICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ1s0XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUEQgICAgICAgICAgICAgICgweDAwMDAwMDAzVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzRdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QRiAgICAgICAgICAgICAgKDB4MDAwMDAwMDVVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbNF0gcGluICovDQoNCi8qKiANCiAgKiBAYnJpZWYgIEVYVEk1IGNvbmZpZ3VyYXRpb24gIA0KICAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9QQSAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk1X1BCICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQls1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUEMgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzVdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9QRCAgICAgICAgICAgICAgKDB4MDAwMDAwMzBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbNV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk1X1BGICAgICAgICAgICAgICAoMHgwMDAwMDA1MFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRls1XSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTYgY29uZmlndXJhdGlvbiAgDQogICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BBICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs2XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUEIgICAgICAgICAgICAgICgweDAwMDAwMTAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzZdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNl9QQyAgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbNl0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BEICAgICAgICAgICAgICAoMHgwMDAwMDMwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFs2XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUEYgICAgICAgICAgICAgICgweDAwMDAwNTAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzZdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJNyBjb25maWd1cmF0aW9uICANCiAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUEEgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzddIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QQiAgICAgICAgICAgICAgKDB4MDAwMDEwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbN10gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BDICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ1s3XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUEQgICAgICAgICAgICAgICgweDAwMDAzMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzddIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QRiAgICAgICAgICAgICAgKDB4MDAwMDUwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbN10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19FWFRJQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfTXNrICAgICAgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4ICAgICAgICAgICAgICAgICBTWVNDRkdfRVhUSUNSM19FWFRJOF9Nc2sgICAgICAgICAgLyohPCBFWFRJIDggY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9Qb3MgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9Nc2sgICAgICAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUG9zKSAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTkgICAgICAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IzX0VYVEk5X01zayAgICAgICAgICAvKiE8IEVYVEkgOSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMF9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMF9Nc2sgICAgICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUG9zKSAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTEwICAgICAgICAgICAgICAgIFNZU0NGR19FWFRJQ1IzX0VYVEkxMF9Nc2sgICAgICAgICAvKiE8IEVYVEkgMTAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTFfTXNrICAgICAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjNfRVhUSTExX1BvcykgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMSAgICAgICAgICAgICAgICBTWVNDRkdfRVhUSUNSM19FWFRJMTFfTXNrICAgICAgICAgLyohPCBFWFRJIDExIGNvbmZpZ3VyYXRpb24gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTggY29uZmlndXJhdGlvbiAgDQogICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BBICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVs4XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUEIgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzhdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOF9QQyAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbOF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BEICAgICAgICAgICAgICAoMHgwMDAwMDAwM1UpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFs4XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUEYgICAgICAgICAgICAgICgweDAwMDAwMDA1VSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzhdIHBpbiAqLw0KDQoNCi8qKiANCiAgKiBAYnJpZWYgIEVYVEk5IGNvbmZpZ3VyYXRpb24gIA0KICAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9QQSAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbOV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BCICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQls5XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUEMgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzldIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9QRCAgICAgICAgICAgICAgKDB4MDAwMDAwMzBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbOV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BGICAgICAgICAgICAgICAoMHgwMDAwMDA1MFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRls5XSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTEwIGNvbmZpZ3VyYXRpb24gIA0KICAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEEgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEIgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEMgICAgICAgICAgICAgKDB4MDAwMDAyMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEQgICAgICAgICAgICAgKDB4MDAwMDAzMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbMTBdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEYgICAgICAgICAgICAgKDB4MDAwMDA1MDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbMTBdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMTEgY29uZmlndXJhdGlvbiAgDQogICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QQSAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QQiAgICAgICAgICAgICAoMHgwMDAwMTAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQlsxMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QQyAgICAgICAgICAgICAoMHgwMDAwMjAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ1sxMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QRCAgICAgICAgICAgICAoMHgwMDAwMzAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFsxMV0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QRiAgICAgICAgICAgICAoMHgwMDAwNTAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRlsxMV0gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19FWFRJQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1I0X0VYVEkxMl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTIgICAgICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgIC8qITwgRVhUSSAxMiBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19Nc2sgICAgICAgICAgICAoMHhGVSA8PCBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfUG9zKSAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzICAgICAgICAgICAgICAgIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19Nc2sgICAgICAgICAvKiE8IEVYVEkgMTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTRfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICAgICAgKDB4RlUgPDwgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BvcykgLyohPCAweDAwMDAwRjAwICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNCAgICAgICAgICAgICAgICBTWVNDRkdfRVhUSUNSNF9FWFRJMTRfTXNrICAgICAgICAgLyohPCBFWFRJIDE0IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgICAgICgweEZVIDw8IFNZU0NGR19FWFRJQ1I0X0VYVEkxNV9Qb3MpIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTUgICAgICAgICAgICAgICAgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgIC8qITwgRVhUSSAxNSBjb25maWd1cmF0aW9uICovDQoNCi8qKiANCiAgKiBAYnJpZWYgIEVYVEkxMiBjb25maWd1cmF0aW9uICANCiAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BBICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BCICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BDICAgICAgICAgICAgICgweDAwMDAwMDAyVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BEICAgICAgICAgICAgICgweDAwMDAwMDAzVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzEyXSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEyX1BGICAgICAgICAgICAgICgweDAwMDAwMDA1VSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzEyXSBwaW4gKi8NCg0KLyoqIA0KICAqIEBicmllZiAgRVhUSTEzIGNvbmZpZ3VyYXRpb24gIA0KICAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfUEEgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfUEIgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEJbMTNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfUEMgICAgICAgICAgICAgKDB4MDAwMDAwMjBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUENbMTNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfUEQgICAgICAgICAgICAgKDB4MDAwMDAwMzBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUERbMTNdIHBpbiAqLw0KI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTNfUEYgICAgICAgICAgICAgKDB4MDAwMDAwNTBVKSAgICAgICAgICAgICAgICAgICAgIC8qITwgUEZbMTNdIHBpbiAqLw0KDQovKiogDQogICogQGJyaWVmICBFWFRJMTQgY29uZmlndXJhdGlvbiAgDQogICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNF9QQSAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxNF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNF9QQiAgICAgICAgICAgICAoMHgwMDAwMDEwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQlsxNF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNF9QQyAgICAgICAgICAgICAoMHgwMDAwMDIwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ1sxNF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNF9QRCAgICAgICAgICAgICAoMHgwMDAwMDMwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRFsxNF0gcGluICovDQojZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNF9QRiAgICAgICAgICAgICAoMHgwMDAwMDUwMFUpICAgICAgICAgICAgICAgICAgICAgLyohPCBQRlsxNF0gcGluICovDQoNCi8qKiANCiAgKiBAYnJpZWYgIEVYVEkxNSBjb25maWd1cmF0aW9uICANCiAgKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BBICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BCICAgICAgICAgICAgICgweDAwMDAxMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBCWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BDICAgICAgICAgICAgICgweDAwMDAyMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BEICAgICAgICAgICAgICgweDAwMDAzMDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBEWzE1XSBwaW4gKi8NCiNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE1X1BGICAgICAgICAgICAgICgweDAwMDA1MDAwVSkgICAgICAgICAgICAgICAgICAgICAvKiE8IFBGWzE1XSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1lTQ0ZHX0NGR1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjJfTE9DS1VQX0xPQ0tfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjJfTE9DS1VQX0xPQ0tfTXNrICAgICAgICAgKDB4MVUgPDwgU1lTQ0ZHX0NGR1IyX0xPQ0tVUF9MT0NLX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNZU0NGR19DRkdSMl9MT0NLVVBfTE9DSyAgICAgICAgICAgICBTWVNDRkdfQ0ZHUjJfTE9DS1VQX0xPQ0tfTXNrICAgICAgLyohPCBFbmFibGVzIGFuZCBsb2NrcyB0aGUgTE9DS1VQIChIYXJkZmF1bHQpIG91dHB1dCBvZiBDb3J0ZXhNMCB3aXRoIEJyZWFrIElucHV0IG9mIFRJTUVSMSAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjJfU1JBTV9QQVJJVFlfTE9DS19Qb3MgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTWVNDRkdfQ0ZHUjJfU1JBTV9QQVJJVFlfTE9DS19Nc2sgICAgKDB4MVUgPDwgU1lTQ0ZHX0NGR1IyX1NSQU1fUEFSSVRZX0xPQ0tfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IyX1NSQU1fUEFSSVRZX0xPQ0sgICAgICAgIFNZU0NGR19DRkdSMl9TUkFNX1BBUklUWV9MT0NLX01zayAvKiE8IEVuYWJsZXMgYW5kIGxvY2tzIHRoZSBTUkFNX1BBUklUWSBlcnJvciBzaWduYWwgd2l0aCBCcmVhayBJbnB1dCBvZiBUSU1FUjEgKi8NCiNkZWZpbmUgU1lTQ0ZHX0NGR1IyX1NSQU1fUEVGX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1lTQ0ZHX0NGR1IyX1NSQU1fUEVGX01zayAgICAgICAgICAgICgweDFVIDw8IFNZU0NGR19DRkdSMl9TUkFNX1BFRl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjJfU1JBTV9QRUYgICAgICAgICAgICAgICAgU1lTQ0ZHX0NGR1IyX1NSQU1fUEVGX01zayAgICAgICAgIC8qITwgU1JBTSBQYXJpdHkgZXJyb3IgZmxhZyAqLw0KI2RlZmluZSBTWVNDRkdfQ0ZHUjJfU1JBTV9QRSAgICAgICAgICAgICAgICAgU1lTQ0ZHX0NGR1IyX1NSQU1fUEVGICAvKiE8IFNSQU0gUGFyaXR5IGVycm9yIGZsYWcgKGRlZmluZSBtYWludGFpbmVkIGZvciBsZWdhY3kgcHVycG9zZSkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXJzIChUSU0pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ1IxX0NFTl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NFTl9Nc2sgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ0VOX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NFTiAgICAgICAgICAgICAgIFRJTV9DUjFfQ0VOX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDb3VudGVyIGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ1IxX1VESVNfUG9zICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX1VESVNfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVURJU19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fQ1IxX1VESVMgICAgICAgICAgICAgIFRJTV9DUjFfVURJU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgZGlzYWJsZSAqLw0KI2RlZmluZSBUSU1fQ1IxX1VSU19Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX1VSU19Nc2sgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfVVJTX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBUSU1fQ1IxX1VSUyAgICAgICAgICAgICAgIFRJTV9DUjFfVVJTX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgcmVxdWVzdCBzb3VyY2UgKi8NCiNkZWZpbmUgVElNX0NSMV9PUE1fUG9zICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9PUE1fTXNrICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX09QTV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NSMV9PUE0gICAgICAgICAgICAgICBUSU1fQ1IxX09QTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T25lIHB1bHNlIG1vZGUgKi8NCiNkZWZpbmUgVElNX0NSMV9ESVJfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9ESVJfTXNrICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0RJUl9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NSMV9ESVIgICAgICAgICAgICAgICBUSU1fQ1IxX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8RGlyZWN0aW9uICovDQoNCiNkZWZpbmUgVElNX0NSMV9DTVNfUG9zICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DTVNfTXNrICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgVElNX0NSMV9DTVMgICAgICAgICAgICAgICBUSU1fQ1IxX0NNU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q01TWzE6MF0gYml0cyAoQ2VudGVyLWFsaWduZWQgbW9kZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DUjFfQ01TXzAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DUjFfQ01TXzEgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NSMV9DTVNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NSMV9BUlBFX1BvcyAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9BUlBFX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0FSUEVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NSMV9BUlBFICAgICAgICAgICAgICBUSU1fQ1IxX0FSUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8QXV0by1yZWxvYWQgcHJlbG9hZCBlbmFibGUgKi8NCg0KI2RlZmluZSBUSU1fQ1IxX0NLRF9Qb3MgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IxX0NLRF9Nc2sgICAgICAgICAgICgweDNVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NLRCAgICAgICAgICAgICAgIFRJTV9DUjFfQ0tEX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDS0RbMTowXSBiaXRzIChjbG9jayBkaXZpc2lvbikgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0RfMCAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0RfMSAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IxX0NLRF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ1IyX0NDUENfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX0NDUENfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NQQ19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDUEMgICAgICAgICAgICAgIFRJTV9DUjJfQ0NQQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgUHJlbG9hZGVkIENvbnRyb2wgKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1VTX1BvcyAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ1VTX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX0NDVVNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1VTICAgICAgICAgICAgICBUSU1fQ1IyX0NDVVNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIENvbnRyb2wgVXBkYXRlIFNlbGVjdGlvbiAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDRFNfUG9zICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX0NDRFNfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NEU19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ1IyX0NDRFMgICAgICAgICAgICAgIFRJTV9DUjJfQ0NEU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgRE1BIFNlbGVjdGlvbiAqLw0KDQojZGVmaW5lIFRJTV9DUjJfTU1TX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfTU1TX01zayAgICAgICAgICAgKDB4N1UgPDwgVElNX0NSMl9NTVNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TICAgICAgICAgICAgICAgVElNX0NSMl9NTVNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPE1NU1syOjBdIGJpdHMgKE1hc3RlciBNb2RlIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVNfMCAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVNfMSAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NSMl9NTVNfMiAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ1IyX1RJMVNfUG9zICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX1RJMVNfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfVEkxU19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ1IyX1RJMVMgICAgICAgICAgICAgIFRJTV9DUjJfVEkxU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxUSTEgU2VsZWN0aW9uICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMV9Qb3MgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMV9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMSAgICAgICAgICAgICAgVElNX0NSMl9PSVMxX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDEgKE9DMSBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMU5fUG9zICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTMU5fTXNrICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMxTl9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMU4gICAgICAgICAgICAgVElNX0NSMl9PSVMxTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDEgKE9DMU4gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzJfUG9zICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzJfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzIgICAgICAgICAgICAgIFRJTV9DUjJfT0lTMl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAyIChPQzIgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzJOX1BvcyAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzJOX01zayAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTMk5fUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzJOICAgICAgICAgICAgIFRJTV9DUjJfT0lTMk5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAyIChPQzJOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzX1BvcyAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMzX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzICAgICAgICAgICAgICBUSU1fQ1IyX09JUzNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMyAoT0MzIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzTl9Qb3MgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMzTl9Nc2sgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzNOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMzTiAgICAgICAgICAgICBUSU1fQ1IyX09JUzNOX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMyAoT0MzTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTNF9Qb3MgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTNF9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVM0X1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTNCAgICAgICAgICAgICAgVElNX0NSMl9PSVM0X01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDQgKE9DNCBvdXRwdXQpICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1NNQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfU01TX01zayAgICAgICAgICAoMHg3VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgVElNX1NNQ1JfU01TICAgICAgICAgICAgICBUSU1fU01DUl9TTVNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8U01TWzI6MF0gYml0cyAoU2xhdmUgbW9kZSBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9TTUNSX1NNU18wICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9TTUNSX1NNU18xICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9TTUNSX1NNU18yICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfU01TX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfT0NDU19Qb3MgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfT0NDU19Nc2sgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9PQ0NTX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX1NNQ1JfT0NDUyAgICAgICAgICAgICBUSU1fU01DUl9PQ0NTX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE9DUkVGIGNsZWFyIHNlbGVjdGlvbiAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX1RTX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX1RTX01zayAgICAgICAgICAgKDB4N1UgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTICAgICAgICAgICAgICAgVElNX1NNQ1JfVFNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPFRTWzI6MF0gYml0cyAoVHJpZ2dlciBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzEgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzIgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfVFNfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfTVNNX1BvcyAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfTVNNX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9NU01fUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfTVNNICAgICAgICAgICAgICBUSU1fU01DUl9NU01fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8TWFzdGVyL3NsYXZlIG1vZGUgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVEZfUG9zICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVEZfTXNrICAgICAgICAgICgweEZVIDw8IFRJTV9TTUNSX0VURl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEYgICAgICAgICAgICAgIFRJTV9TTUNSX0VURl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxFVEZbMzowXSBiaXRzIChFeHRlcm5hbCB0cmlnZ2VyIGZpbHRlcikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzEgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzIgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzMgICAgICAgICAgICAoMHg4VSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVFBTX1BvcyAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVFBTX01zayAgICAgICAgICgweDNVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTICAgICAgICAgICAgIFRJTV9TTUNSX0VUUFNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxFVFBTWzE6MF0gYml0cyAoRXh0ZXJuYWwgdHJpZ2dlciBwcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMCAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMSAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfRVRQU19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRUNFX1BvcyAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRUNFX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9FQ0VfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRUNFICAgICAgICAgICAgICBUSU1fU01DUl9FQ0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8RXh0ZXJuYWwgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Qb3MgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRQX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUCAgICAgICAgICAgICAgVElNX1NNQ1JfRVRQX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPEV4dGVybmFsIHRyaWdnZXIgcG9sYXJpdHkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRElFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRElFUl9VSUVfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1VJRV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRElFUl9VSUUgICAgICAgICAgICAgIFRJTV9ESUVSX1VJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Qb3MgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMUlFX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRSAgICAgICAgICAgIFRJTV9ESUVSX0NDMUlFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX1BvcyAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MySUVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFICAgICAgICAgICAgVElNX0RJRVJfQ0MySUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfUG9zICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzNJRV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUUgICAgICAgICAgICBUSU1fRElFUl9DQzNJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Qb3MgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDNElFX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRSAgICAgICAgICAgIFRJTV9ESUVSX0NDNElFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX1BvcyAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX01zayAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ09NSUVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFICAgICAgICAgICAgVElNX0RJRVJfQ09NSUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENPTSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Qb3MgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVElFX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRSAgICAgICAgICAgICAgVElNX0RJRVJfVElFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUVfUG9zICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9CSUVfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0JJRV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUUgICAgICAgICAgICAgIFRJTV9ESUVSX0JJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Qb3MgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVURFX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9ESUVSX1VERSAgICAgICAgICAgICAgVElNX0RJRVJfVURFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfUG9zICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfTXNrICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzFERV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREUgICAgICAgICAgICBUSU1fRElFUl9DQzFERV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX1BvcyAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX01zayAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MyREVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFICAgICAgICAgICAgVElNX0RJRVJfQ0MyREVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Qb3MgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Nc2sgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDM0RFX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERSAgICAgICAgICAgIFRJTV9ESUVSX0NDM0RFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfUG9zICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfTXNrICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzRERV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REUgICAgICAgICAgICBUSU1fRElFUl9DQzRERV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX1BvcyAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX01zayAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ09NREVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFICAgICAgICAgICAgVElNX0RJRVJfQ09NREVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENPTSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFX1BvcyAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVERFX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9UREVfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFICAgICAgICAgICAgICBUSU1fRElFUl9UREVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBETUEgcmVxdWVzdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU1JfVUlGX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVUlGX01zayAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9VSUZfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fU1JfVUlGICAgICAgICAgICAgICAgIFRJTV9TUl9VSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGX1BvcyAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMUlGX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MxSUZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGICAgICAgICAgICAgICBUSU1fU1JfQ0MxSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGX1BvcyAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMklGX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MySUZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGICAgICAgICAgICAgICBUSU1fU1JfQ0MySUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGX1BvcyAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDM0lGX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MzSUZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGICAgICAgICAgICAgICBUSU1fU1JfQ0MzSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGX1BvcyAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNElGX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0M0SUZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGICAgICAgICAgICAgICBUSU1fU1JfQ0M0SUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGX1BvcyAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NPTUlGX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ09NSUZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGICAgICAgICAgICAgICBUSU1fU1JfQ09NSUZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q09NIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9USUZfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9USUZfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX1RJRl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9TUl9USUYgICAgICAgICAgICAgICAgVElNX1NSX1RJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0JJRl9Qb3MgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0JJRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQklGX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NSX0JJRiAgICAgICAgICAgICAgICBUSU1fU1JfQklGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GX1BvcyAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMU9GX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MxT0ZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GICAgICAgICAgICAgICBUSU1fU1JfQ0MxT0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfUG9zICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzJPRl9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0YgICAgICAgICAgICAgIFRJTV9TUl9DQzJPRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Qb3MgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDM09GX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRiAgICAgICAgICAgICAgVElNX1NSX0NDM09GX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GX1BvcyAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNE9GX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0M0T0ZfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GICAgICAgICAgICAgICBUSU1fU1JfQ0M0T0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9FR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9FR1JfVUdfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfVUdfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9VR19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9FR1JfVUcgICAgICAgICAgICAgICAgVElNX0VHUl9VR19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Qb3MgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzFHX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxRyAgICAgICAgICAgICAgVElNX0VHUl9DQzFHX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHX1BvcyAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzJHX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDMkdfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHICAgICAgICAgICAgICBUSU1fRUdSX0NDMkdfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0dfUG9zICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDM0dfTXNrICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MzR19Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0cgICAgICAgICAgICAgIFRJTV9FR1JfQ0MzR19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Qb3MgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzRHX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0RyAgICAgICAgICAgICAgVElNX0VHUl9DQzRHX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HX1BvcyAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DT01HX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NPTUdfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HICAgICAgICAgICAgICBUSU1fRUdSX0NPTUdfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIENvbnRyb2wgVXBkYXRlIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9UR19Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9UR19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX1RHX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0VHUl9URyAgICAgICAgICAgICAgICBUSU1fRUdSX1RHX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQkdfUG9zICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQkdfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9CR19Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9FR1JfQkcgICAgICAgICAgICAgICAgVElNX0VHUl9CR19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIEdlbmVyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ01SMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Qb3MgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Nc2sgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxUyAgICAgICAgICAgIFRJTV9DQ01SMV9DQzFTX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDQzFTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDEgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18wICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18xICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9DQzFTX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Qb3MgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Nc2sgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMUZFX1BvcykgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRSAgICAgICAgICAgVElNX0NDTVIxX09DMUZFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDEgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX1BvcyAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX01zayAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxUEVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFICAgICAgICAgICBUSU1fQ0NNUjFfT0MxUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMSBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX1BvcyAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX01zayAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNICAgICAgICAgICAgVElNX0NDTVIxX09DMU1fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPE9DMU1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAxIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzEgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzIgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX09DMU1fUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX1BvcyAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX01zayAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MxQ0VfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFICAgICAgICAgICBUSU1fQ0NNUjFfT0MxQ0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMUNsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX1BvcyAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX01zayAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTICAgICAgICAgICAgVElNX0NDTVIxX0NDMlNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENDMlNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMiBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzEgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0NDMlNfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX1BvcyAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX01zayAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyRkVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFICAgICAgICAgICBUSU1fQ0NNUjFfT0MyRkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfUG9zICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfTXNrICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJQRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEUgICAgICAgICAgIFRJTV9DQ01SMV9PQzJQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fUG9zICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fTXNrICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk0gICAgICAgICAgICBUSU1fQ0NNUjFfT0MyTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T0MyTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDIgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMCAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMSAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMiAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfT0MyTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfUG9zICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfTXNrICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzJDRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0UgICAgICAgICAgIFRJTV9DQ01SMV9PQzJDRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Qb3MgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfSUMxUFNDX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQyAgICAgICAgICBUSU1fQ0NNUjFfSUMxUFNDX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8SUMxUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18wICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMxUFNDX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18xICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMxUFNDX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Qb3MgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMV9JQzFGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRiAgICAgICAgICAgIFRJTV9DQ01SMV9JQzFGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxJQzFGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMCAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMSAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMiAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMyAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX1BvcyAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9JQzJQU0NfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDICAgICAgICAgIFRJTV9DQ01SMV9JQzJQU0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxJQzJQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzJQU0NfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzEgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzJQU0NfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX1BvcyAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIxX0lDMkZfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGICAgICAgICAgICAgVElNX0NDTVIxX0lDMkZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPElDMkZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8wICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8xICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8yICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8zICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDTVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX1BvcyAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX01zayAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0NDM1NfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTICAgICAgICAgICAgVElNX0NDTVIyX0NDM1NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENDM1NbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMyBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0NDM1NfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzEgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0NDM1NfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX1BvcyAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX01zayAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzRkVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFICAgICAgICAgICBUSU1fQ0NNUjJfT0MzRkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfUG9zICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfTXNrICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNQRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEUgICAgICAgICAgIFRJTV9DQ01SMl9PQzNQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM01fUG9zICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM01fTXNrICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM00gICAgICAgICAgICBUSU1fQ0NNUjJfT0MzTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T0MzTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDMgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMCAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMSAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMiAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfT0MzTV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfUG9zICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfTXNrICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzNDRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0UgICAgICAgICAgIFRJTV9DQ01SMl9PQzNDRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIENsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX1BvcyAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX01zayAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0NDNFNfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTICAgICAgICAgICAgVElNX0NDTVIyX0NDNFNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENDNFNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgNCBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0NDNFNfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzEgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0NDNFNfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX1BvcyAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX01zayAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0RkVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFICAgICAgICAgICBUSU1fQ0NNUjJfT0M0RkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfUG9zICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfTXNrICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRQRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEUgICAgICAgICAgIFRJTV9DQ01SMl9PQzRQRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fUG9zICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fTXNrICAgICAgICAoMHg3VSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE0gICAgICAgICAgICBUSU1fQ0NNUjJfT0M0TV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T0M0TVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDQgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMCAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMSAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMiAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfT0M0TV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfUG9zICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfTXNrICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9PQzRDRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0UgICAgICAgICAgIFRJTV9DQ01SMl9PQzRDRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Qb3MgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Nc2sgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQyAgICAgICAgICBUSU1fQ0NNUjJfSUMzUFNDX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8SUMzUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18wICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18xICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUMzUFNDX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Qb3MgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Nc2sgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMl9JQzNGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRiAgICAgICAgICAgIFRJTV9DQ01SMl9JQzNGX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxJQzNGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMCAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMSAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMiAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMyAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX1BvcyAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX01zayAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDICAgICAgICAgIFRJTV9DQ01SMl9JQzRQU0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxJQzRQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzEgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzRQU0NfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX1BvcyAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX01zayAgICAgICAgKDB4RlUgPDwgVElNX0NDTVIyX0lDNEZfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGICAgICAgICAgICAgVElNX0NDTVIyX0lDNEZfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPElDNEZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8wICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8xICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8yICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8zICAgICAgICAgICgweDhVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxRV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUUgICAgICAgICAgICAgVElNX0NDRVJfQ0MxRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Qb3MgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUCAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFQX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX1BvcyAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX01zayAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxTkVfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FICAgICAgICAgICAgVElNX0NDRVJfQ0MxTkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Qb3MgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Nc2sgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMU5QX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUCAgICAgICAgICAgIFRJTV9DQ0VSX0NDMU5QX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX1BvcyAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX01zayAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMkVfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfUG9zICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfTXNrICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyUF9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Qb3MgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Nc2sgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMk5FX1BvcykgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORSAgICAgICAgICAgIFRJTV9DQ0VSX0NDMk5FX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfUG9zICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfTXNrICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJOUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJOUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Qb3MgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Nc2sgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNFX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRSAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX1BvcyAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX01zayAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM1BfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM1BfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfUG9zICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfTXNrICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNORV9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkUgICAgICAgICAgICBUSU1fQ0NFUl9DQzNORV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX1BvcyAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzTlBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QICAgICAgICAgICAgVElNX0NDRVJfQ0MzTlBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfUG9zICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0M0RV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEUgICAgICAgICAgICAgVElNX0NDRVJfQ0M0RV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Qb3MgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzRQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UCAgICAgICAgICAgICBUSU1fQ0NFUl9DQzRQX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNE5QX1BvcyAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNE5QX01zayAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0M0TlBfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNE5QICAgICAgICAgICAgVElNX0NDRVJfQ0M0TlBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NOVF9DTlRfUG9zICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NOVF9DTlRfTXNrICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgVElNX0NOVF9DTlRfUG9zKSAgICAgICAgICAgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgVElNX0NOVF9DTlQgICAgICAgICAgICAgICBUSU1fQ05UX0NOVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9QU0MgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9QU0NfUFNDX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9QU0NfUFNDX01zayAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX1BTQ19QU0NfUG9zKSAgICAgICAgICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9QU0NfUFNDICAgICAgICAgICAgICAgVElNX1BTQ19QU0NfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPFByZXNjYWxlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9BUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9BUlJfQVJSX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFRJTV9BUlJfQVJSX1BvcykgICAgICAgICAgICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9BUlJfQVJSICAgICAgICAgICAgICAgVElNX0FSUl9BUlJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPGFjdHVhbCBhdXRvLXJlbG9hZCBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9SQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9SQ1JfUkVQX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9SQ1JfUkVQX01zayAgICAgICAgICAgKDB4RkZVIDw8IFRJTV9SQ1JfUkVQX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFRJTV9SQ1JfUkVQICAgICAgICAgICAgICAgVElNX1JDUl9SRVBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPFJlcGV0aXRpb24gQ291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjFfQ0NSMV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjEgICAgICAgICAgICAgVElNX0NDUjFfQ0NSMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Qb3MgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Nc2sgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSMl9DQ1IyX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMiAgICAgICAgICAgICBUSU1fQ0NSMl9DQ1IyX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX1BvcyAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX01zayAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IzX0NDUjNfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzICAgICAgICAgICAgIFRJTV9DQ1IzX0NDUjNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfUG9zICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjRfQ0NSNF9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjQgICAgICAgICAgICAgVElNX0NDUjRfQ0NSNF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0JEVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfRFRHX01zayAgICAgICAgICAoMHhGRlUgPDwgVElNX0JEVFJfRFRHX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHICAgICAgICAgICAgICBUSU1fQkRUUl9EVEdfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8RFRHWzA6N10gYml0cyAoRGVhZC1UaW1lIEdlbmVyYXRvciBzZXQtdXApICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18wICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18xICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18yICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18zICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR180ICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR181ICAgICAgICAgICAgKDB4MjBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR182ICAgICAgICAgICAgKDB4NDBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR183ICAgICAgICAgICAgKDB4ODBVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Qb3MgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Nc2sgICAgICAgICAoMHgzVSA8PCBUSU1fQkRUUl9MT0NLX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DSyAgICAgICAgICAgICBUSU1fQkRUUl9MT0NLX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8TE9DS1sxOjBdIGJpdHMgKExvY2sgQ29uZmlndXJhdGlvbikgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18wICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9MT0NLX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18xICAgICAgICAgICAoMHgyVSA8PCBUSU1fQkRUUl9MT0NLX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX1BvcyAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX01zayAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX09TU0lfUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9PU1NJICAgICAgICAgICAgIFRJTV9CRFRSX09TU0lfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxPZmYtU3RhdGUgU2VsZWN0aW9uIGZvciBJZGxlIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Qb3MgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Nc2sgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9PU1NSX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUiAgICAgICAgICAgICBUSU1fQkRUUl9PU1NSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8T2ZmLVN0YXRlIFNlbGVjdGlvbiBmb3IgUnVuIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFX1BvcyAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfQktFX01zayAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9CS0VfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFICAgICAgICAgICAgICBUSU1fQkRUUl9CS0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Qb3MgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfQktQX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUCAgICAgICAgICAgICAgVElNX0JEVFJfQktQX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Qb3MgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfQU9FX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRSAgICAgICAgICAgICAgVElNX0JEVFJfQU9FX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPEF1dG9tYXRpYyBPdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Qb3MgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Nc2sgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfTU9FX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX01PRSAgICAgICAgICAgICAgVElNX0JEVFJfTU9FX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPE1haW4gT3V0cHV0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9EQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9EQ1JfREJBX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgKDB4MUZVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIFRJTV9EQ1JfREJBICAgICAgICAgICAgICAgVElNX0RDUl9EQkFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPERCQVs0OjBdIGJpdHMgKERNQSBCYXNlIEFkZHJlc3MpICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzAgICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzEgICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzIgICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzMgICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzQgICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9EQ1JfREJBX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgVElNX0RDUl9EQkxfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAoMHgxRlUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDFGMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkwgICAgICAgICAgICAgICBUSU1fRENSX0RCTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8REJMWzQ6MF0gYml0cyAoRE1BIEJ1cnN0IExlbmd0aCkgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMCAgICAgICAgICAgICAoMHgwMVUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMSAgICAgICAgICAgICAoMHgwMlUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMiAgICAgICAgICAgICAoMHgwNFUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMyAgICAgICAgICAgICAoMHgwOFUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfNCAgICAgICAgICAgICAoMHgxMFUgPDwgVElNX0RDUl9EQkxfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRE1BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX1BvcyAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX01zayAgICAgICAgICgweEZGRkZVIDw8IFRJTV9ETUFSX0RNQUJfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCICAgICAgICAgICAgIFRJTV9ETUFSX0RNQUJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxETUEgcmVnaXN0ZXIgZm9yIGJ1cnN0IGFjY2Vzc2VzICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNMTRfT1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU0xNF9PUl9USTFfUk1QX1BvcyAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU0xNF9PUl9USTFfUk1QX01zayAgICAgICgweDNVIDw8IFRJTTE0X09SX1RJMV9STVBfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU0xNF9PUl9USTFfUk1QICAgICAgICAgIFRJTTE0X09SX1RJMV9STVBfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITxUSTFfUk1QWzE6MF0gYml0cyAoVElNMTQgSW5wdXQgNCByZW1hcCkgKi8NCiNkZWZpbmUgVElNMTRfT1JfVEkxX1JNUF8wICAgICAgICAoMHgxVSA8PCBUSU0xNF9PUl9USTFfUk1QX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNMTRfT1JfVEkxX1JNUF8xICAgICAgICAoMHgyVSA8PCBUSU0xNF9PUl9USTFfUk1QX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgIFVuaXZlcnNhbCBTeW5jaHJvbm91cyBBc3luY2hyb25vdXMgUmVjZWl2ZXIgVHJhbnNtaXR0ZXIgKFVTQVJUKSAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qDQoqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjAgc2VyaWUpDQoqLw0KDQovKiBTdXBwb3J0IG9mIDcgYml0cyBkYXRhIGxlbmd0aCBmZWF0dXJlICovDQojZGVmaW5lIFVTQVJUXzdCSVRTX1NVUFBPUlQNCg0KLyogU3VwcG9ydCBvZiBGdWxsIEF1dG8gQmF1ZCByYXRlIGZlYXR1cmUgKDQgbW9kZXMpIGFjdGl2YXRpb24gKi8NCiNkZWZpbmUgVVNBUlRfRkFCUl9TVVBQT1JUDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9VRV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX0NSMV9VRSAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBVU0FSVCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JFX1BvcyAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JFX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JFICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JFX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVEVfUG9zICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVEVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVEVfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVEUgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVEVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXR0ZXIgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUVfUG9zICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUVfTXNrICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9JRExFSUVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0NSMV9JRExFSUUgICAgICAgICAgICAgIFVTQVJUX0NSMV9JRExFSUVfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBJRExFIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRV9Qb3MgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRV9Nc2sgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1JYTkVJRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1JYTkVJRSAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JYTkVJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFJYTkUgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVENJRV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfVENJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfVENJRV9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfVENJRSAgICAgICAgICAgICAgICBVU0FSVF9DUjFfVENJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIENvbXBsZXRlIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFX1BvcyAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFX01zayAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RYRUlFX1BvcykgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RYRUlFICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RYRUlFX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRYRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QRUlFX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Qb3MgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QU19Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QUyAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgU2VsZWN0aW9uICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfUG9zICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QQ0VfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0UgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgQ29udHJvbCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfUG9zICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1dBS0VfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0UgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIFdha2V1cCBtZXRob2QgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX00wX1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX00wX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX00wX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX00wICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX00wX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFdvcmQgbGVuZ3RoIGJpdCAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9NTUVfUG9zICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9NTUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9NTUVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9NTUUgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9NTUVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNdXRlIE1vZGUgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9DTUlFX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9DTUlFX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9DTUlFX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9DTUlFICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9DTUlFX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDaGFyYWN0ZXIgbWF0Y2ggaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfT1ZFUjhfUG9zICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfT1ZFUjhfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfT1ZFUjhfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfT1ZFUjggICAgICAgICAgICAgICBVU0FSVF9DUjFfT1ZFUjhfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcnNhbXBsaW5nIGJ5IDgtYml0IG9yIDE2LWJpdCBtb2RlICovDQojZGVmaW5lIFVTQVJUX0NSMV9ERURUX1BvcyAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9ERURUX01zayAgICAgICAgICAgICgweDFGVSA8PCBVU0FSVF9DUjFfREVEVF9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMUYwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9ERURUICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9ERURUX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBERURUWzQ6MF0gYml0cyAoRHJpdmVyIEVuYWJsZSBEZWFzc2VydGlvbiBUaW1lKSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfREVEVF8wICAgICAgICAgICAgICAoMHgwMVUgPDwgVVNBUlRfQ1IxX0RFRFRfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfREVEVF8xICAgICAgICAgICAgICAoMHgwMlUgPDwgVVNBUlRfQ1IxX0RFRFRfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfREVEVF8yICAgICAgICAgICAgICAoMHgwNFUgPDwgVVNBUlRfQ1IxX0RFRFRfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfREVEVF8zICAgICAgICAgICAgICAoMHgwOFUgPDwgVVNBUlRfQ1IxX0RFRFRfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfREVEVF80ICAgICAgICAgICAgICAoMHgxMFUgPDwgVVNBUlRfQ1IxX0RFRFRfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfREVBVF9Qb3MgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfREVBVF9Nc2sgICAgICAgICAgICAoMHgxRlUgPDwgVVNBUlRfQ1IxX0RFQVRfUG9zKSAgICAgICAgICAgIC8qITwgMHgwM0UwMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfREVBVCAgICAgICAgICAgICAgICBVU0FSVF9DUjFfREVBVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgREVBVFs0OjBdIGJpdHMgKERyaXZlciBFbmFibGUgQXNzZXJ0aW9uIFRpbWUpICovDQojZGVmaW5lIFVTQVJUX0NSMV9ERUFUXzAgICAgICAgICAgICAgICgweDAxVSA8PCBVU0FSVF9DUjFfREVBVF9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9ERUFUXzEgICAgICAgICAgICAgICgweDAyVSA8PCBVU0FSVF9DUjFfREVBVF9Qb3MpICAgICAgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9ERUFUXzIgICAgICAgICAgICAgICgweDA0VSA8PCBVU0FSVF9DUjFfREVBVF9Qb3MpICAgICAgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9ERUFUXzMgICAgICAgICAgICAgICgweDA4VSA8PCBVU0FSVF9DUjFfREVBVF9Qb3MpICAgICAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9ERUFUXzQgICAgICAgICAgICAgICgweDEwVSA8PCBVU0FSVF9DUjFfREVBVF9Qb3MpICAgICAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SVE9JRV9Qb3MgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SVE9JRV9Nc2sgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SVE9JRV9Qb3MpICAgICAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SVE9JRSAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SVE9JRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIFRpbWUgT3V0IGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0VPQklFX1BvcyAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX0VPQklFX01zayAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX0VPQklFX1BvcykgICAgICAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX0VPQklFICAgICAgICAgICAgICAgVVNBUlRfQ1IxX0VPQklFX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBCbG9jayBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9NMV9Qb3MgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9NMV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9NMV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9NMSAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9NMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBXb3JkIGxlbmd0aCBiaXQgMSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfTV9Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfTV9Nc2sgICAgICAgICAgICAgICAoMHgxMDAwMVUgPDwgVVNBUlRfQ1IxX01fUG9zKSAgICAgICAgICAgIC8qITwgMHgxMDAwMTAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfTSAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgW00xOk0wXSBXb3JkIGxlbmd0aCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjJfQURETTdfUG9zICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQURETTdfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQURETTdfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQURETTcgICAgICAgICAgICAgICBVU0FSVF9DUjJfQURETTdfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgNy1iaXQgb3IgNC1iaXQgQWRkcmVzcyBEZXRlY3Rpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCQ0xfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0wgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExhc3QgQml0IENsb2NrIHB1bHNlICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DUEhBX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQaGFzZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Qb3MgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ1BPTF9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTCAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX1BvcyAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NMS0VOX1BvcykgICAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUCAgICAgICAgICAgICAgICBVU0FSVF9DUjJfU1RPUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RPUFsxOjBdIGJpdHMgKFNUT1AgYml0cykgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfMCAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NUT1BfMSAgICAgICAgICAgICAgKDB4MlUgPDwgVVNBUlRfQ1IyX1NUT1BfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NXQVBfUG9zICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX1NXQVBfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX1NXQVBfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1NXQVAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX1NXQVBfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNXQVAgVFgvUlggcGlucyAqLw0KI2RlZmluZSBVU0FSVF9DUjJfUlhJTlZfUG9zICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfUlhJTlZfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfUlhJTlZfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfUlhJTlYgICAgICAgICAgICAgICBVU0FSVF9DUjJfUlhJTlZfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgUlggcGluIGFjdGl2ZSBsZXZlbCBpbnZlcnNpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1RYSU5WX1BvcyAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX1RYSU5WX01zayAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX1RYSU5WX1BvcykgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1RYSU5WICAgICAgICAgICAgICAgVVNBUlRfQ1IyX1RYSU5WX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRYIHBpbiBhY3RpdmUgbGV2ZWwgaW52ZXJzaW9uICovDQojZGVmaW5lIFVTQVJUX0NSMl9EQVRBSU5WX1BvcyAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9EQVRBSU5WX01zayAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9EQVRBSU5WX1BvcykgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9EQVRBSU5WICAgICAgICAgICAgIFVTQVJUX0NSMl9EQVRBSU5WX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBCaW5hcnkgZGF0YSBpbnZlcnNpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX01TQkZJUlNUX1BvcyAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX01TQkZJUlNUX01zayAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX01TQkZJUlNUX1BvcykgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX01TQkZJUlNUICAgICAgICAgICAgVVNBUlRfQ1IyX01TQkZJUlNUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1vc3QgU2lnbmlmaWNhbnQgQml0IEZpcnN0ICovDQojZGVmaW5lIFVTQVJUX0NSMl9BQlJFTl9Qb3MgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9BQlJFTl9Nc2sgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9BQlJFTl9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9BQlJFTiAgICAgICAgICAgICAgIFVTQVJUX0NSMl9BQlJFTl9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBBdXRvIEJhdWQtUmF0ZSBFbmFibGUqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUJSTU9ERV9Qb3MgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQUJSTU9ERV9Nc2sgICAgICAgICAoMHgzVSA8PCBVU0FSVF9DUjJfQUJSTU9ERV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDYwMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUJSTU9ERSAgICAgICAgICAgICBVU0FSVF9DUjJfQUJSTU9ERV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQUJSTU9EWzE6MF0gYml0cyAoQXV0byBCYXVkLVJhdGUgTW9kZSkgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FCUk1PREVfMCAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0FCUk1PREVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FCUk1PREVfMSAgICAgICAgICAgKDB4MlUgPDwgVVNBUlRfQ1IyX0FCUk1PREVfUG9zKSAgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1JUT0VOX1BvcyAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX1JUT0VOX01zayAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX1JUT0VOX1BvcykgICAgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX1JUT0VOICAgICAgICAgICAgICAgVVNBUlRfQ1IyX1JUT0VOX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVyIFRpbWUtT3V0IGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREX1BvcyAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfQ1IyX0FERF9Qb3MpICAgICAgICAgICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQUREICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQUREX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQWRkcmVzcyBvZiB0aGUgVVNBUlQgbm9kZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfRUlFX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfRUlFICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfRUlFX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUxfUG9zICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUxfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfSERTRUxfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfSERTRUwgICAgICAgICAgICAgICBVU0FSVF9DUjNfSERTRUxfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgSGFsZi1EdXBsZXggU2VsZWN0aW9uICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFSX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFJlY2VpdmVyICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX1BvcyAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFUX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFRyYW5zbWl0dGVyICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19SVFNFX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFICAgICAgICAgICAgICAgIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNFX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFICAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Qb3MgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNJRV9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRSAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBDVFMgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfT05FQklUX1BvcyAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfT05FQklUX01zayAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfT05FQklUX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfT05FQklUICAgICAgICAgICAgICBVU0FSVF9DUjNfT05FQklUX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgT25lIHNhbXBsZSBiaXQgbWV0aG9kIGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfT1ZSRElTX1BvcyAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfT1ZSRElTX01zayAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfT1ZSRElTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfT1ZSRElTICAgICAgICAgICAgICBVU0FSVF9DUjNfT1ZSRElTX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcnJ1biBEaXNhYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19ERFJFX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ERFJFX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ERFJFX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQVJUX0NSM19ERFJFICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ERFJFX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBETUEgRGlzYWJsZSBvbiBSZWNlcHRpb24gRXJyb3IgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RFTV9Qb3MgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0RFTV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0RFTV9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0RFTSAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0RFTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERyaXZlciBFbmFibGUgTW9kZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfREVQX1BvcyAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfREVQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfREVQX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfREVQICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfREVQX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRHJpdmVyIEVuYWJsZSBQb2xhcml0eSBTZWxlY3Rpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GUkFDVElPTl9Qb3MgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GUkFDVElPTl9Nc2sgICAgKDB4RlUgPDwgVVNBUlRfQlJSX0RJVl9GUkFDVElPTl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GUkFDVElPTiAgICAgICAgVVNBUlRfQlJSX0RJVl9GUkFDVElPTl9Nc2sgICAgICAgICAgICAgICAvKiE8IEZyYWN0aW9uIG9mIFVTQVJURElWICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTUFOVElTU0FfUG9zICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTUFOVElTU0FfTXNrICAgICgweEZGRlUgPDwgVVNBUlRfQlJSX0RJVl9NQU5USVNTQV9Qb3MpICAgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTUFOVElTU0EgICAgICAgIFVTQVJUX0JSUl9ESVZfTUFOVElTU0FfTXNrICAgICAgICAgICAgICAgLyohPCBNYW50aXNzYSBvZiBVU0FSVERJViAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfR1RQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQyAgICAgICAgICAgICAgICBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFNDWzc6MF0gYml0cyAoUHJlc2NhbGVyIHZhbHVlKSAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX0dUX1BvcyAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9HVFBSX0dUX01zayAgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfR1RQUl9HVF9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwRkYwMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX0dUICAgICAgICAgICAgICAgICBVU0FSVF9HVFBSX0dUX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgR1RbNzowXSBiaXRzIChHdWFyZCB0aW1lIHZhbHVlKSAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfUlRPUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX1JUT1JfUlRPX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1JUT1JfUlRPX01zayAgICAgICAgICAgICgweEZGRkZGRlUgPDwgVVNBUlRfUlRPUl9SVE9fUG9zKSAgICAgICAgLyohPCAweDAwRkZGRkZGICovDQojZGVmaW5lIFVTQVJUX1JUT1JfUlRPICAgICAgICAgICAgICAgIFVTQVJUX1JUT1JfUlRPX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlciBUaW1lIE91dCBWYWx1ZSAqLw0KI2RlZmluZSBVU0FSVF9SVE9SX0JMRU5fUG9zICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9SVE9SX0JMRU5fTXNrICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfUlRPUl9CTEVOX1BvcykgICAgICAgICAgIC8qITwgMHhGRjAwMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9SVE9SX0JMRU4gICAgICAgICAgICAgICBVU0FSVF9SVE9SX0JMRU5fTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmxvY2sgTGVuZ3RoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfUlFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQVJUX1JRUl9BQlJSUV9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1JRUl9BQlJSUV9Nc2sgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1JRUl9BQlJSUV9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQVJUX1JRUl9BQlJSUSAgICAgICAgICAgICAgIFVTQVJUX1JRUl9BQlJSUV9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBBdXRvLUJhdWQgUmF0ZSBSZXF1ZXN0ICovDQojZGVmaW5lIFVTQVJUX1JRUl9TQktSUV9Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1JRUl9TQktSUV9Nc2sgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1JRUl9TQktSUV9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX1JRUl9TQktSUSAgICAgICAgICAgICAgIFVTQVJUX1JRUl9TQktSUV9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBTZW5kIEJyZWFrIFJlcXVlc3QgKi8NCiNkZWZpbmUgVVNBUlRfUlFSX01NUlFfUG9zICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfUlFSX01NUlFfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfUlFSX01NUlFfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfUlFSX01NUlEgICAgICAgICAgICAgICAgVVNBUlRfUlFSX01NUlFfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE11dGUgTW9kZSBSZXF1ZXN0ICovDQojZGVmaW5lIFVTQVJUX1JRUl9SWEZSUV9Qb3MgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1JRUl9SWEZSUV9Nc2sgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1JRUl9SWEZSUV9Qb3MpICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX1JRUl9SWEZSUSAgICAgICAgICAgICAgIFVTQVJUX1JRUl9SWEZSUV9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIERhdGEgZmx1c2ggUmVxdWVzdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0lTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9JU1JfUEVfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JU1JfUEVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JU1JfUEVfUG9zKSAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9JU1JfUEUgICAgICAgICAgICAgICAgICBVU0FSVF9JU1JfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IEVycm9yICovDQojZGVmaW5lIFVTQVJUX0lTUl9GRV9Qb3MgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9GRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9GRV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFVTQVJUX0lTUl9GRSAgICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9GRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGcmFtaW5nIEVycm9yICovDQojZGVmaW5lIFVTQVJUX0lTUl9ORV9Qb3MgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9ORV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9ORV9Qb3MpICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0lTUl9ORSAgICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9ORV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBOb2lzZSBkZXRlY3RlZCBGbGFnICovDQojZGVmaW5lIFVTQVJUX0lTUl9PUkVfUG9zICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9PUkVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9PUkVfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0lTUl9PUkUgICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9PUkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyUnVuIEVycm9yICovDQojZGVmaW5lIFVTQVJUX0lTUl9JRExFX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9JRExFX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9JRExFX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0lTUl9JRExFICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9JRExFX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJRExFIGxpbmUgZGV0ZWN0ZWQgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX1JYTkVfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfSVNSX1JYTkVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfSVNSX1JYTkVfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX1JYTkUgICAgICAgICAgICAgICAgVVNBUlRfSVNSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlYWQgRGF0YSBSZWdpc3RlciBOb3QgRW1wdHkgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX1RDX1BvcyAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfSVNSX1RDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfSVNSX1RDX1BvcykgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX1RDICAgICAgICAgICAgICAgICAgVVNBUlRfSVNSX1RDX01zayAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBDb21wbGV0ZSAqLw0KI2RlZmluZSBVU0FSVF9JU1JfVFhFX1BvcyAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JU1JfVFhFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JU1JfVFhFX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0FSVF9JU1JfVFhFICAgICAgICAgICAgICAgICBVU0FSVF9JU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXQgRGF0YSBSZWdpc3RlciBFbXB0eSAqLw0KI2RlZmluZSBVU0FSVF9JU1JfQ1RTSUZfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JU1JfQ1RTSUZfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JU1JfQ1RTSUZfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9JU1JfQ1RTSUYgICAgICAgICAgICAgICBVU0FSVF9JU1JfQ1RTSUZfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ1RTIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFVTQVJUX0lTUl9DVFNfUG9zICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9DVFNfTXNrICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9DVFNfUG9zKSAgICAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0lTUl9DVFMgICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9DVFNfTXNrICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDVFMgZmxhZyAqLw0KI2RlZmluZSBVU0FSVF9JU1JfUlRPRl9Qb3MgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JU1JfUlRPRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JU1JfUlRPRl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9JU1JfUlRPRiAgICAgICAgICAgICAgICBVU0FSVF9JU1JfUlRPRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgVGltZSBPdXQgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX0FCUkVfUG9zICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfSVNSX0FCUkVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfSVNSX0FCUkVfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX0FCUkUgICAgICAgICAgICAgICAgVVNBUlRfSVNSX0FCUkVfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEF1dG8tQmF1ZCBSYXRlIEVycm9yICovDQojZGVmaW5lIFVTQVJUX0lTUl9BQlJGX1BvcyAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9BQlJGX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9BQlJGX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQVJUX0lTUl9BQlJGICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9BQlJGX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBdXRvLUJhdWQgUmF0ZSBGbGFnICovDQojZGVmaW5lIFVTQVJUX0lTUl9CVVNZX1BvcyAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9CVVNZX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9CVVNZX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFVTQVJUX0lTUl9CVVNZICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXN5IEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX0NNRl9Qb3MgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfSVNSX0NNRl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfSVNSX0NNRl9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX0NNRiAgICAgICAgICAgICAgICAgVVNBUlRfSVNSX0NNRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENoYXJhY3RlciBNYXRjaCBGbGFnICovDQojZGVmaW5lIFVTQVJUX0lTUl9TQktGX1BvcyAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9TQktGX01zayAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9TQktGX1BvcykgICAgICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIFVTQVJUX0lTUl9TQktGICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9TQktGX01zayAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTZW5kIEJyZWFrIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX1JXVV9Qb3MgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfSVNSX1JXVV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfSVNSX1JXVV9Qb3MpICAgICAgICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgVVNBUlRfSVNSX1JXVSAgICAgICAgICAgICAgICAgVVNBUlRfSVNSX1JXVV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgV2FrZSBVcCBmcm9tIG11dGUgbW9kZSBGbGFnICovDQojZGVmaW5lIFVTQVJUX0lTUl9URUFDS19Qb3MgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lTUl9URUFDS19Nc2sgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lTUl9URUFDS19Qb3MpICAgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFVTQVJUX0lTUl9URUFDSyAgICAgICAgICAgICAgIFVTQVJUX0lTUl9URUFDS19Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBFbmFibGUgQWNrbm93bGVkZ2UgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9JU1JfUkVBQ0tfUG9zICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JU1JfUkVBQ0tfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JU1JfUkVBQ0tfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9JU1JfUkVBQ0sgICAgICAgICAgICAgICBVU0FSVF9JU1JfUkVBQ0tfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBFbmFibGUgQWNrbm93bGVkZ2UgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0lDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9JQ1JfUEVDRl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JQ1JfUEVDRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JQ1JfUEVDRl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfUEVDRiAgICAgICAgICAgICAgICBVU0FSVF9JQ1JfUEVDRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGFyaXR5IEVycm9yIENsZWFyIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfSUNSX0ZFQ0ZfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfSUNSX0ZFQ0ZfTXNrICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfSUNSX0ZFQ0ZfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfSUNSX0ZFQ0YgICAgICAgICAgICAgICAgVVNBUlRfSUNSX0ZFQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEZyYW1pbmcgRXJyb3IgQ2xlYXIgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfTkNGX1BvcyAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JQ1JfTkNGX01zayAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JQ1JfTkNGX1BvcykgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfTkNGICAgICAgICAgICAgICAgICBVU0FSVF9JQ1JfTkNGX01zayAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm9pc2UgZGV0ZWN0ZWQgQ2xlYXIgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfT1JFQ0ZfUG9zICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JQ1JfT1JFQ0ZfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JQ1JfT1JFQ0ZfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfT1JFQ0YgICAgICAgICAgICAgICBVU0FSVF9JQ1JfT1JFQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlclJ1biBFcnJvciBDbGVhciBGbGFnICovDQojZGVmaW5lIFVTQVJUX0lDUl9JRExFQ0ZfUG9zICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0lDUl9JRExFQ0ZfTXNrICAgICAgICAgICgweDFVIDw8IFVTQVJUX0lDUl9JRExFQ0ZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQVJUX0lDUl9JRExFQ0YgICAgICAgICAgICAgIFVTQVJUX0lDUl9JRExFQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBJRExFIGxpbmUgZGV0ZWN0ZWQgQ2xlYXIgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfVENDRl9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JQ1JfVENDRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JQ1JfVENDRl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfVENDRiAgICAgICAgICAgICAgICBVU0FSVF9JQ1JfVENDRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIENvbXBsZXRlIENsZWFyIEZsYWcgKi8NCiNkZWZpbmUgVVNBUlRfSUNSX0NUU0NGX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfSUNSX0NUU0NGX01zayAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfSUNSX0NUU0NGX1BvcykgICAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNBUlRfSUNSX0NUU0NGICAgICAgICAgICAgICAgVVNBUlRfSUNSX0NUU0NGX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IENUUyBJbnRlcnJ1cHQgQ2xlYXIgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfUlRPQ0ZfUG9zICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JQ1JfUlRPQ0ZfTXNrICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JQ1JfUlRPQ0ZfUG9zKSAgICAgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfUlRPQ0YgICAgICAgICAgICAgICBVU0FSVF9JQ1JfUlRPQ0ZfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgVGltZSBPdXQgQ2xlYXIgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfQ01DRl9Qb3MgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9JQ1JfQ01DRl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9JQ1JfQ01DRl9Qb3MpICAgICAgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBVU0FSVF9JQ1JfQ01DRiAgICAgICAgICAgICAgICBVU0FSVF9JQ1JfQ01DRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhcmFjdGVyIE1hdGNoIENsZWFyIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9SRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfUkRSX1JEUiAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxRkZVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJEUls4OjBdIGJpdHMgKFJlY2VpdmUgRGF0YSB2YWx1ZSkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9URFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfVERSX1REUiAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxRkZVKSAgICAgICAgICAgICAgICAgICAgICAvKiE8IFREUls4OjBdIGJpdHMgKFRyYW5zbWl0IERhdGEgdmFsdWUpICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgVVNCIERldmljZSBHZW5lcmFsIHJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ05UUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHg0MCkgICAgICAgICAgICAgLyohPCBDb250cm9sIHJlZ2lzdGVyICovDQojZGVmaW5lIFVTQl9JU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDQ0KSAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIgKi8NCiNkZWZpbmUgVVNCX0ZOUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4NDgpICAgICAgICAgICAgIC8qITwgRnJhbWUgbnVtYmVyIHJlZ2lzdGVyICovDQojZGVmaW5lIFVTQl9EQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDRDKSAgICAgICAgICAgICAvKiE8IERldmljZSBhZGRyZXNzIHJlZ2lzdGVyICovDQojZGVmaW5lIFVTQl9CVEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDUwKSAgICAgICAgICAgICAvKiE8IEJ1ZmZlciBUYWJsZSBhZGRyZXNzIHJlZ2lzdGVyICovDQojZGVmaW5lIFVTQl9MUE1DU1IgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDU0KSAgICAgICAgICAgICAvKiE8IExQTSBDb250cm9sIGFuZCBTdGF0dXMgcmVnaXN0ZXIgKi8NCiNkZWZpbmUgVVNCX0JDRFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4NTgpICAgICAgICAgICAgIC8qITwgQmF0dGVyeSBDaGFyZ2luZyBkZXRlY3RvciByZWdpc3RlciovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqICBJU1RSIGludGVycnVwdCBldmVudHMgICoqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9JU1RSX0NUUiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMFUpICAgICAgICAgICAgICAgLyohPCBDb3JyZWN0IFRSYW5zZmVyIChjbGVhci1vbmx5IGJpdCkgKi8NCiNkZWZpbmUgVVNCX0lTVFJfUE1BT1ZSICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwVSkgICAgICAgICAgICAgICAvKiE8IERNQSBPVmVSL3VuZGVycnVuIChjbGVhci1vbmx5IGJpdCkgKi8NCiNkZWZpbmUgVVNCX0lTVFJfRVJSICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwVSkgICAgICAgICAgICAgICAvKiE8IEVSUm9yIChjbGVhci1vbmx5IGJpdCkgKi8NCiNkZWZpbmUgVVNCX0lTVFJfV0tVUCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwVSkgICAgICAgICAgICAgICAvKiE8IFdhS2UgVVAgKGNsZWFyLW9ubHkgYml0KSAqLw0KI2RlZmluZSBVU0JfSVNUUl9TVVNQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDBVKSAgICAgICAgICAgICAgIC8qITwgU1VTUGVuZCAoY2xlYXItb25seSBiaXQpICovDQojZGVmaW5lIFVTQl9JU1RSX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMFUpICAgICAgICAgICAgICAgLyohPCBSRVNFVCAoY2xlYXItb25seSBiaXQpICovDQojZGVmaW5lIFVTQl9JU1RSX1NPRiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMFUpICAgICAgICAgICAgICAgLyohPCBTdGFydCBPZiBGcmFtZSAoY2xlYXItb25seSBiaXQpICovDQojZGVmaW5lIFVTQl9JU1RSX0VTT0YgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMFUpICAgICAgICAgICAgICAgLyohPCBFeHBlY3RlZCBTdGFydCBPZiBGcmFtZSAoY2xlYXItb25seSBiaXQpICovDQojZGVmaW5lIFVTQl9JU1RSX0wxUkVRICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MFUpICAgICAgICAgICAgICAgLyohPCBMUE0gTDEgc3RhdGUgcmVxdWVzdCAgKi8NCiNkZWZpbmUgVVNCX0lTVFJfRElSICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwVSkgICAgICAgICAgICAgICAvKiE8IERJUmVjdGlvbiBvZiB0cmFuc2FjdGlvbiAocmVhZC1vbmx5IGJpdCkgICovDQojZGVmaW5lIFVTQl9JU1RSX0VQX0lEICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRlUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBJRGVudGlmaWVyIChyZWFkLW9ubHkgYml0KSAgKi8NCg0KI2RlZmluZSBVU0JfQ0xSX0NUUiAgICAgICAgICAgICAgICAgICAgICAgICAgKH5VU0JfSVNUUl9DVFIpICAgICAgICAgICAgIC8qITwgY2xlYXIgQ29ycmVjdCBUUmFuc2ZlciBiaXQgKi8NCiNkZWZpbmUgVVNCX0NMUl9QTUFPVlIgICAgICAgICAgICAgICAgICAgICAgICh+VVNCX0lTVFJfUE1BT1ZSKSAgICAgICAgICAvKiE8IGNsZWFyIERNQSBPVmVSL3VuZGVycnVuIGJpdCovDQojZGVmaW5lIFVTQl9DTFJfRVJSICAgICAgICAgICAgICAgICAgICAgICAgICAoflVTQl9JU1RSX0VSUikgICAgICAgICAgICAgLyohPCBjbGVhciBFUlJvciBiaXQgKi8NCiNkZWZpbmUgVVNCX0NMUl9XS1VQICAgICAgICAgICAgICAgICAgICAgICAgICh+VVNCX0lTVFJfV0tVUCkgICAgICAgICAgICAvKiE8IGNsZWFyIFdhS2UgVVAgYml0ICovDQojZGVmaW5lIFVTQl9DTFJfU1VTUCAgICAgICAgICAgICAgICAgICAgICAgICAoflVTQl9JU1RSX1NVU1ApICAgICAgICAgICAgLyohPCBjbGVhciBTVVNQZW5kIGJpdCAqLw0KI2RlZmluZSBVU0JfQ0xSX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgKH5VU0JfSVNUUl9SRVNFVCkgICAgICAgICAgIC8qITwgY2xlYXIgUkVTRVQgYml0ICovDQojZGVmaW5lIFVTQl9DTFJfU09GICAgICAgICAgICAgICAgICAgICAgICAgICAoflVTQl9JU1RSX1NPRikgICAgICAgICAgICAgLyohPCBjbGVhciBTdGFydCBPZiBGcmFtZSBiaXQgKi8NCiNkZWZpbmUgVVNCX0NMUl9FU09GICAgICAgICAgICAgICAgICAgICAgICAgICh+VVNCX0lTVFJfRVNPRikgICAgICAgICAgICAvKiE8IGNsZWFyIEV4cGVjdGVkIFN0YXJ0IE9mIEZyYW1lIGJpdCAqLw0KI2RlZmluZSBVU0JfQ0xSX0wxUkVRICAgICAgICAgICAgICAgICAgICAgICAgKH5VU0JfSVNUUl9MMVJFUSkgICAgICAgICAgIC8qITwgY2xlYXIgTFBNIEwxICBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKiogIENOVFIgY29udHJvbCByZWdpc3RlciBiaXRzIGRlZmluaXRpb25zICAqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NOVFJfQ1RSTSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwVSkgICAgICAgICAgICAgICAvKiE8IENvcnJlY3QgVFJhbnNmZXIgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9QTUFPVlJNICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDBVKSAgICAgICAgICAgICAgIC8qITwgRE1BIE9WZVIvdW5kZXJydW4gTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9FUlJNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDBVKSAgICAgICAgICAgICAgIC8qITwgRVJSb3IgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9XS1VQTSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDBVKSAgICAgICAgICAgICAgIC8qITwgV2FLZSBVUCBNYXNrICovDQojZGVmaW5lIFVTQl9DTlRSX1NVU1BNICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMFUpICAgICAgICAgICAgICAgLyohPCBTVVNQZW5kIE1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfUkVTRVRNICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwVSkgICAgICAgICAgICAgICAvKiE8IFJFU0VUIE1hc2sgICAqLw0KI2RlZmluZSBVU0JfQ05UUl9TT0ZNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDBVKSAgICAgICAgICAgICAgIC8qITwgU3RhcnQgT2YgRnJhbWUgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9FU09GTSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDBVKSAgICAgICAgICAgICAgIC8qITwgRXhwZWN0ZWQgU3RhcnQgT2YgRnJhbWUgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9MMVJFUU0gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODBVKSAgICAgICAgICAgICAgIC8qITwgTFBNIEwxIHN0YXRlIHJlcXVlc3QgaW50ZXJydXB0IG1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfTDFSRVNVTUUgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwVSkgICAgICAgICAgICAgICAvKiE8IExQTSBMMSBSZXN1bWUgcmVxdWVzdCAqLw0KI2RlZmluZSBVU0JfQ05UUl9SRVNVTUUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTBVKSAgICAgICAgICAgICAgIC8qITwgUkVTVU1FIHJlcXVlc3QgKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlNVU1AgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4VSkgICAgICAgICAgICAgICAvKiE8IEZvcmNlIFNVU1BlbmQgKi8NCiNkZWZpbmUgVVNCX0NOVFJfTFBNT0RFICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0VSkgICAgICAgICAgICAgICAvKiE8IExvdy1wb3dlciBNT0RFICovDQojZGVmaW5lIFVTQl9DTlRSX1BEV04gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMlUpICAgICAgICAgICAgICAgLyohPCBQb3dlciBEb1dOICovDQojZGVmaW5lIFVTQl9DTlRSX0ZSRVMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMVUpICAgICAgICAgICAgICAgLyohPCBGb3JjZSBVU0IgUkVTZXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKiogIEJDRFIgY29udHJvbCByZWdpc3RlciBiaXRzIGRlZmluaXRpb25zICAqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0JDRFJfRFBQVSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwVSkgICAgICAgICAgICAgICAvKiE8IERQIFB1bGwtdXAgRW5hYmxlICovICANCiNkZWZpbmUgVVNCX0JDRFJfUFMyREVUICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwVSkgICAgICAgICAgICAgICAvKiE8IFBTMiBwb3J0IG9yIHByb3ByaWV0YXJ5IGNoYXJnZXIgZGV0ZWN0ZWQgKi8gIA0KI2RlZmluZSBVU0JfQkNEUl9TREVUICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDBVKSAgICAgICAgICAgICAgIC8qITwgU2Vjb25kYXJ5IGRldGVjdGlvbiAoU0QpIHN0YXR1cyAqLyAgDQojZGVmaW5lIFVTQl9CQ0RSX1BERVQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMFUpICAgICAgICAgICAgICAgLyohPCBQcmltYXJ5IGRldGVjdGlvbiAoUEQpIHN0YXR1cyAqLyANCiNkZWZpbmUgVVNCX0JDRFJfRENERVQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwVSkgICAgICAgICAgICAgICAvKiE8IERhdGEgY29udGFjdCBkZXRlY3Rpb24gKERDRCkgc3RhdHVzICovIA0KI2RlZmluZSBVU0JfQkNEUl9TREVOICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDhVKSAgICAgICAgICAgICAgIC8qITwgU2Vjb25kYXJ5IGRldGVjdGlvbiAoU0QpIG1vZGUgZW5hYmxlICovIA0KI2RlZmluZSBVU0JfQkNEUl9QREVOICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDRVKSAgICAgICAgICAgICAgIC8qITwgUHJpbWFyeSBkZXRlY3Rpb24gKFBEKSBtb2RlIGVuYWJsZSAqLyAgDQojZGVmaW5lIFVTQl9CQ0RSX0RDREVOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMlUpICAgICAgICAgICAgICAgLyohPCBEYXRhIGNvbnRhY3QgZGV0ZWN0aW9uIChEQ0QpIG1vZGUgZW5hYmxlICovDQojZGVmaW5lIFVTQl9CQ0RSX0JDREVOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMVUpICAgICAgICAgICAgICAgLyohPCBCYXR0ZXJ5IGNoYXJnaW5nIGRldGVjdG9yIChCQ0QpIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqICBMUE0gcmVnaXN0ZXIgYml0cyBkZWZpbml0aW9ucyAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfTFBNQ1NSX0JFU0wgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRjBVKSAgICAgICAgICAgICAgIC8qITwgQkVTTCB2YWx1ZSByZWNlaXZlZCB3aXRoIGxhc3QgQUNLZWQgTFBNIFRva2VuICAqLyANCiNkZWZpbmUgVVNCX0xQTUNTUl9SRU1XQUtFICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4VSkgICAgICAgICAgICAgICAvKiE8IGJSZW1vdGVXYWtlIHZhbHVlIHJlY2VpdmVkIHdpdGggbGFzdCBBQ0tlZCBMUE0gVG9rZW4gKi8gDQojZGVmaW5lIFVTQl9MUE1DU1JfTFBNQUNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMlUpICAgICAgICAgICAgICAgLyohPCBMUE0gVG9rZW4gYWNrbm93bGVkZ2UgZW5hYmxlKi8NCiNkZWZpbmUgVVNCX0xQTUNTUl9MTVBFTiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxVSkgICAgICAgICAgICAgICAvKiE8IExQTSBzdXBwb3J0IGVuYWJsZSAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBGTlIgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucyAgICoqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0ZOUl9SWERQICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwVSkgICAgICAgICAgICAgICAvKiE8IHN0YXR1cyBvZiBEKyBkYXRhIGxpbmUgKi8NCiNkZWZpbmUgVVNCX0ZOUl9SWERNICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwVSkgICAgICAgICAgICAgICAvKiE8IHN0YXR1cyBvZiBELSBkYXRhIGxpbmUgKi8NCiNkZWZpbmUgVVNCX0ZOUl9MQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwVSkgICAgICAgICAgICAgICAvKiE8IExvQ0tlZCAqLw0KI2RlZmluZSBVU0JfRk5SX0xTT0YgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDE4MDBVKSAgICAgICAgICAgICAgIC8qITwgTG9zdCBTT0YgKi8NCiNkZWZpbmUgVVNCX0ZOUl9GTiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwN0ZGVSkgICAgICAgICAgICAgICAvKiE8IEZyYW1lIE51bWJlciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIERBRERSIERldmljZSBBRERSZXNzIGJpdCBkZWZpbml0aW9ucyAgICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfREFERFJfRUYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4ODBVKSAgICAgICAgICAgICAgICAgIC8qITwgVVNCIGRldmljZSBhZGRyZXNzIEVuYWJsZSBGdW5jdGlvbiAqLw0KI2RlZmluZSBVU0JfREFERFJfQUREICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4N0ZVKSAgICAgICAgICAgICAgICAgIC8qITwgVVNCIGRldmljZSBhZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIEVuZHBvaW50IHJlZ2lzdGVyICAgICoqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9FUDBSICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfQkFTRSAgICAgICAgICAgICAgICAgICAvKiE8IGVuZHBvaW50IDAgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KI2RlZmluZSBVU0JfRVAxUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwNCkgICAgICAgICAgIC8qITwgZW5kcG9pbnQgMSByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lIFVTQl9FUDJSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDA4KSAgICAgICAgICAgLyohPCBlbmRwb2ludCAyIHJlZ2lzdGVyIGFkZHJlc3MgKi8NCiNkZWZpbmUgVVNCX0VQM1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4MEMpICAgICAgICAgICAvKiE8IGVuZHBvaW50IDMgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KI2RlZmluZSBVU0JfRVA0UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgxMCkgICAgICAgICAgIC8qITwgZW5kcG9pbnQgNCByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lIFVTQl9FUDVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDE0KSAgICAgICAgICAgLyohPCBlbmRwb2ludCA1IHJlZ2lzdGVyIGFkZHJlc3MgKi8NCiNkZWZpbmUgVVNCX0VQNlIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4MTgpICAgICAgICAgICAvKiE8IGVuZHBvaW50IDYgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KI2RlZmluZSBVU0JfRVA3UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgxQykgICAgICAgICAgIC8qITwgZW5kcG9pbnQgNyByZWdpc3RlciBhZGRyZXNzICovDQovKiBiaXQgcG9zaXRpb25zICovIA0KI2RlZmluZSBVU0JfRVBfQ1RSX1JYICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDBVKSAgICAgICAgICAgICAgIC8qITwgIEVuZFBvaW50IENvcnJlY3QgVFJhbnNmZXIgUlggKi8NCiNkZWZpbmUgVVNCX0VQX0RUT0dfUlggICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwVSkgICAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBEYXRhIFRPR0dMRSBSWCAqLw0KI2RlZmluZSBVU0JfRVBSWF9TVEFUICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDMwMDBVKSAgICAgICAgICAgICAgIC8qITwgIEVuZFBvaW50IFJYIFNUQVR1cyBiaXQgZmllbGQgKi8NCiNkZWZpbmUgVVNCX0VQX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwVSkgICAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBTRVRVUCAqLw0KI2RlZmluZSBVU0JfRVBfVF9GSUVMRCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA2MDBVKSAgICAgICAgICAgICAgIC8qITwgIEVuZFBvaW50IFRZUEUgKi8NCiNkZWZpbmUgVVNCX0VQX0tJTkQgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwVSkgICAgICAgICAgICAgICAvKiE8ICBFbmRQb2ludCBLSU5EICovDQojZGVmaW5lIFVTQl9FUF9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MFUpICAgICAgICAgICAgICAgLyohPCAgRW5kUG9pbnQgQ29ycmVjdCBUUmFuc2ZlciBUWCAqLw0KI2RlZmluZSBVU0JfRVBfRFRPR19UWCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDBVKSAgICAgICAgICAgICAgIC8qITwgIEVuZFBvaW50IERhdGEgVE9HR0xFIFRYICovDQojZGVmaW5lIFVTQl9FUFRYX1NUQVQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAzMFUpICAgICAgICAgICAgICAgLyohPCAgRW5kUG9pbnQgVFggU1RBVHVzIGJpdCBmaWVsZCAqLw0KI2RlZmluZSBVU0JfRVBBRERSX0ZJRUxEICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEZVKSAgICAgICAgICAgICAgIC8qITwgIEVuZFBvaW50IEFERFJlc3MgRklFTEQgKi8NCg0KLyogRW5kUG9pbnQgUkVHaXN0ZXIgTUFTSyAobm8gdG9nZ2xlIGZpZWxkcykgKi8NCiNkZWZpbmUgVVNCX0VQUkVHX01BU0sgICAgIChVU0JfRVBfQ1RSX1JYfFVTQl9FUF9TRVRVUHxVU0JfRVBfVF9GSUVMRHxVU0JfRVBfS0lORHxVU0JfRVBfQ1RSX1RYfFVTQl9FUEFERFJfRklFTEQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFUF9UWVBFWzE6MF0gRW5kUG9pbnQgVFlQRSAqLw0KI2RlZmluZSBVU0JfRVBfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA2MDBVKSAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgVFlQRSBNYXNrICovDQojZGVmaW5lIFVTQl9FUF9CVUxLICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBCVUxLICovDQojZGVmaW5lIFVTQl9FUF9DT05UUk9MICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBDT05UUk9MICovDQojZGVmaW5lIFVTQl9FUF9JU09DSFJPTk9VUyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBJU09DSFJPTk9VUyAqLw0KI2RlZmluZSBVU0JfRVBfSU5URVJSVVBUICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA2MDBVKSAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgSU5URVJSVVBUICovDQojZGVmaW5lIFVTQl9FUF9UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MTZfdCkoflVTQl9FUF9UX0ZJRUxEKSkgJiBVU0JfRVBSRUdfTUFTSykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUEtJTkRfTUFTSyAgICAoflVTQl9FUF9LSU5EICYgVVNCX0VQUkVHX01BU0spICAgICAgICAgICAgLyohPCBFUF9LSU5EIEVuZFBvaW50IEtJTkQgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUQVRfVFhbMTowXSBTVEFUdXMgZm9yIFRYIHRyYW5zZmVyICovDQojZGVmaW5lIFVTQl9FUF9UWF9ESVMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWCBESVNhYmxlZCAqLw0KI2RlZmluZSBVU0JfRVBfVFhfU1RBTEwgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTBVKSAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgVFggU1RBTExlZCAqLw0KI2RlZmluZSBVU0JfRVBfVFhfTkFLICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjBVKSAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgVFggTkFLZWQgKi8NCiNkZWZpbmUgVVNCX0VQX1RYX1ZBTElEICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDMwVSkgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRYIFZBTElEICovDQojZGVmaW5lIFVTQl9FUFRYX0RUT0cxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWCBEYXRhIFRPR2dsZSBiaXQxICovDQojZGVmaW5lIFVTQl9FUFRYX0RUT0cyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWCBEYXRhIFRPR2dsZSBiaXQyICovDQojZGVmaW5lIFVTQl9FUFRYX0RUT0dNQVNLICAoVVNCX0VQVFhfU1RBVHxVU0JfRVBSRUdfTUFTSykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUQVRfUlhbMTowXSBTVEFUdXMgZm9yIFJYIHRyYW5zZmVyICovDQojZGVmaW5lIFVTQl9FUF9SWF9ESVMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBESVNhYmxlZCAqLw0KI2RlZmluZSBVU0JfRVBfUlhfU1RBTEwgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDBVKSAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgUlggU1RBTExlZCAqLw0KI2RlZmluZSBVU0JfRVBfUlhfTkFLICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDBVKSAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgUlggTkFLZWQgKi8NCiNkZWZpbmUgVVNCX0VQX1JYX1ZBTElEICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgzMDAwVSkgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFJYIFZBTElEICovDQojZGVmaW5lIFVTQl9FUFJYX0RUT0cxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBEYXRhIFRPR2dsZSBiaXQxICovDQojZGVmaW5lIFVTQl9FUFJYX0RUT0cyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMFUpICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBEYXRhIFRPR2dsZSBiaXQxICovDQojZGVmaW5lIFVTQl9FUFJYX0RUT0dNQVNLICAoVVNCX0VQUlhfU1RBVHxVU0JfRVBSRUdfTUFTSykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICBXaW5kb3cgV0FUQ0hET0cgKFdXREcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfQ1JfVF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ1JfVF9Nc2sgICAgICAgICAgICgweDdGVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIFdXREdfQ1JfVCAgICAgICAgICAgICAgIFdXREdfQ1JfVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUWzY6MF0gYml0cyAoNy1CaXQgY291bnRlciAoTVNCIHRvIExTQikpICovDQojZGVmaW5lIFdXREdfQ1JfVF8wICAgICAgICAgICAgICgweDAxVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfQ1JfVF8xICAgICAgICAgICAgICgweDAyVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFdXREdfQ1JfVF8yICAgICAgICAgICAgICgweDA0VSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFdXREdfQ1JfVF8zICAgICAgICAgICAgICgweDA4VSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFdXREdfQ1JfVF80ICAgICAgICAgICAgICgweDEwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFdXREdfQ1JfVF81ICAgICAgICAgICAgICgweDIwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFdXREdfQ1JfVF82ICAgICAgICAgICAgICgweDQwVSA8PCBXV0RHX0NSX1RfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NSX1QwIFdXREdfQ1JfVF8wDQojZGVmaW5lICBXV0RHX0NSX1QxIFdXREdfQ1JfVF8xDQojZGVmaW5lICBXV0RHX0NSX1QyIFdXREdfQ1JfVF8yDQojZGVmaW5lICBXV0RHX0NSX1QzIFdXREdfQ1JfVF8zDQojZGVmaW5lICBXV0RHX0NSX1Q0IFdXREdfQ1JfVF80DQojZGVmaW5lICBXV0RHX0NSX1Q1IFdXREdfQ1JfVF81DQojZGVmaW5lICBXV0RHX0NSX1Q2IFdXREdfQ1JfVF82DQoNCiNkZWZpbmUgV1dER19DUl9XREdBX1BvcyAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DUl9XREdBX01zayAgICAgICAgKDB4MVUgPDwgV1dER19DUl9XREdBX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgV1dER19DUl9XREdBICAgICAgICAgICAgV1dER19DUl9XREdBX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFjdGl2YXRpb24gYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19DRlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfQ0ZSX1dfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX1dfTXNrICAgICAgICAgICgweDdGVSA8PCBXV0RHX0NGUl9XX1BvcykgICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDdGICovDQojZGVmaW5lIFdXREdfQ0ZSX1cgICAgICAgICAgICAgIFdXREdfQ0ZSX1dfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBXWzY6MF0gYml0cyAoNy1iaXQgd2luZG93IHZhbHVlKSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzAgICAgICAgICAgICAoMHgwMVUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzEgICAgICAgICAgICAoMHgwMlUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzIgICAgICAgICAgICAoMHgwNFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzMgICAgICAgICAgICAoMHgwOFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzQgICAgICAgICAgICAoMHgxMFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzUgICAgICAgICAgICAoMHgyMFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9XXzYgICAgICAgICAgICAoMHg0MFUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DRlJfVzAgV1dER19DRlJfV18wDQojZGVmaW5lICBXV0RHX0NGUl9XMSBXV0RHX0NGUl9XXzENCiNkZWZpbmUgIFdXREdfQ0ZSX1cyIFdXREdfQ0ZSX1dfMg0KI2RlZmluZSAgV1dER19DRlJfVzMgV1dER19DRlJfV18zDQojZGVmaW5lICBXV0RHX0NGUl9XNCBXV0RHX0NGUl9XXzQNCiNkZWZpbmUgIFdXREdfQ0ZSX1c1IFdXREdfQ0ZSX1dfNQ0KI2RlZmluZSAgV1dER19DRlJfVzYgV1dER19DRlJfV182DQoNCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfUG9zICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfTXNrICAgICAgKDB4M1UgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxODAgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEIgICAgICAgICAgV1dER19DRlJfV0RHVEJfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFdER1RCWzE6MF0gYml0cyAoVGltZXIgQmFzZSkgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfMCAgICAgICAgKDB4MVUgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgV1dER19DRlJfV0RHVEJfMSAgICAgICAgKDB4MlUgPDwgV1dER19DRlJfV0RHVEJfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ0ZSX1dER1RCMCBXV0RHX0NGUl9XREdUQl8wDQojZGVmaW5lICBXV0RHX0NGUl9XREdUQjEgV1dER19DRlJfV0RHVEJfMQ0KDQojZGVmaW5lIFdXREdfQ0ZSX0VXSV9Qb3MgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX0VXSV9Nc2sgICAgICAgICgweDFVIDw8IFdXREdfQ0ZSX0VXSV9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFdXREdfQ0ZSX0VXSSAgICAgICAgICAgIFdXREdfQ0ZSX0VXSV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFYXJseSBXYWtldXAgSW50ZXJydXB0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFdXREdfU1JfRVdJRl9Qb3MgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfU1JfRVdJRl9Nc2sgICAgICAgICgweDFVIDw8IFdXREdfU1JfRVdJRl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFdXREdfU1JfRVdJRiAgICAgICAgICAgIFdXREdfU1JfRVdJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFYXJseSBXYWtldXAgSW50ZXJydXB0IEZsYWcgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KIC8qKg0KICAqIEB9DQogICovDQoNCg0KLyoqIEBhZGR0b2dyb3VwIEV4cG9ydGVkX21hY3JvDQogICogQHsNCiAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBBREMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfQURDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQURDMSkNCg0KI2RlZmluZSBJU19BRENfQ09NTU9OX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBBREMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ1JDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0NSQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IENSQykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBETUEgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19ETUFfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsMykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNCkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gRE1BMV9DaGFubmVsNSkpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKCgoSU5TVEFOQ0UpID09IEdQSU9BKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9CKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9DKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9GKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUElPIEFsdGVybmF0ZSBGdW5jdGlvbiBJbnN0YW5jZXMgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19HUElPX0FGX0lOU1RBTkNFKElOU1RBTkNFKSAgICgoKElOU1RBTkNFKSA9PSBHUElPQSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPQikgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPRikpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBMb2NrIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEdQSU9BKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9CKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfSTJDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gSTJDMSkNCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIElXREcgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19JV0RHX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IElXREcpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUlRDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1JUQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKElOU1RBTkNFKSA9PSBSVEMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU01CVVMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfU01CVVNfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBJMkMxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNQSSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TUElfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBTUEkxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19USU1fSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTQpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTQpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NDM19JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fQ0M0X0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzVfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkpDQoNCiNkZWZpbmUgSVNfVElNX0NDNl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tfU0VMRUNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfRVRSTU9ERTJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX1RJWF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfSVRSWF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fT0NYUkVGX0NMRUFSX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9FTkNPREVSX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fSEFMTF9JTlRFUkZBQ0VfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkpDQogIA0KI2RlZmluZSBJU19USU1fSEFMTF9TRU5TT1JfSU5URVJGQUNFX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpKQ0KDQojZGVmaW5lIElTX1RJTV9YT1JfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX01BU1RFUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fU0xBVkVfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNXzMyQl9DT1VOVEVSX0lOU1RBTkNFKElOU1RBTkNFKSAoMCkNCg0KI2RlZmluZSBJU19USU1fRE1BQlVSU1RfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgICAoKElOU1RBTkNFKSA9PSBUSU0xNykpDQoNCiNkZWZpbmUgSVNfVElNX0JSRUFLX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgICAgICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAgICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCg0KI2RlZmluZSBJU19USU1fQ0NYX0lOU1RBTkNFKElOU1RBTkNFLCBDSEFOTkVMKSBcDQogICAgKCgoKElOU1RBTkNFKSA9PSBUSU0xKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0zKSAmJiAgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8zKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzQpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xNikgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpKSkgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICgoKElOU1RBTkNFKSA9PSBUSU0xNykgJiYgICAgICAgICAgICAgICAgICBcDQogICAgICgoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzEpKSkpDQoNCiNkZWZpbmUgSVNfVElNX0NDWE5fSU5TVEFOQ0UoSU5TVEFOQ0UsIENIQU5ORUwpIFwNCiAgICgoKChJTlNUQU5DRSkgPT0gVElNMSkgJiYgICAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkgfHwgICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMikgfHwgICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMykpKSAgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMTYpICYmICAgICAgICAgICAgICAgICAgIFwNCiAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSkgICAgICAgICAgICAgIFwNCiAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAoKChJTlNUQU5DRSkgPT0gVElNMTcpICYmICAgICAgICAgICAgICAgICAgIFwNCiAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8xKSkpDQoNCiNkZWZpbmUgSVNfVElNX0NPVU5URVJfTU9ERV9TRUxFQ1RfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX1JFUEVUSVRJT05fQ09VTlRFUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0xKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNikgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0xNykpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLX0RJVklTSU9OX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE0KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCg0KI2RlZmluZSBJU19USU1fQktJTjJfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkpDQoNCiNkZWZpbmUgSVNfVElNX1RSR08yX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpKQ0KDQojZGVmaW5lIElTX1RJTV9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTYpICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTcpKQ0KICAgIA0KI2RlZmluZSBJU19USU1fRE1BX0NDX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCiAgICANCiNkZWZpbmUgSVNfVElNX0NPTU1VVEFUSU9OX0VWRU5UX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTEpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE2KSAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTE3KSkNCg0KI2RlZmluZSBJU19USU1fUkVNQVBfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMSkgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMTQpKQ0KDQojZGVmaW5lIElTX1RJTV9BRFZBTkNFRF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoSU5TVEFOQ0UpID09IFRJTTEpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVU0FSVCBJbnN0YW5jZXMgOiBTeW5jaHJvbm91cyBtb2RlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VTQVJUX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCi8qKioqKioqKioqKioqKioqKioqKiBVU0FSVCBJbnN0YW5jZXMgOiBhdXRvIEJhdWQgcmF0ZSBkZXRlY3Rpb24gKioqKioqKioqKioqKiovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VU0FSVF9BVVRPQkFVRFJBVEVfREVURUNUSU9OX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogQXN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9JTlNUQU5DRShJTlNUQU5DRSkgICAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikpDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEhhbGYtRHVwbGV4IG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9IQUxGRFVQTEVYX0lOU1RBTkNFKElOU1RBTkNFKSAgICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpKQ0KDQovKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFyZHdhcmUgRmxvdyBjb250cm9sICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0hXRkxPV19JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikpDQoNCi8qKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBEcml2ZXIgZW5hYmxlIGRldGVjdGlvbiAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9EUklWRVJfRU5BQkxFX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVVNCIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVVNCX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFVTQikNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBXV0RHIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfV1dER19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKElOU1RBTkNFKSA9PSBXV0RHKQ0KDQovKioNCiAgKiBAfQ0KICAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgRm9yIGEgcGFpbmxlc3MgY29kZXMgbWlncmF0aW9uIGJldHdlZW4gdGhlIFNUTTMyRjB4eCBkZXZpY2UgcHJvZHVjdCAgICAgICAqLw0KLyogIGxpbmVzLCB0aGUgYWxpYXNlcyBkZWZpbmVkIGJlbG93IGFyZSBwdXQgaW4gcGxhY2UgdG8gb3ZlcmNvbWUgdGhlICAgICAgICAgKi8NCi8qICBkaWZmZXJlbmNlcyBpbiB0aGUgaW50ZXJydXB0IGhhbmRsZXJzIGFuZCBJUlFuIGRlZmluaXRpb25zLiAgICAgICAgICAgICAgICovDQovKiAgTm8gbmVlZCB0byB1cGRhdGUgZGV2ZWxvcGVkIGludGVycnVwdCBjb2RlIHdoZW4gbW92aW5nIGFjcm9zcyAgICAgICAgICAgICAqLw0KLyogIHByb2R1Y3QgbGluZXMgd2l0aGluIHRoZSBzYW1lIFNUTTMyRjAgRmFtaWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qIEFsaWFzZXMgZm9yIF9fSVJRbiAqLw0KI2RlZmluZSBBREMxX0NPTVBfSVJRbiAgICAgICAgICAgICBBREMxX0lSUW4NCiNkZWZpbmUgRE1BMV9DaDFfSVJRbiAgICAgICAgICAgICAgRE1BMV9DaGFubmVsMV9JUlFuDQojZGVmaW5lIERNQTFfQ2gyXzNfRE1BMl9DaDFfMl9JUlFuIERNQTFfQ2hhbm5lbDJfM19JUlFuDQojZGVmaW5lIERNQTFfQ2hhbm5lbDRfNV82XzdfSVJRbiAgIERNQTFfQ2hhbm5lbDRfNV9JUlFuDQojZGVmaW5lIERNQTFfQ2g0XzdfRE1BMl9DaDNfNV9JUlFuIERNQTFfQ2hhbm5lbDRfNV9JUlFuDQojZGVmaW5lIFJDQ19DUlNfSVJRbiAgICAgICAgICAgICAgIFJDQ19JUlFuDQoNCg0KLyogQWxpYXNlcyBmb3IgX19JUlFIYW5kbGVyICovDQojZGVmaW5lIEFEQzFfQ09NUF9JUlFIYW5kbGVyICAgICAgICAgICAgIEFEQzFfSVJRSGFuZGxlcg0KI2RlZmluZSBETUExX0NoMV9JUlFIYW5kbGVyICAgICAgICAgICAgICBETUExX0NoYW5uZWwxX0lSUUhhbmRsZXINCiNkZWZpbmUgRE1BMV9DaDJfM19ETUEyX0NoMV8yX0lSUUhhbmRsZXIgRE1BMV9DaGFubmVsMl8zX0lSUUhhbmRsZXINCiNkZWZpbmUgRE1BMV9DaGFubmVsNF81XzZfN19JUlFIYW5kbGVyICAgRE1BMV9DaGFubmVsNF81X0lSUUhhbmRsZXINCiNkZWZpbmUgRE1BMV9DaDRfN19ETUEyX0NoM181X0lSUUhhbmRsZXIgRE1BMV9DaGFubmVsNF81X0lSUUhhbmRsZXINCiNkZWZpbmUgUkNDX0NSU19JUlFIYW5kbGVyICAgICAgICAgICAgICAgUkNDX0lSUUhhbmRsZXINCg0KDQojaWZkZWYgX19jcGx1c3BsdXMNCn0NCiNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLw0KDQojZW5kaWYgLyogX19TVE0zMkYwNzB4Nl9IICovDQoNCi8qKg0KICAqIEB9DQogICovDQoNCiAgLyoqDQogICogQH0NCiAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8NCg==