I2lmbmRlZiBfSU1YX1JFR1NfSAojZGVmaW5lIF9JTVhfUkVHU19ICi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiAgTW90b3JvbGEgSU1YIHN5c3RlbSByZWdpc3RlcnMKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqCiAqLwoKIyBpZm5kZWYgX19BU1NFTUJMWV9fCiMgIGRlZmluZSBfX1JFRyh4KQkoKigodm9sYXRpbGUgdTMyICopKHgpKSkKIyBkZWZpbmUgX19SRUcyKHgseSkJXAoJKCBfX2J1aWx0aW5fY29uc3RhbnRfcCh5KSA/IChfX1JFRygoeCkgKyAoeSkpKSBcCgkJCSAgOiAoKih2b2xhdGlsZSB1MzIgKikoKHUzMikmX19SRUcoeCkgKyAoeSkpKSApCiMgZWxzZQojICBkZWZpbmUgX19SRUcoeCkgKHgpCiMgIGRlZmluZSBfX1JFRzIoeCx5KSAoKHgpKyh5KSkKI2VuZGlmCgojZGVmaW5lIElNWF9JT19CQVNFCQkweDAwMjAwMDAwCgovKgogKiAgUmVnaXN0ZXIgQkFTRXMsIGJhc2VkIG9uIE9GRlNFVHMKICoKICovCiNkZWZpbmUgSU1YX0FJUEkxX0JBU0UgICAgICAgICAgICAgKDB4MDAwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfV0RUX0JBU0UgICAgICAgICAgICAgICAoMHgwMTAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9USU0xX0JBU0UgICAgICAgICAgICAgICgweDAyMDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX1RJTTJfQkFTRSAgICAgICAgICAgICAgKDB4MDMwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfUlRDX0JBU0UgICAgICAgICAgICAgICAoMHgwNDAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9MQ0RDX0JBU0UgICAgICAgICAgICAgICgweDA1MDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX1VBUlQxX0JBU0UgICAgICAgICAgICAgKDB4MDYwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfVUFSVDJfQkFTRSAgICAgICAgICAgICAoMHgwNzAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9QV01fQkFTRSAgICAgICAgICAgICAgICgweDA4MDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX0RNQUNfQkFTRSAgICAgICAgICAgICAgKDB4MDkwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfQUlQSTJfQkFTRSAgICAgICAgICAgICAoMHgxMDAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9TSU1fQkFTRSAgICAgICAgICAgICAgICgweDExMDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX1VTQkRfQkFTRSAgICAgICAgICAgICAgKDB4MTIwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfU1BJMV9CQVNFICAgICAgICAgICAgICAoMHgxMzAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9NTUNfQkFTRSAgICAgICAgICAgICAgICgweDE0MDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX0FTUF9CQVNFICAgICAgICAgICAgICAgKDB4MTUwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfQlRBX0JBU0UgICAgICAgICAgICAgICAoMHgxNjAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9JMkNfQkFTRSAgICAgICAgICAgICAgICgweDE3MDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX1NTSV9CQVNFICAgICAgICAgICAgICAgKDB4MTgwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfU1BJMl9CQVNFICAgICAgICAgICAgICAoMHgxOTAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9NU0hDX0JBU0UgICAgICAgICAgICAgICgweDFBMDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX1BMTF9CQVNFICAgICAgICAgICAgICAgKDB4MUIwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfU1lTQ1RSTF9CQVNFICAgICAgICAgICAoMHgxQjgwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9HUElPX0JBU0UgICAgICAgICAgICAgICgweDFDMDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX0VJTV9CQVNFICAgICAgICAgICAgICAgKDB4MjAwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfU0RSQU1DX0JBU0UgICAgICAgICAgICAoMHgyMTAwMCArIElNWF9JT19CQVNFKQojZGVmaW5lIElNWF9NTUFfQkFTRSAgICAgICAgICAgICAgICgweDIyMDAwICsgSU1YX0lPX0JBU0UpCiNkZWZpbmUgSU1YX0FJVENfQkFTRSAgICAgICAgICAgICAgKDB4MjMwMDAgKyBJTVhfSU9fQkFTRSkKI2RlZmluZSBJTVhfQ1NJX0JBU0UgICAgICAgICAgICAgICAoMHgyNDAwMCArIElNWF9JT19CQVNFKQoKLyogV2F0Y2hkb2cgUmVnaXN0ZXJzKi8KCiNkZWZpbmUgV0NSICBfX1JFRyhJTVhfV0RUX0JBU0UgKyAweDAwKSAvKiBXYXRjaGRvZyBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgV1NSICBfX1JFRyhJTVhfV0RUX0JBU0UgKyAweDA0KSAvKiBXYXRjaGRvZyBTZXJ2aWNlIFJlZ2lzdGVyICovCiNkZWZpbmUgV1NUUiBfX1JFRyhJTVhfV0RUX0JBU0UgKyAweDA4KSAvKiBXYXRjaGRvZyBTdGF0dXMgUmVnaXN0ZXIgICovCgovKiBTWVNDVFJMIFJlZ2lzdGVycyAqLwojZGVmaW5lIFNJRFIgICBfX1JFRyhJTVhfU1lTQ1RSTF9CQVNFICsgMHg0KSAvKiBTaWxpY29uIElEIFJlZ2lzdGVyCQkgICAgKi8KI2RlZmluZSBGTUNSICAgX19SRUcoSU1YX1NZU0NUUkxfQkFTRSArIDB4OCkgLyogRnVuY3Rpb24gTXVsdGlwbGV4IENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBHUENSICAgX19SRUcoSU1YX1NZU0NUUkxfQkFTRSArIDB4QykgLyogRnVuY3Rpb24gTXVsdGlwbGV4IENvbnRyb2wgUmVnaXN0ZXIgKi8KCi8qIENoaXAgU2VsZWN0IFJlZ2lzdGVycyAqLwojZGVmaW5lIENTMFUgX19SRUcoSU1YX0VJTV9CQVNFKSAgICAgICAgLyogQ2hpcCBTZWxlY3QgMCBVcHBlciBSZWdpc3RlciAqLwojZGVmaW5lIENTMEwgX19SRUcoSU1YX0VJTV9CQVNFICsgMHg0KSAgLyogQ2hpcCBTZWxlY3QgMCBMb3dlciBSZWdpc3RlciAqLwojZGVmaW5lIENTMVUgX19SRUcoSU1YX0VJTV9CQVNFICsgMHg4KSAgLyogQ2hpcCBTZWxlY3QgMSBVcHBlciBSZWdpc3RlciAqLwojZGVmaW5lIENTMUwgX19SRUcoSU1YX0VJTV9CQVNFICsgMHhjKSAgLyogQ2hpcCBTZWxlY3QgMSBMb3dlciBSZWdpc3RlciAqLwojZGVmaW5lIENTMlUgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgxMCkgLyogQ2hpcCBTZWxlY3QgMiBVcHBlciBSZWdpc3RlciAqLwojZGVmaW5lIENTMkwgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgxNCkgLyogQ2hpcCBTZWxlY3QgMiBMb3dlciBSZWdpc3RlciAqLwojZGVmaW5lIENTM1UgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgxOCkgLyogQ2hpcCBTZWxlY3QgMyBVcHBlciBSZWdpc3RlciAqLwojZGVmaW5lIENTM0wgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgxYykgLyogQ2hpcCBTZWxlY3QgMyBMb3dlciBSZWdpc3RlciAqLwojZGVmaW5lIENTNFUgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgyMCkgLyogQ2hpcCBTZWxlY3QgNCBVcHBlciBSZWdpc3RlciAqLwojZGVmaW5lIENTNEwgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgyNCkgLyogQ2hpcCBTZWxlY3QgNCBMb3dlciBSZWdpc3RlciAqLwojZGVmaW5lIENTNVUgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgyOCkgLyogQ2hpcCBTZWxlY3QgNSBVcHBlciBSZWdpc3RlciAqLwojZGVmaW5lIENTNUwgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgyYykgLyogQ2hpcCBTZWxlY3QgNSBMb3dlciBSZWdpc3RlciAqLwojZGVmaW5lIEVJTSAgX19SRUcoSU1YX0VJTV9CQVNFICsgMHgzMCkgLyogRUlNIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KCi8qIFNEUkFNIGNvbnRyb2xsZXIgcmVnaXN0ZXJzICovCgojZGVmaW5lIFNEQ1RMMCBfX1JFRyhJTVhfU0RSQU1DX0JBU0UpICAgICAgICAvKiBTRFJBTSAwIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTRENUTDEgX19SRUcoSU1YX1NEUkFNQ19CQVNFICsgMHg0KSAgLyogU0RSQU0gMSBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgU0RNSVNDIF9fUkVHKElNWF9TRFJBTUNfQkFTRSArIDB4MTQpIC8qIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIgKi8KI2RlZmluZSBTRFJTVCAgX19SRUcoSU1YX1NEUkFNQ19CQVNFICsgMHgxOCkgLyogU0RSQU0gUmVzZXQgUmVnaXN0ZXIgKi8KCi8qIFBMTCByZWdpc3RlcnMgKi8KI2RlZmluZSBDU0NSICAgX19SRUcoSU1YX1BMTF9CQVNFKSAgICAgICAgLyogQ2xvY2sgU291cmNlIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBNUENUTDAgX19SRUcoSU1YX1BMTF9CQVNFICsgMHg0KSAgLyogTUNVIFBMTCBDb250cm9sIFJlZ2lzdGVyIDAgKi8KI2RlZmluZSBNUENUTDEgX19SRUcoSU1YX1BMTF9CQVNFICsgMHg4KSAgLyogTUNVIFBMTCBhbmQgU3lzdGVtIENsb2NrIFJlZ2lzdGVyIDEgKi8KI2RlZmluZSBTUENUTDAgX19SRUcoSU1YX1BMTF9CQVNFICsgMHhjKSAgLyogU3lzdGVtIFBMTCBDb250cm9sIFJlZ2lzdGVyIDAgKi8KI2RlZmluZSBTUENUTDEgX19SRUcoSU1YX1BMTF9CQVNFICsgMHgxMCkgLyogU3lzdGVtIFBMTCBDb250cm9sIFJlZ2lzdGVyIDEgKi8KI2RlZmluZSBQQ0RSICAgX19SRUcoSU1YX1BMTF9CQVNFICsgMHgyMCkgLyogUGVyaXBoZXJhbCBDbG9jayBEaXZpZGVyIFJlZ2lzdGVyICovCgojZGVmaW5lIENTQ1JfTVBMTF9SRVNUQVJUICgxPDwyMSkKCi8qCiAqICBHUElPIE1vZHVsZSBhbmQgSS9PIE11bHRpcGxleGVyCiAqICB4ID0gMC4uMyBmb3IgcmVnX0EsIHJlZ19CLCByZWdfQywgcmVnX0QKICovCiNkZWZpbmUgRERJUih4KSAgICBfX1JFRzIoSU1YX0dQSU9fQkFTRSArIDB4MDAsICgoeCkgJiAzKSA8PCA4KQojZGVmaW5lIE9DUjEoeCkgICAgX19SRUcyKElNWF9HUElPX0JBU0UgKyAweDA0LCAoKHgpICYgMykgPDwgOCkKI2RlZmluZSBPQ1IyKHgpICAgIF9fUkVHMihJTVhfR1BJT19CQVNFICsgMHgwOCwgKCh4KSAmIDMpIDw8IDgpCiNkZWZpbmUgSUNPTkZBMSh4KSBfX1JFRzIoSU1YX0dQSU9fQkFTRSArIDB4MGMsICgoeCkgJiAzKSA8PCA4KQojZGVmaW5lIElDT05GQTIoeCkgX19SRUcyKElNWF9HUElPX0JBU0UgKyAweDEwLCAoKHgpICYgMykgPDwgOCkKI2RlZmluZSBJQ09ORkIxKHgpIF9fUkVHMihJTVhfR1BJT19CQVNFICsgMHgxNCwgKCh4KSAmIDMpIDw8IDgpCiNkZWZpbmUgSUNPTkZCMih4KSBfX1JFRzIoSU1YX0dQSU9fQkFTRSArIDB4MTgsICgoeCkgJiAzKSA8PCA4KQojZGVmaW5lIERSKHgpICAgICAgX19SRUcyKElNWF9HUElPX0JBU0UgKyAweDFjLCAoKHgpICYgMykgPDwgOCkKI2RlZmluZSBHSVVTKHgpICAgIF9fUkVHMihJTVhfR1BJT19CQVNFICsgMHgyMCwgKCh4KSAmIDMpIDw8IDgpCiNkZWZpbmUgU1NSKHgpICAgICBfX1JFRzIoSU1YX0dQSU9fQkFTRSArIDB4MjQsICgoeCkgJiAzKSA8PCA4KQojZGVmaW5lIElDUjEoeCkgICAgX19SRUcyKElNWF9HUElPX0JBU0UgKyAweDI4LCAoKHgpICYgMykgPDwgOCkKI2RlZmluZSBJQ1IyKHgpICAgIF9fUkVHMihJTVhfR1BJT19CQVNFICsgMHgyYywgKCh4KSAmIDMpIDw8IDgpCiNkZWZpbmUgSU1SKHgpICAgICBfX1JFRzIoSU1YX0dQSU9fQkFTRSArIDB4MzAsICgoeCkgJiAzKSA8PCA4KQojZGVmaW5lIElTUih4KSAgICAgX19SRUcyKElNWF9HUElPX0JBU0UgKyAweDM0LCAoKHgpICYgMykgPDwgOCkKI2RlZmluZSBHUFIoeCkgICAgIF9fUkVHMihJTVhfR1BJT19CQVNFICsgMHgzOCwgKCh4KSAmIDMpIDw8IDgpCiNkZWZpbmUgU1dSKHgpICAgICBfX1JFRzIoSU1YX0dQSU9fQkFTRSArIDB4M2MsICgoeCkgJiAzKSA8PCA4KQojZGVmaW5lIFBVRU4oeCkgICAgX19SRUcyKElNWF9HUElPX0JBU0UgKyAweDQwLCAoKHgpICYgMykgPDwgOCkKCiNkZWZpbmUgR1BJT19QSU5fTUFTSyAweDFmCiNkZWZpbmUgR1BJT19QT1JUX01BU0sgKDB4MyA8PCA1KQoKI2RlZmluZSBHUElPX1BPUlRBICgwPDw1KQojZGVmaW5lIEdQSU9fUE9SVEIgKDE8PDUpCiNkZWZpbmUgR1BJT19QT1JUQyAoMjw8NSkKI2RlZmluZSBHUElPX1BPUlREICgzPDw1KQoKI2RlZmluZSBHUElPX09VVCAgICgxPDw3KQojZGVmaW5lIEdQSU9fSU4gICAgKDA8PDcpCiNkZWZpbmUgR1BJT19QVUVOICAoMTw8OCkKCiNkZWZpbmUgR1BJT19QRiAgICAoMDw8OSkKI2RlZmluZSBHUElPX0FGICAgICgxPDw5KQoKI2RlZmluZSBHUElPX09DUl9NQVNLICgzPDwxMCkKI2RlZmluZSBHUElPX0FJTiAgICgwPDwxMCkKI2RlZmluZSBHUElPX0JJTiAgICgxPDwxMCkKI2RlZmluZSBHUElPX0NJTiAgICgyPDwxMCkKI2RlZmluZSBHUElPX0dQSU8gICgzPDwxMCkKCiNkZWZpbmUgR1BJT19BT1VUICAoMTw8MTIpCiNkZWZpbmUgR1BJT19CT1VUICAoMTw8MTMpCgovKiBhc3NpZ25lbWVudHMgZm9yIEdQSU8gYWx0ZXJuYXRlL3ByaW1hcnkgZnVuY3Rpb25zICovCgovKiBGSVhNRTogVGhpcyBsaXN0IGlzIG5vdCBjb21wbGV0ZWQuIFRoZSBjb3JyZWN0IGRpcmVjdGlvbnMgYXJlCiAqIG1pc3Npbmcgb24gc29tZSAobWFueSkgcGlucwogKi8KI2RlZmluZSBQQTBfUEZfQTI0ICAgICAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMCApCiNkZWZpbmUgUEEwX0FJTl9TUEkyX0NMSyAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDAgKQojZGVmaW5lIFBBMF9BRl9FVE1UUkFDRVNZTkMgICggR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAwICkKI2RlZmluZSBQQTFfQU9VVF9TUEkyX1JYRCAgICAoIEdQSU9fUE9SVEEgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMSApCiNkZWZpbmUgUEExX1BGX1RJTiAgICAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEgKQojZGVmaW5lIFBBMl9QRl9QV00wICAgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIgKQojZGVmaW5lIFBBM19QRl9DU0lfTUNMSyAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzICkKI2RlZmluZSBQQTRfUEZfQ1NJX0QwICAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNCApCiNkZWZpbmUgUEE1X1BGX0NTSV9EMSAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDUgKQojZGVmaW5lIFBBNl9QRl9DU0lfRDIgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA2ICkKI2RlZmluZSBQQTdfUEZfQ1NJX0QzICAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgNyApCiNkZWZpbmUgUEE4X1BGX0NTSV9ENCAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDggKQojZGVmaW5lIFBBOV9QRl9DU0lfRDUgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA5ICkKI2RlZmluZSBQQTEwX1BGX0NTSV9ENiAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTAgKQojZGVmaW5lIFBBMTFfUEZfQ1NJX0Q3ICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMSApCiNkZWZpbmUgUEExMl9QRl9DU0lfVlNZTkMgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEyICkKI2RlZmluZSBQQTEzX1BGX0NTSV9IU1lOQyAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTMgKQojZGVmaW5lIFBBMTRfUEZfQ1NJX1BJWENMSyAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxNCApCiNkZWZpbmUgUEExNV9QRl9JMkNfU0RBICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTUgKQojZGVmaW5lIFBBMTZfUEZfSTJDX1NDTCAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2ICkKI2RlZmluZSBQQTE3X0FGX0VUTVRSQUNFUEtUNCAoIEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMTcgKQojZGVmaW5lIFBBMTdfQUlOX1NQSTJfU1MgICAgICggR1BJT19QT1JUQSB8IEdQSU9fQUlOIHwgMTcgKQojZGVmaW5lIFBBMThfQUZfRVRNVFJBQ0VQS1Q1ICggR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAxOCApCiNkZWZpbmUgUEExOV9BRl9FVE1UUkFDRVBLVDYgKCBHUElPX1BPUlRBIHwgR1BJT19BRiB8IDE5ICkKI2RlZmluZSBQQTIwX0FGX0VUTVRSQUNFUEtUNyAoIEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjAgKQojZGVmaW5lIFBBMjFfUEZfQTAgICAgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyMSApCiNkZWZpbmUgUEEyMl9QRl9DUzQgICAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDIyICkKI2RlZmluZSBQQTIzX1BGX0NTNSAgICAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjMgKQojZGVmaW5lIFBBMjRfUEZfQTE2ICAgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNCApCiNkZWZpbmUgUEEyNF9BRl9FVE1UUkFDRVBLVDAgKCBHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI0ICkKI2RlZmluZSBQQTI1X1BGX0ExNyAgICAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjUgKQojZGVmaW5lIFBBMjVfQUZfRVRNVFJBQ0VQS1QxICggR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNSApCiNkZWZpbmUgUEEyNl9QRl9BMTggICAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI2ICkKI2RlZmluZSBQQTI2X0FGX0VUTVRSQUNFUEtUMiAoIEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjYgKQojZGVmaW5lIFBBMjdfUEZfQTE5ICAgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNyApCiNkZWZpbmUgUEEyN19BRl9FVE1UUkFDRVBLVDMgKCBHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI3ICkKI2RlZmluZSBQQTI4X1BGX0EyMCAgICAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjggKQojZGVmaW5lIFBBMjhfQUZfRVRNUElQRVNUQVQwICggR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyOCApCiNkZWZpbmUgUEEyOV9QRl9BMjEgICAgICAgICAgKCBHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI5ICkKI2RlZmluZSBQQTI5X0FGX0VUTVBJUEVTVEFUMSAoIEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjkgKQojZGVmaW5lIFBBMzBfUEZfQTIyICAgICAgICAgICggR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzMCApCiNkZWZpbmUgUEEzMF9BRl9FVE1QSVBFU1RBVDIgKCBHUElPX1BPUlRBIHwgR1BJT19BRiB8IDMwICkKI2RlZmluZSBQQTMxX1BGX0EyMyAgICAgICAgICAoIEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMzEgKQojZGVmaW5lIFBBMzFfQUZfRVRNVFJBQ0VDTEsgICggR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAzMSApCiNkZWZpbmUgUEI4X1BGX1NEX0RBVDAgICAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiB8IDggKQojZGVmaW5lIFBCOF9BRl9NU19QSU8gICAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fQUYgfCA4ICkKI2RlZmluZSBQQjlfUEZfU0RfREFUMSAgICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOICB8IDkgKQojZGVmaW5lIFBCOV9BRl9NU19QSTEgICAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fQUYgfCA5ICkKI2RlZmluZSBQQjEwX1BGX1NEX0RBVDIgICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOICB8IDEwICkKI2RlZmluZSBQQjEwX0FGX01TX1NDTEtJICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTAgKQojZGVmaW5lIFBCMTFfUEZfU0RfREFUMyAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gIHwgMTEgKQojZGVmaW5lIFBCMTFfQUZfTVNfU0RJTyAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMSApCiNkZWZpbmUgUEIxMl9QRl9TRF9DTEsgICAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fT1VUIHwgMTIgKQojZGVmaW5lIFBCMTJfQUZfTVNfU0NMSzAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMiApCiNkZWZpbmUgUEIxM19QRl9TRF9DTUQgICAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fT1VUIHwgR1BJT19QVUVOIHwgMTMgKQojZGVmaW5lIFBCMTNfQUZfTVNfQlMgICAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMyApCiNkZWZpbmUgUEIxNF9BRl9TU0lfUlhGUyAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE0ICkKI2RlZmluZSBQQjE1X0FGX1NTSV9SWENMSyAgICAoIEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTUgKQojZGVmaW5lIFBCMTZfQUZfU1NJX1JYREFUICAgICggR1BJT19QT1JUQiB8IEdQSU9fSU4gfCBHUElPX0FGIHwgMTYgKQojZGVmaW5lIFBCMTdfQUZfU1NJX1RYREFUICAgICggR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDE3ICkKI2RlZmluZSBQQjE4X0FGX1NTSV9UWEZTICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTggKQojZGVmaW5lIFBCMTlfQUZfU1NJX1RYQ0xLICAgICggR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxOSApCiNkZWZpbmUgUEIyMF9QRl9VU0JEX0FGRSAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIwICkKI2RlZmluZSBQQjIxX1BGX1VTQkRfT0UgICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjEgKQojZGVmaW5lIFBCMjJfUEZVU0JEX1JDViAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyMiApCiNkZWZpbmUgUEIyM19QRl9VU0JEX1NVU1BORCAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIzICkKI2RlZmluZSBQQjI0X1BGX1VTQkRfVlAgICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjQgKQojZGVmaW5lIFBCMjVfUEZfVVNCRF9WTSAgICAgICggR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNSApCiNkZWZpbmUgUEIyNl9QRl9VU0JEX1ZQTyAgICAgKCBHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI2ICkKI2RlZmluZSBQQjI3X1BGX1VTQkRfVk1PICAgICAoIEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjcgKQojZGVmaW5lIFBCMjhfUEZfVUFSVDJfQ1RTICAgICggR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI4ICkKI2RlZmluZSBQQjI5X1BGX1VBUlQyX1JUUyAgICAoIEdQSU9fUE9SVEIgfCBHUElPX0lOIHwgR1BJT19QRiB8IDI5ICkKI2RlZmluZSBQQjMwX1BGX1VBUlQyX1RYRCAgICAoIEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMCApCiNkZWZpbmUgUEIzMV9QRl9VQVJUMl9SWEQgICAgKCBHUElPX1BPUlRCIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAzMSApCiNkZWZpbmUgUEMzX1BGX1NTSV9SWEZTICAgICAgKCBHUElPX1BPUlRDIHwgR1BJT19QRiB8IDMgKQojZGVmaW5lIFBDNF9QRl9TU0lfUlhDTEsgICAgICggR1BJT19QT1JUQyB8IEdQSU9fUEYgfCA0ICkKI2RlZmluZSBQQzVfUEZfU1NJX1JYREFUICAgICAoIEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgR1BJT19QRiB8IDUgKQojZGVmaW5lIFBDNl9QRl9TU0lfVFhEQVQgICAgICggR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDYgKQojZGVmaW5lIFBDN19QRl9TU0lfVFhGUyAgICAgICggR1BJT19QT1JUQyB8IEdQSU9fUEYgfCA3ICkKI2RlZmluZSBQQzhfUEZfU1NJX1RYQ0xLICAgICAoIEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgOCApCiNkZWZpbmUgUEM5X1BGX1VBUlQxX0NUUyAgICAgKCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOSApCiNkZWZpbmUgUEMxMF9QRl9VQVJUMV9SVFMgICAgKCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAxMCApCiNkZWZpbmUgUEMxMV9QRl9VQVJUMV9UWEQgICAgKCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEgKQojZGVmaW5lIFBDMTJfUEZfVUFSVDFfUlhEICAgICggR1BJT19QT1JUQyB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMTIgKQojZGVmaW5lIFBDMTNfUEZfU1BJMV9TUElfUkRZICggR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxMyApCiNkZWZpbmUgUEMxNF9QRl9TUEkxX1NDTEsgICAgKCBHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE0ICkKI2RlZmluZSBQQzE1X1BGX1NQSTFfU1MgICAgICAoIEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTUgKQojZGVmaW5lIFBDMTZfUEZfU1BJMV9NSVNPICAgICggR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNiApCiNkZWZpbmUgUEMxN19QRl9TUEkxX01PU0kgICAgKCBHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE3ICkKI2RlZmluZSBQRDZfUEZfTFNDTEsgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2ICkKI2RlZmluZSBQRDdfUEZfUkVWICAgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX1BGIHwgNyApCiNkZWZpbmUgUEQ3X0FGX1VBUlQyX0RUUiAgICAgKCBHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQUYgfCA3ICkKI2RlZmluZSBQRDdfQUlOX1NQSTJfU0NMSyAgICAoIEdQSU9fUE9SVEQgfCBHUElPX0FJTiB8IDcgKQojZGVmaW5lIFBEOF9QRl9DTFMgICAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fUEYgfCA4ICkKI2RlZmluZSBQRDhfQUZfVUFSVDJfRENEICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA4ICkKI2RlZmluZSBQRDhfQUlOX1NQSTJfU1MgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX0FJTiB8IDggKQojZGVmaW5lIFBEOV9QRl9QUyAgICAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fUEYgfCA5ICkKI2RlZmluZSBQRDlfQUZfVUFSVDJfUkkgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA5ICkKI2RlZmluZSBQRDlfQU9VVF9TUEkyX1JYRCAgICAoIEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgOSApCiNkZWZpbmUgUEQxMF9QRl9TUExfU1BSICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTAgKQojZGVmaW5lIFBEMTBfQUZfVUFSVDJfRFNSICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDEwICkKI2RlZmluZSBQRDEwX0FJTl9TUEkyX1RYRCAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMTAgKQojZGVmaW5lIFBEMTFfUEZfQ09OVFJBU1QgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExICkKI2RlZmluZSBQRDEyX1BGX0FDRF9PRSAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMiApCiNkZWZpbmUgUEQxM19QRl9MUF9IU1lOQyAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTMgKQojZGVmaW5lIFBEMTRfUEZfRkxNX1ZTWU5DICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0ICkKI2RlZmluZSBQRDE1X1BGX0xEMCAgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSApCiNkZWZpbmUgUEQxNl9QRl9MRDEgICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYgKQojZGVmaW5lIFBEMTdfUEZfTEQyICAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3ICkKI2RlZmluZSBQRDE4X1BGX0xEMyAgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCApCiNkZWZpbmUgUEQxOV9QRl9MRDQgICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTkgKQojZGVmaW5lIFBEMjBfUEZfTEQ1ICAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIwICkKI2RlZmluZSBQRDIxX1BGX0xENiAgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMSApCiNkZWZpbmUgUEQyMl9QRl9MRDcgICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjIgKQojZGVmaW5lIFBEMjNfUEZfTEQ4ICAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIzICkKI2RlZmluZSBQRDI0X1BGX0xEOSAgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNCApCiNkZWZpbmUgUEQyNV9QRl9MRDEwICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjUgKQojZGVmaW5lIFBEMjZfUEZfTEQxMSAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI2ICkKI2RlZmluZSBQRDI3X1BGX0xEMTIgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNyApCiNkZWZpbmUgUEQyOF9QRl9MRDEzICAgICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjggKQojZGVmaW5lIFBEMjlfUEZfTEQxNCAgICAgICAgICggR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI5ICkKI2RlZmluZSBQRDMwX1BGX0xEMTUgICAgICAgICAoIEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMCApCiNkZWZpbmUgUEQzMV9QRl9UTVIyT1VUICAgICAgKCBHUElPX1BPUlREIHwgR1BJT19QRiB8IDMxICkKI2RlZmluZSBQRDMxX0JJTl9TUEkyX1RYRCAgICAoIEdQSU9fUE9SVEQgfCBHUElPX0JJTiB8IDMxICkKCi8qCiAqICBETUEgQ29udHJvbGxlcgogKi8KI2RlZmluZSBEQ1IgICAgIF9fUkVHKElNWF9ETUFDX0JBU0UgKzB4MDApCS8qIERNQSBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgRElTUiAgICBfX1JFRyhJTVhfRE1BQ19CQVNFICsweDA0KQkvKiBETUEgSW50ZXJydXB0IHN0YXR1cyBSZWdpc3RlciAqLwojZGVmaW5lIERJTVIgICAgX19SRUcoSU1YX0RNQUNfQkFTRSArMHgwOCkJLyogRE1BIEludGVycnVwdCBtYXNrIFJlZ2lzdGVyICovCiNkZWZpbmUgREJUT1NSICBfX1JFRyhJTVhfRE1BQ19CQVNFICsweDBjKQkvKiBETUEgQnVyc3QgdGltZW91dCBzdGF0dXMgUmVnaXN0ZXIgKi8KI2RlZmluZSBEUlRPU1IgIF9fUkVHKElNWF9ETUFDX0JBU0UgKzB4MTApCS8qIERNQSBSZXF1ZXN0IHRpbWVvdXQgUmVnaXN0ZXIgKi8KI2RlZmluZSBEU0VTUiAgIF9fUkVHKElNWF9ETUFDX0JBU0UgKzB4MTQpCS8qIERNQSBUcmFuc2ZlciBFcnJvciBTdGF0dXMgUmVnaXN0ZXIgKi8KI2RlZmluZSBEQk9TUiAgIF9fUkVHKElNWF9ETUFDX0JBU0UgKzB4MTgpCS8qIERNQSBCdWZmZXIgb3ZlcmZsb3cgc3RhdHVzIFJlZ2lzdGVyICovCiNkZWZpbmUgREJUT0NSICBfX1JFRyhJTVhfRE1BQ19CQVNFICsweDFjKQkvKiBETUEgQnVyc3QgdGltZW91dCBjb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgV1NSQSAgICBfX1JFRyhJTVhfRE1BQ19CQVNFICsweDQwKQkvKiBXLVNpemUgUmVnaXN0ZXIgQSAqLwojZGVmaW5lIFhTUkEgICAgX19SRUcoSU1YX0RNQUNfQkFTRSArMHg0NCkJLyogWC1TaXplIFJlZ2lzdGVyIEEgKi8KI2RlZmluZSBZU1JBICAgIF9fUkVHKElNWF9ETUFDX0JBU0UgKzB4NDgpCS8qIFktU2l6ZSBSZWdpc3RlciBBICovCiNkZWZpbmUgV1NSQiAgICBfX1JFRyhJTVhfRE1BQ19CQVNFICsweDRjKQkvKiBXLVNpemUgUmVnaXN0ZXIgQiAqLwojZGVmaW5lIFhTUkIgICAgX19SRUcoSU1YX0RNQUNfQkFTRSArMHg1MCkJLyogWC1TaXplIFJlZ2lzdGVyIEIgKi8KI2RlZmluZSBZU1JCICAgIF9fUkVHKElNWF9ETUFDX0JBU0UgKzB4NTQpCS8qIFktU2l6ZSBSZWdpc3RlciBCICovCiNkZWZpbmUgU0FSKHgpICBfX1JFRzIoIElNWF9ETUFDX0JBU0UgKyAweDgwLCAoeCkgPDwgNikJLyogU291cmNlIEFkZHJlc3MgUmVnaXN0ZXJzICovCiNkZWZpbmUgREFSKHgpICBfX1JFRzIoIElNWF9ETUFDX0JBU0UgKyAweDg0LCAoeCkgPDwgNikJLyogRGVzdGluYXRpb24gQWRkcmVzcyBSZWdpc3RlcnMgKi8KI2RlZmluZSBDTlRSKHgpIF9fUkVHMiggSU1YX0RNQUNfQkFTRSArIDB4ODgsICh4KSA8PCA2KQkvKiBDb3VudCBSZWdpc3RlcnMgKi8KI2RlZmluZSBDQ1IoeCkgIF9fUkVHMiggSU1YX0RNQUNfQkFTRSArIDB4OGMsICh4KSA8PCA2KQkvKqBDb250cm9sIFJlZ2lzdGVycyAqLwojZGVmaW5lIFJTU1IoeCkgX19SRUcyKCBJTVhfRE1BQ19CQVNFICsgMHg5MCwgKHgpIDw8IDYpCS8qIFJlcXVlc3Qgc291cmNlIHNlbGVjdCBSZWdpc3RlcnMgKi8KI2RlZmluZSBCTFIoeCkgIF9fUkVHMiggSU1YX0RNQUNfQkFTRSArIDB4OTQsICh4KSA8PCA2KQkvKiBCdXJzdCBsZW5ndGggUmVnaXN0ZXJzICovCiNkZWZpbmUgUlRPUih4KSBfX1JFRzIoIElNWF9ETUFDX0JBU0UgKyAweDk4LCAoeCkgPDwgNikJLyogUmVxdWVzdCB0aW1lb3V0IFJlZ2lzdGVycyAqLwojZGVmaW5lIEJVQ1IoeCkgX19SRUcyKCBJTVhfRE1BQ19CQVNFICsgMHg5OCwgKHgpIDw8IDYpCS8qIEJ1cyBVdGlsaXphdGlvbiBSZWdpc3RlcnMgKi8KCi8qIFRPRE86IGRlZmluZSBETUFfUkVRIGxpbmVzICovCgojZGVmaW5lIERDUl9EUlNUICAgICAgICAgICAoMTw8MSkKI2RlZmluZSBEQ1JfREVOICAgICAgICAgICAgKDE8PDApCiNkZWZpbmUgREJUT0NSX0VOICAgICAgICAgICgxPDwxNSkKI2RlZmluZSBEQlRPQ1JfQ05UKHgpICAgICAgKCh4KSAmIDB4N2ZmZiApCiNkZWZpbmUgQ05UUl9DTlQoeCkgICAgICAgICgoeCkgJiAweGZmZmZmZiApCiNkZWZpbmUgQ0NSX0RNT0RfTElORUFSICAgICggMHgwIDw8IDEyICkKI2RlZmluZSBDQ1JfRE1PRF8yRCAgICAgICAgKCAweDEgPDwgMTIgKQojZGVmaW5lIENDUl9ETU9EX0ZJRk8gICAgICAoIDB4MiA8PCAxMiApCiNkZWZpbmUgQ0NSX0RNT0RfRU9CRklGTyAgICggMHgzIDw8IDEyICkKI2RlZmluZSBDQ1JfU01PRF9MSU5FQVIgICAgKCAweDAgPDwgMTAgKQojZGVmaW5lIENDUl9TTU9EXzJEICAgICAgICAoIDB4MSA8PCAxMCApCiNkZWZpbmUgQ0NSX1NNT0RfRklGTyAgICAgICggMHgyIDw8IDEwICkKI2RlZmluZSBDQ1JfU01PRF9FT0JGSUZPICAgKCAweDMgPDwgMTAgKQojZGVmaW5lIENDUl9NRElSX0RFQyAgICAgICAoMTw8OSkKI2RlZmluZSBDQ1JfTVNFTF9CICAgICAgICAgKDE8PDgpCiNkZWZpbmUgQ0NSX0RTSVpfMzIgICAgICAgICggMHgwIDw8IDYgKQojZGVmaW5lIENDUl9EU0laXzggICAgICAgICAoIDB4MSA8PCA2ICkKI2RlZmluZSBDQ1JfRFNJWl8xNiAgICAgICAgKCAweDIgPDwgNiApCiNkZWZpbmUgQ0NSX1NTSVpfMzIgICAgICAgICggMHgwIDw8IDQgKQojZGVmaW5lIENDUl9TU0laXzggICAgICAgICAoIDB4MSA8PCA0ICkKI2RlZmluZSBDQ1JfU1NJWl8xNiAgICAgICAgKCAweDIgPDwgNCApCiNkZWZpbmUgQ0NSX1JFTiAgICAgICAgICAgICgxPDwzKQojZGVmaW5lIENDUl9SUFQgICAgICAgICAgICAoMTw8MikKI2RlZmluZSBDQ1JfRlJDICAgICAgICAgICAgKDE8PDEpCiNkZWZpbmUgQ0NSX0NFTiAgICAgICAgICAgICgxPDwwKQojZGVmaW5lIFJUT1JfRU4gICAgICAgICAgICAoMTw8MTUpCiNkZWZpbmUgUlRPUl9DTEsgICAgICAgICAgICgxPDwxNCkKI2RlZmluZSBSVE9SX1BTQyAgICAgICAgICAgKDE8PDEzKQoKLyoKICogTENEIENvbnRyb2xsZXIKICovCgojZGVmaW5lIExDRENfU1NBCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgwMCkKCiNkZWZpbmUgTENEQ19TSVpFCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgwNCkKI2RlZmluZSBTSVpFX1hNQVgoeCkJKCgoKHgpID4+IDQpICYgMHgzZikgPDwgMjApCiNkZWZpbmUgU0laRV9ZTUFYKHkpICAgICggKHkpICYgMHgxZmYgKQoKI2RlZmluZSBMQ0RDX1ZQVwlfX1JFRyhJTVhfTENEQ19CQVNFKzB4MDgpCiNkZWZpbmUgVlBXX1ZQVyh4KQkoICh4KSAmIDB4M2ZmICkKCiNkZWZpbmUgTENEQ19DUE9TCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgwQykKI2RlZmluZSBDUE9TX0NDMSAgICAgICAgKDE8PDMxKQojZGVmaW5lIENQT1NfQ0MwICAgICAgICAoMTw8MzApCiNkZWZpbmUgQ1BPU19PUCAgICAgICAgICgxPDwyOCkKI2RlZmluZSBDUE9TX0NYUCh4KSAgICAgKCgoeCkgJiAzZmYpIDw8IDE2KQojZGVmaW5lIENQT1NfQ1lQKHkpICAgICAoKHkpICYgMHgxZmYpCgojZGVmaW5lIExDRENfTENXSEIJX19SRUcoSU1YX0xDRENfQkFTRSsweDEwKQojZGVmaW5lIExDV0hCX0JLX0VOICAgICAoMTw8MzEpCiNkZWZpbmUgTENXSEJfQ1codykgICAgICgoKHcpICYgMHgxZikgPDwgMjQpCiNkZWZpbmUgTENXSEJfQ0goaCkgICAgICgoKGgpICYgMHgxZikgPDwgMTYpCiNkZWZpbmUgTENXSEJfQkQoeCkgICAgICgoeCkgJiAweGZmKQoKI2RlZmluZSBMQ0RDX0xDSENDCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgxNCkKI2RlZmluZSBMQ0hDQ19DVVJfQ09MX1IocikgKCgocikgJiAweDFmKSA8PCAxMSkKI2RlZmluZSBMQ0hDQ19DVVJfQ09MX0coZykgKCgoZykgJiAweDNmKSA8PCA1KQojZGVmaW5lIExDSENDX0NVUl9DT0xfQihiKSAoKGIpICYgMHgxZikKCiNkZWZpbmUgTENEQ19QQ1IJX19SRUcoSU1YX0xDRENfQkFTRSsweDE4KQojZGVmaW5lIFBDUl9URlQgICAgICAgICAoMTw8MzEpCiNkZWZpbmUgUENSX0NPTE9SICAgICAgICgxPDwzMCkKI2RlZmluZSBQQ1JfUEJTSVpfMSAgICAgKDA8PDI4KQojZGVmaW5lIFBDUl9QQlNJWl8yICAgICAoMTw8MjgpCiNkZWZpbmUgUENSX1BCU0laXzQgICAgICgyPDwyOCkKI2RlZmluZSBQQ1JfUEJTSVpfOCAgICAgKDM8PDI4KQojZGVmaW5lIFBDUl9CUElYXzEgICAgICAoMDw8MjUpCiNkZWZpbmUgUENSX0JQSVhfMiAgICAgICgxPDwyNSkKI2RlZmluZSBQQ1JfQlBJWF80ICAgICAgKDI8PDI1KQojZGVmaW5lIFBDUl9CUElYXzggICAgICAoMzw8MjUpCiNkZWZpbmUgUENSX0JQSVhfMTIgICAgICg0PDwyNSkKI2RlZmluZSBQQ1JfQlBJWF8xNiAgICAgKDQ8PDI1KQojZGVmaW5lIFBDUl9QSVhQT0wgICAgICAoMTw8MjQpCiNkZWZpbmUgUENSX0ZMTVBPTCAgICAgICgxPDwyMykKI2RlZmluZSBQQ1JfTFBQT0wgICAgICAgKDE8PDIyKQojZGVmaW5lIFBDUl9DTEtQT0wgICAgICAoMTw8MjEpCiNkZWZpbmUgUENSX09FUE9MICAgICAgICgxPDwyMCkKI2RlZmluZSBQQ1JfU0NMS0lETEUgICAgKDE8PDE5KQojZGVmaW5lIFBDUl9FTkRfU0VMICAgICAoMTw8MTgpCiNkZWZpbmUgUENSX0VORF9CWVRFX1NXQVAgKDE8PDE3KQojZGVmaW5lIFBDUl9SRVZfVlMgICAgICAoMTw8MTYpCiNkZWZpbmUgUENSX0FDRF9TRUwgICAgICgxPDwxNSkKI2RlZmluZSBQQ1JfQUNEKHgpICAgICAgKCgoeCkgJiAweDdmKSA8PCA4KQojZGVmaW5lIFBDUl9TQ0xLX1NFTCAgICAoMTw8NykKI2RlZmluZSBQQ1JfU0hBUlAgICAgICAgKDE8PDYpCiNkZWZpbmUgUENSX1BDRCh4KSAgICAgICgoeCkgJiAweDNmKQoKI2RlZmluZSBMQ0RDX0hDUglfX1JFRyhJTVhfTENEQ19CQVNFKzB4MUMpCiNkZWZpbmUgSENSX0hfV0lEVEgoeCkgICgoKHgpICYgMHgzZikgPDwgMjYpCiNkZWZpbmUgSENSX0hfV0FJVF8xKHgpICgoKHgpICYgMHhmZikgPDwgOCkKI2RlZmluZSBIQ1JfSF9XQUlUXzIoeCkgKCh4KSAmIDB4ZmYpCgojZGVmaW5lIExDRENfVkNSCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgyMCkKI2RlZmluZSBWQ1JfVl9XSURUSCh4KSAgKCgoeCkgJiAweDNmKSA8PCAyNikKI2RlZmluZSBWQ1JfVl9XQUlUXzEoeCkgKCgoeCkgJiAweGZmKSA8PCA4KQojZGVmaW5lIFZDUl9WX1dBSVRfMih4KSAoKHgpICYgMHhmZikKCiNkZWZpbmUgTENEQ19QT1MJX19SRUcoSU1YX0xDRENfQkFTRSsweDI0KQojZGVmaW5lIFBPU19QT1MoeCkgICAgICAoKHgpICYgMWYpCgojZGVmaW5lIExDRENfTFNDUjEJX19SRUcoSU1YX0xDRENfQkFTRSsweDI4KQojZGVmaW5lIExTQ1IxX0dSQVkxKHgpICAoKCh4KSAmIDB4ZikgPDwgNCkKI2RlZmluZSBMU0NSMV9HUkFZMih4KSAgKCh4KSAmIDB4ZikKCiNkZWZpbmUgTENEQ19QV01SCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgyQykKI2RlZmluZSBQV01SX0NMUyh4KSAgICAgKCgoeCkgJiAweDFmZikgPDwgMTYpCiNkZWZpbmUgUFdNUl9MRE1TSyAgICAgICgxPDwxNSkKI2RlZmluZSBQV01SX1NDUjEgICAgICAgKDE8PDEwKQojZGVmaW5lIFBXTVJfU0NSMCAgICAgICAoMTw8OSkKI2RlZmluZSBQV01SX0NDX0VOICAgICAgKDE8PDgpCiNkZWZpbmUgUFdNUl9QVyh4KSAgICAgICgoeCkgJiAweGZmKQoKI2RlZmluZSBMQ0RDX0RNQUNSCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgzMCkKI2RlZmluZSBETUFDUl9CVVJTVCAgICAgKDE8PDMxKQojZGVmaW5lIERNQUNSX0hNKHgpICAgICAoKCh4KSAmIDB4ZikgPDwgMTYpCiNkZWZpbmUgRE1BQ1JfVE0oeCkgICAgICgoeCkgJjB4ZikKCiNkZWZpbmUgTENEQ19STUNSCV9fUkVHKElNWF9MQ0RDX0JBU0UrMHgzNCkKI2RlZmluZSBSTUNSX0xDRENfRU4JCSgxPDwxKQojZGVmaW5lIFJNQ1JfU0VMRl9SRUYJCSgxPDwwKQoKI2RlZmluZSBMQ0RDX0xDRElDUglfX1JFRyhJTVhfTENEQ19CQVNFKzB4MzgpCiNkZWZpbmUgTENESUNSX0lOVF9TWU4gICgxPDwyKQojZGVmaW5lIExDRElDUl9JTlRfQ09OICAoMSkKCiNkZWZpbmUgTENEQ19MQ0RJU1IJX19SRUcoSU1YX0xDRENfQkFTRSsweDQwKQojZGVmaW5lIExDRElTUl9VRFJfRVJSICgxPDwzKQojZGVmaW5lIExDRElTUl9FUlJfUkVTICgxPDwyKQojZGVmaW5lIExDRElTUl9FT0YgICAgICgxPDwxKQojZGVmaW5lIExDRElTUl9CT0YgICAgICgxPDwwKQovKgogKiAgVUFSVCBNb2R1bGUKICovCiNkZWZpbmUgVVJYRDAoeCkgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4MCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBSZWNlaXZlciBSZWdpc3RlciAqLwojZGVmaW5lIFVSVFgwKHgpIF9fUkVHMiggSU1YX1VBUlQxX0JBU0UgKyAweDQwLCAoKHgpICYgMSkgPDwgMTIpCS8qIFRyYW5zbWl0dGVyIFJlZ2lzdGVyICovCiNkZWZpbmUgVUNSMSh4KSAgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4ODAsICgoeCkgJiAxKSA8PCAxMikJLyogQ29udHJvbCBSZWdpc3RlciAxICovCiNkZWZpbmUgVUNSMih4KSAgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4ODQsICgoeCkgJiAxKSA8PCAxMikJLyogQ29udHJvbCBSZWdpc3RlciAyICovCiNkZWZpbmUgVUNSMyh4KSAgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4ODgsICgoeCkgJiAxKSA8PCAxMikJLyogQ29udHJvbCBSZWdpc3RlciAzICovCiNkZWZpbmUgVUNSNCh4KSAgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4OGMsICgoeCkgJiAxKSA8PCAxMikJLyogQ29udHJvbCBSZWdpc3RlciA0ICovCiNkZWZpbmUgVUZDUih4KSAgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4OTAsICgoeCkgJiAxKSA8PCAxMikJLyogRklGTyBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgVVNSMSh4KSAgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4OTQsICgoeCkgJiAxKSA8PCAxMikJLyogU3RhdHVzIFJlZ2lzdGVyIDEgKi8KI2RlZmluZSBVU1IyKHgpICBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHg5OCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBTdGF0dXMgUmVnaXN0ZXIgMiAqLwojZGVmaW5lIFVFU0MoeCkgIF9fUkVHMiggSU1YX1VBUlQxX0JBU0UgKyAweDljLCAoKHgpICYgMSkgPDwgMTIpCS8qIEVzY2FwZSBDaGFyYWN0ZXIgUmVnaXN0ZXIgKi8KI2RlZmluZSBVVElNKHgpICBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhhMCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBFc2NhcGUgVGltZXIgUmVnaXN0ZXIgKi8KI2RlZmluZSBVQklSKHgpICBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhhNCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBCUk0gSW5jcmVtZW50YWwgUmVnaXN0ZXIgKi8KI2RlZmluZSBVQk1SKHgpICBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhhOCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyICovCiNkZWZpbmUgVUJSQyh4KSAgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4YWMsICgoeCkgJiAxKSA8PCAxMikJLyogQmF1ZCBSYXRlIENvdW50IFJlZ2lzdGVyICovCiNkZWZpbmUgQklQUjEoeCkgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4YjAsICgoeCkgJiAxKSA8PCAxMikJLyogSW5jcmVtZW50YWwgUHJlc2V0IFJlZ2lzdGVyIDEgKi8KI2RlZmluZSBCSVBSMih4KSBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhiNCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBJbmNyZW1lbnRhbCBQcmVzZXQgUmVnaXN0ZXIgMiAqLwojZGVmaW5lIEJJUFIzKHgpIF9fUkVHMiggSU1YX1VBUlQxX0JBU0UgKyAweGI4LCAoKHgpICYgMSkgPDwgMTIpCS8qIEluY3JlbWVudGFsIFByZXNldCBSZWdpc3RlciAzICovCiNkZWZpbmUgQklQUjQoeCkgX19SRUcyKCBJTVhfVUFSVDFfQkFTRSArIDB4YmMsICgoeCkgJiAxKSA8PCAxMikJLyogSW5jcmVtZW50YWwgUHJlc2V0IFJlZ2lzdGVyIDQgKi8KI2RlZmluZSBCTVBSMSh4KSBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhjMCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDEgKi8KI2RlZmluZSBCTVBSMih4KSBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhjNCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDIgKi8KI2RlZmluZSBCTVBSMyh4KSBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhjOCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDMgKi8KI2RlZmluZSBCTVBSNCh4KSBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhjYywgKCh4KSAmIDEpIDw8IDEyKQkvKiBCUk0gTW9kdWxhdG9yIFJlZ2lzdGVyIDQgKi8KI2RlZmluZSBVVFMoeCkgICBfX1JFRzIoIElNWF9VQVJUMV9CQVNFICsgMHhkMCwgKCh4KSAmIDEpIDw8IDEyKQkvKiBVQVJUIFRlc3QgUmVnaXN0ZXIgKi8KCi8qIFVBUlQgQ29udHJvbCBSZWdpc3RlciBCaXQgRmllbGRzLiovCiNkZWZpbmUgIFVSWERfQ0hBUlJEWSAgICAoMTw8MTUpCiNkZWZpbmUgIFVSWERfRVJSICAgICAgICAoMTw8MTQpCiNkZWZpbmUgIFVSWERfT1ZSUlVOICAgICAoMTw8MTMpCiNkZWZpbmUgIFVSWERfRlJNRVJSICAgICAoMTw8MTIpCiNkZWZpbmUgIFVSWERfQlJLICAgICAgICAoMTw8MTEpCiNkZWZpbmUgIFVSWERfUFJFUlIgICAgICAoMTw8MTApCiNkZWZpbmUgIFVDUjFfQURFTiAgICAgICAoMTw8MTUpIC8qIEF1dG8gZGVjdGVjdCBpbnRlcnJ1cHQgKi8KI2RlZmluZSAgVUNSMV9BREJSICAgICAgICgxPDwxNCkgLyogQXV0byBkZXRlY3QgYmF1ZCByYXRlICovCiNkZWZpbmUgIFVDUjFfVFJEWUVOICAgICAoMTw8MTMpIC8qIFRyYW5zbWl0dGVyIHJlYWR5IGludGVycnVwdCBlbmFibGUgKi8KI2RlZmluZSAgVUNSMV9JREVOICAgICAgICgxPDwxMikgLyogSWRsZSBjb25kaXRpb24gaW50ZXJydXB0ICovCiNkZWZpbmUgIFVDUjFfUlJEWUVOICAgICAoMTw8OSkJIC8qIFJlY3YgcmVhZHkgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IxX1JETUFFTiAgICAgKDE8PDgpCSAvKiBSZWN2IHJlYWR5IERNQSBlbmFibGUgKi8KI2RlZmluZSAgVUNSMV9JUkVOICAgICAgICgxPDw3KQkgLyogSW5mcmFyZWQgaW50ZXJmYWNlIGVuYWJsZSAqLwojZGVmaW5lICBVQ1IxX1RYTVBUWUVOICAgKDE8PDYpCSAvKiBUcmFuc2ltaXR0ZXIgZW1wdHkgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IxX1JUU0RFTiAgICAgKDE8PDUpCSAvKiBSVFMgZGVsdGEgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IxX1NOREJSSyAgICAgKDE8PDQpCSAvKiBTZW5kIGJyZWFrICovCiNkZWZpbmUgIFVDUjFfVERNQUVOICAgICAoMTw8MykJIC8qIFRyYW5zbWl0dGVyIHJlYWR5IERNQSBlbmFibGUgKi8KI2RlZmluZSAgVUNSMV9VQVJUQ0xLRU4gICgxPDwyKQkgLyogVUFSVCBjbG9jayBlbmFibGVkICovCiNkZWZpbmUgIFVDUjFfRE9aRSAgICAgICAoMTw8MSkJIC8qIERvemUgKi8KI2RlZmluZSAgVUNSMV9VQVJURU4gICAgICgxPDwwKQkgLyogVUFSVCBlbmFibGVkICovCiNkZWZpbmUgIFVDUjJfRVNDSSAgICAgCSAoMTw8MTUpIC8qIEVzY2FwZSBzZXEgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IyX0lSVFMgIAkgKDE8PDE0KSAvKiBJZ25vcmUgUlRTIHBpbiAqLwojZGVmaW5lICBVQ1IyX0NUU0MgIAkgKDE8PDEzKSAvKiBDVFMgcGluIGNvbnRyb2wgKi8KI2RlZmluZSAgVUNSMl9DVFMgICAgICAgICgxPDwxMikgLyogQ2xlYXIgdG8gc2VuZCAqLwojZGVmaW5lICBVQ1IyX0VTQ0VOICAgICAgKDE8PDExKSAvKiBFc2NhcGUgZW5hYmxlICovCiNkZWZpbmUgIFVDUjJfUFJFTiAgICAgICAoMTw8OCkgLyogUGFyaXR5IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IyX1BST0UgICAgICAgKDE8PDcpIC8qIFBhcml0eSBvZGQvZXZlbiAqLwojZGVmaW5lICBVQ1IyX1NUUEIgICAgICAgKDE8PDYpCS8qIFN0b3AgKi8KI2RlZmluZSAgVUNSMl9XUyAgICAgICAgICgxPDw1KQkvKiBXb3JkIHNpemUgKi8KI2RlZmluZSAgVUNSMl9SVFNFTiAgICAgICgxPDw0KQkvKiBSZXF1ZXN0IHRvIHNlbmQgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IyX1RYRU4gICAgICAgKDE8PDIpCS8qIFRyYW5zbWl0dGVyIGVuYWJsZWQgKi8KI2RlZmluZSAgVUNSMl9SWEVOICAgICAgICgxPDwxKQkvKiBSZWNlaXZlciBlbmFibGVkICovCiNkZWZpbmUgIFVDUjJfU1JTVCAJICgxPDwwKQkvKiBTVyByZXNldCAqLwojZGVmaW5lICBVQ1IzX0RUUkVOIAkgKDE8PDEzKSAvKiBEVFIgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IzX1BBUkVSUkVOICAgKDE8PDEyKSAvKiBQYXJpdHkgZW5hYmxlICovCiNkZWZpbmUgIFVDUjNfRlJBRVJSRU4gICAoMTw8MTEpIC8qIEZyYW1lIGVycm9yIGludGVycnVwdCBlbmFibGUgKi8KI2RlZmluZSAgVUNSM19EU1IgICAgICAgICgxPDwxMCkgLyogRGF0YSBzZXQgcmVhZHkgKi8KI2RlZmluZSAgVUNSM19EQ0QgICAgICAgICgxPDw5KSAgLyogRGF0YSBjYXJyaWVyIGRldGVjdCAqLwojZGVmaW5lICBVQ1IzX1JJICAgICAgICAgKDE8PDgpICAvKiBSaW5nIGluZGljYXRvciAqLwojZGVmaW5lICBVQ1IzX1RJTUVPVVRFTiAgKDE8PDcpICAvKiBUaW1lb3V0IGludGVycnVwdCBlbmFibGUgKi8KI2RlZmluZSAgVUNSM19SWERTRU4JICgxPDw2KSAgLyogUmVjZWl2ZSBzdGF0dXMgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1IzX0FJUklOVEVOICAgKDE8PDUpICAvKiBBc3luYyBJUiB3YWtlIGludGVycnVwdCBlbmFibGUgKi8KI2RlZmluZSAgVUNSM19BV0FLRU4JICgxPDw0KSAgLyogQXN5bmMgd2FrZSBpbnRlcnJ1cHQgZW5hYmxlICovCiNkZWZpbmUgIFVDUjNfUkVGMjUgCSAoMTw8MykgIC8qIFJlZiBmcmVxIDI1IE1IeiAqLwojZGVmaW5lICBVQ1IzX1JFRjMwIAkgKDE8PDIpICAvKiBSZWYgRnJlcSAzMCBNSHogKi8KI2RlZmluZSAgVUNSM19JTlZUICAJICgxPDwxKSAgLyogSW52ZXJ0ZWQgSW5mcmFyZWQgdHJhbnNtaXNzaW9uICovCiNkZWZpbmUgIFVDUjNfQlBFTiAgCSAoMTw8MCkgIC8qIFByZXNldCByZWdpc3RlcnMgZW5hYmxlICovCiNkZWZpbmUgIFVDUjRfQ1RTVExfMzIgICAoMzI8PDEwKSAvKiBDVFMgdHJpZ2dlciBsZXZlbCAoMzIgY2hhcnMpICovCiNkZWZpbmUgIFVDUjRfSU5WUiAgCSAoMTw8OSkgIC8qIEludmVydGVkIGluZnJhcmVkIHJlY2VwdGlvbiAqLwojZGVmaW5lICBVQ1I0X0VOSVJJIAkgKDE8PDgpICAvKiBTZXJpYWwgaW5mcmFyZWQgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1I0X1dLRU4gIAkgKDE8PDcpICAvKiBXYWtlIGludGVycnVwdCBlbmFibGUgKi8KI2RlZmluZSAgVUNSNF9SRUYxNiAJICgxPDw2KSAgLyogUmVmIGZyZXEgMTYgTUh6ICovCiNkZWZpbmUgIFVDUjRfSVJTQyAgCSAoMTw8NSkgLyogSVIgc3BlY2lhbCBjYXNlICovCiNkZWZpbmUgIFVDUjRfVENFTiAgCSAoMTw8MykgLyogVHJhbnNtaXQgY29tcGxldGUgaW50ZXJydXB0IGVuYWJsZSAqLwojZGVmaW5lICBVQ1I0X0JLRU4gIAkgKDE8PDIpIC8qIEJyZWFrIGNvbmRpdGlvbiBpbnRlcnJ1cHQgZW5hYmxlICovCiNkZWZpbmUgIFVDUjRfT1JFTiAgCSAoMTw8MSkgLyogUmVjZWl2ZXIgb3ZlcnJ1biBpbnRlcnJ1cHQgZW5hYmxlICovCiNkZWZpbmUgIFVDUjRfRFJFTiAgCSAoMTw8MCkgLyogUmVjdiBkYXRhIHJlYWR5IGludGVycnVwdCBlbmFibGUgKi8KI2RlZmluZSAgVUZDUl9SWFRMX1NIRiAgIDAgICAgICAvKiBSZWNlaXZlciB0cmlnZ2VyIGxldmVsIHNoaWZ0ICovCiNkZWZpbmUgIFVGQ1JfUkZESVYgICAgICAoNzw8NykgLyogUmVmZXJlbmNlIGZyZXEgZGl2aWRlciBtYXNrICovCiNkZWZpbmUgIFVGQ1JfVFhUTF9TSEYgICAxMCAgICAgLyogVHJhbnNtaXR0ZXIgdHJpZ2dlciBsZXZlbCBzaGlmdCAqLwojZGVmaW5lICBVU1IxX1BBUklUWUVSUiAgKDE8PDE1KSAvKiBQYXJpdHkgZXJyb3IgaW50ZXJydXB0IGZsYWcgKi8KI2RlZmluZSAgVVNSMV9SVFNTICAJICgxPDwxNCkgLyogUlRTIHBpbiBzdGF0dXMgKi8KI2RlZmluZSAgVVNSMV9UUkRZICAJICgxPDwxMykgLyogVHJhbnNtaXR0ZXIgcmVhZHkgaW50ZXJydXB0L2RtYSBmbGFnICovCiNkZWZpbmUgIFVTUjFfUlRTRCAgCSAoMTw8MTIpIC8qIFJUUyBkZWx0YSAqLwojZGVmaW5lICBVU1IxX0VTQ0YgIAkgKDE8PDExKSAvKiBFc2NhcGUgc2VxIGludGVycnVwdCBmbGFnICovCiNkZWZpbmUgIFVTUjFfRlJBTUVSUiAgICAoMTw8MTApIC8qIEZyYW1lIGVycm9yIGludGVycnVwdCBmbGFnICovCiNkZWZpbmUgIFVTUjFfUlJEWSAgICAgICAoMTw8OSkJLyogUmVjZWl2ZXIgcmVhZHkgaW50ZXJydXB0L2RtYSBmbGFnICovCiNkZWZpbmUgIFVTUjFfVElNRU9VVCAgICAoMTw8NykJLyogUmVjZWl2ZSB0aW1lb3V0IGludGVycnVwdCBzdGF0dXMgKi8KI2RlZmluZSAgVVNSMV9SWERTICAJICgxPDw2KQkvKiBSZWNlaXZlciBpZGxlIGludGVycnVwdCBmbGFnICovCiNkZWZpbmUgIFVTUjFfQUlSSU5UCSAoMTw8NSkJLyogQXN5bmMgSVIgd2FrZSBpbnRlcnJ1cHQgZmxhZyAqLwojZGVmaW5lICBVU1IxX0FXQUtFIAkgKDE8PDQpCS8qIEF5c25jIHdha2UgaW50ZXJydXB0IGZsYWcgKi8KI2RlZmluZSAgVVNSMl9BREVUICAJICgxPDwxNSkgLyogQXV0byBiYXVkIHJhdGUgZGV0ZWN0IGNvbXBsZXRlICovCiNkZWZpbmUgIFVTUjJfVFhGRSAgCSAoMTw8MTQpIC8qIFRyYW5zbWl0IGJ1ZmZlciBGSUZPIGVtcHR5ICovCiNkZWZpbmUgIFVTUjJfRFRSRiAgCSAoMTw8MTMpIC8qIERUUiBlZGdlIGludGVycnVwdCBmbGFnICovCiNkZWZpbmUgIFVTUjJfSURMRSAgCSAoMTw8MTIpIC8qIElkbGUgY29uZGl0aW9uICovCiNkZWZpbmUgIFVTUjJfSVJJTlQgCSAoMTw8OCkJLyogU2VyaWFsIGluZnJhcmVkIGludGVycnVwdCBmbGFnICovCiNkZWZpbmUgIFVTUjJfV0FLRSAgCSAoMTw8NykJLyogV2FrZSAqLwojZGVmaW5lICBVU1IyX1JUU0YgIAkgKDE8PDQpCS8qIFJUUyBlZGdlIGludGVycnVwdCBmbGFnICovCiNkZWZpbmUgIFVTUjJfVFhEQyAgCSAoMTw8MykJLyogVHJhbnNtaXR0ZXIgY29tcGxldGUgKi8KI2RlZmluZSAgVVNSMl9CUkNEICAJICgxPDwyKQkvKiBCcmVhayBjb25kaXRpb24gKi8KI2RlZmluZSAgVVNSMl9PUkUgICAgICAgICgxPDwxKQkvKiBPdmVycnVuIGVycm9yICovCiNkZWZpbmUgIFVTUjJfUkRSICAgICAgICAoMTw8MCkJLyogUmVjdiBkYXRhIHJlYWR5ICovCiNkZWZpbmUgIFVUU19GUkNQRVJSCSAoMTw8MTMpIC8qIEZvcmNlIHBhcml0eSBlcnJvciAqLwojZGVmaW5lICBVVFNfTE9PUCAgICAgICAgKDE8PDEyKSAvKiBMb29wIHR4IGFuZCByeCAqLwojZGVmaW5lICBVVFNfVFhFTVBUWQkgKDE8PDYpCS8qIFR4RklGTyBlbXB0eSAqLwojZGVmaW5lICBVVFNfUlhFTVBUWQkgKDE8PDUpCS8qIFJ4RklGTyBlbXB0eSAqLwojZGVmaW5lICBVVFNfVFhGVUxMIAkgKDE8PDQpCS8qIFR4RklGTyBmdWxsICovCiNkZWZpbmUgIFVUU19SWEZVTEwgCSAoMTw8MykJLyogUnhGSUZPIGZ1bGwgKi8KI2RlZmluZSAgVVRTX1NPRlRSU1QJICgxPDwwKQkvKiBTb2Z0d2FyZSByZXNldCAqLwoKLyogR2VuZXJhbCBwdXJwb3NlIHRpbWVycyByZWdpc3RlcnMgKi8KI2RlZmluZSBUQ1RMMSAgIF9fUkVHKElNWF9USU0xX0JBU0UpCiNkZWZpbmUgVFBSRVIxICBfX1JFRyhJTVhfVElNMV9CQVNFICsgMHg0KQojZGVmaW5lIFRDTVAxICAgX19SRUcoSU1YX1RJTTFfQkFTRSArIDB4OCkKI2RlZmluZSBUQ1IxICAgIF9fUkVHKElNWF9USU0xX0JBU0UgKyAweGMpCiNkZWZpbmUgVENOMSAgICBfX1JFRyhJTVhfVElNMV9CQVNFICsgMHgxMCkKI2RlZmluZSBUU1RBVDEgIF9fUkVHKElNWF9USU0xX0JBU0UgKyAweDE0KQojZGVmaW5lIFRDVEwyICAgX19SRUcoSU1YX1RJTTJfQkFTRSkKI2RlZmluZSBUUFJFUjIgIF9fUkVHKElNWF9USU0yX0JBU0UgKyAweDQpCiNkZWZpbmUgVENNUDIgICBfX1JFRyhJTVhfVElNMl9CQVNFICsgMHg4KQojZGVmaW5lIFRDUjIgICAgX19SRUcoSU1YX1RJTTJfQkFTRSArIDB4YykKI2RlZmluZSBUQ04yICAgIF9fUkVHKElNWF9USU0yX0JBU0UgKyAweDEwKQojZGVmaW5lIFRTVEFUMiAgX19SRUcoSU1YX1RJTTJfQkFTRSArIDB4MTQpCgovKiBHZW5lcmFsIHB1cnBvc2UgdGltZXJzIGJpdGZpZWxkcyAqLwojZGVmaW5lIFRDVExfU1dSICAgICAgICgxPDwxNSkgLyogU29mdHdhcmUgcmVzZXQgKi8KI2RlZmluZSBUQ1RMX0ZSUiAgICAgICAoMTw8OCkgIC8qIEZyZWVydW4gLyByZXN0YXJ0ICovCiNkZWZpbmUgVENUTF9DQVAgICAgICAgKDM8PDYpICAvKiBDYXB0dXJlIEVkZ2UgKi8KI2RlZmluZSBUQ1RMX09NICAgICAgICAoMTw8NSkgIC8qIG91dHB1dCBtb2RlICovCiNkZWZpbmUgVENUTF9JUlFFTiAgICAgKDE8PDQpICAvKiBpbnRlcnJ1cHQgZW5hYmxlICovCiNkZWZpbmUgVENUTF9DTEtTT1VSQ0UgKDc8PDEpICAvKiBDbG9jayBzb3VyY2UgKi8KI2RlZmluZSBUQ1RMX1RFTiAgICAgICAoMSkgICAgIC8qIFRpbWVyIGVuYWJsZSAqLwojZGVmaW5lIFRQUkVSX1BSRVMgICAgICgweGZmKSAgLyogUHJlc2NhbGUgKi8KI2RlZmluZSBUU1RBVF9DQVBUICAgICAoMTw8MSkgIC8qIENhcHR1cmUgZXZlbnQgKi8KI2RlZmluZSBUU1RBVF9DT01QICAgICAoMSkgICAgIC8qIENvbXBhcmUgZXZlbnQgKi8KCiNlbmRpZgkJCQkvKiBfSU1YX1JFR1NfSCAqLwo=