Ci8qCiAqIElCTSBBU00gU2VydmljZSBQcm9jZXNzb3IgRGV2aWNlIERyaXZlcgogKgogKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgogKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgogKgogKiBDb3B5cmlnaHQgKEMpIElCTSBDb3Jwb3JhdGlvbiwgMjAwNAogKgogKiBBdXRob3I6IE1heCBBc2L2Y2sgPGFtYXhAdXMuaWJtLmNvbT4KICoKICogT3JpZ2luYWxseSB3cml0dGVuIGJ5IFBldGUgUmV5bm9sZHMKICovCgojaWZuZGVmIF9JQk1BU01fUkVNT1RFX0hfCiNkZWZpbmUgX0lCTUFTTV9SRU1PVEVfSF8KCiNpbmNsdWRlIDxhc20vaW8uaD4KCi8qIHBjaSBvZmZzZXRzICovCiNkZWZpbmUgQ09ORE9SX01PVVNFX0RBVEEJCTB4MDAwQUMwMDAKI2RlZmluZSBDT05ET1JfTU9VU0VfSVNSX0NPTlRST0wJMHgwMAojZGVmaW5lIENPTkRPUl9NT1VTRV9JU1JfU1RBVFVTCQkweDA0CiNkZWZpbmUgQ09ORE9SX01PVVNFX1FfUkVBREVSCQkweDA4CiNkZWZpbmUgQ09ORE9SX01PVVNFX1FfV1JJVEVSCQkweDBDCiNkZWZpbmUgQ09ORE9SX01PVVNFX1FfQkVHSU4JCTB4MTAKI2RlZmluZSBDT05ET1JfTU9VU0VfTUFYX1gJCTB4MTQKI2RlZmluZSBDT05ET1JfTU9VU0VfTUFYX1kJCTB4MTgKCiNkZWZpbmUgQ09ORE9SX0lOUFVUX0RFU0tUT1BfSU5GTwkweDFGMAojZGVmaW5lIENPTkRPUl9JTlBVVF9ESVNQTEFZX1JFU1gJMHgxRjQKI2RlZmluZSBDT05ET1JfSU5QVVRfRElTUExBWV9SRVNZCTB4MUY4CiNkZWZpbmUgQ09ORE9SX0lOUFVUX0RJU1BMQVlfQklUUwkweDFGQwojZGVmaW5lIENPTkRPUl9PVVRQVVRfVk5DX1NUQVRVUwkweDIwMAoKI2RlZmluZSBDT05ET1JfTU9VU0VfSU5UUl9TVEFUVVNfTUFTSwkweDAwMDAwMDAxCgojZGVmaW5lIElOUFVUX1RZUEVfTU9VU0UJMHgxCiNkZWZpbmUgSU5QVVRfVFlQRV9LRVlCT0FSRAkweDIKCgovKiBtb3VzZSBidXR0b24gc3RhdGVzIHJlY2VpdmVkIGZyb20gU1AgKi8KI2RlZmluZSBSRU1PVEVfRE9VQkxFX0NMSUNLCTB4RjAKI2RlZmluZSBSRU1PVEVfQlVUVE9OX0xFRlQJMHgwMQojZGVmaW5lIFJFTU9URV9CVVRUT05fTUlERExFCTB4MDIKI2RlZmluZSBSRU1PVEVfQlVUVE9OX1JJR0hUCTB4MDQKCi8qIHNpemUgb2Yga2V5c3ltL2tleWNvZGUgdHJhbnNsYXRpb24gbWF0cmljaWVzICovCiNkZWZpbmUgWExBVEVfU0laRSAyNTYKCnN0cnVjdCBtb3VzZV9pbnB1dCB7Cgl1bnNpZ25lZCBzaG9ydAl5OwoJdW5zaWduZWQgc2hvcnQJeDsKfTsKCgpzdHJ1Y3Qga2V5Ym9hcmRfaW5wdXQgewoJdW5zaWduZWQgc2hvcnQJa2V5X2NvZGU7Cgl1bnNpZ25lZCBjaGFyCWtleV9mbGFnOwoJdW5zaWduZWQgY2hhcglrZXlfZG93bjsKfTsKCgoKc3RydWN0IHJlbW90ZV9pbnB1dCB7Cgl1bmlvbiB7CgkJc3RydWN0IG1vdXNlX2lucHV0CW1vdXNlOwoJCXN0cnVjdCBrZXlib2FyZF9pbnB1dAlrZXlib2FyZDsKCX0gZGF0YTsKCgl1bnNpZ25lZCBjaGFyCXR5cGU7Cgl1bnNpZ25lZCBjaGFyCXBhZDE7Cgl1bnNpZ25lZCBjaGFyCW1vdXNlX2J1dHRvbnM7Cgl1bnNpZ25lZCBjaGFyCXBhZDM7Cn07CgojZGVmaW5lIG1vdXNlX2FkZHIoc3ApCQkoc3AtPmJhc2VfYWRkcmVzcyArIENPTkRPUl9NT1VTRV9EQVRBKQojZGVmaW5lIGRpc3BsYXlfd2lkdGgoc3ApCShtb3VzZV9hZGRyKHNwKSArIENPTkRPUl9JTlBVVF9ESVNQTEFZX1JFU1gpCiNkZWZpbmUgZGlzcGxheV9oZWlnaHQoc3ApCShtb3VzZV9hZGRyKHNwKSArIENPTkRPUl9JTlBVVF9ESVNQTEFZX1JFU1kpCiNkZWZpbmUgZGlzcGxheV9kZXB0aChzcCkJKG1vdXNlX2FkZHIoc3ApICsgQ09ORE9SX0lOUFVUX0RJU1BMQVlfQklUUykKI2RlZmluZSBkZXNrdG9wX2luZm8oc3ApCShtb3VzZV9hZGRyKHNwKSArIENPTkRPUl9JTlBVVF9ERVNLVE9QX0lORk8pCiNkZWZpbmUgdm5jX3N0YXR1cyhzcCkJCShtb3VzZV9hZGRyKHNwKSArIENPTkRPUl9PVVRQVVRfVk5DX1NUQVRVUykKI2RlZmluZSBpc3JfY29udHJvbChzcCkJCShtb3VzZV9hZGRyKHNwKSArIENPTkRPUl9NT1VTRV9JU1JfQ09OVFJPTCkKCiNkZWZpbmUgbW91c2VfaW50ZXJydXB0X3BlbmRpbmcoc3ApCXJlYWRsKG1vdXNlX2FkZHIoc3ApICsgQ09ORE9SX01PVVNFX0lTUl9TVEFUVVMpCiNkZWZpbmUgY2xlYXJfbW91c2VfaW50ZXJydXB0KHNwKQl3cml0ZWwoMCwgbW91c2VfYWRkcihzcCkgKyBDT05ET1JfTU9VU0VfSVNSX1NUQVRVUykKI2RlZmluZSBlbmFibGVfbW91c2VfaW50ZXJydXB0cyhzcCkJd3JpdGVsKDEsIG1vdXNlX2FkZHIoc3ApICsgQ09ORE9SX01PVVNFX0lTUl9DT05UUk9MKQojZGVmaW5lIGRpc2FibGVfbW91c2VfaW50ZXJydXB0cyhzcCkJd3JpdGVsKDAsIG1vdXNlX2FkZHIoc3ApICsgQ09ORE9SX01PVVNFX0lTUl9DT05UUk9MKQoKLyogcmVtb3RlIGlucHV0IHF1ZXVlIG9wZXJhdGlvbnMgKi8KI2RlZmluZSBSRU1PVEVfUVVFVUVfU0laRQk2MAoKI2RlZmluZSBnZXRfcXVldWVfd3JpdGVyKHNwKQlyZWFkbChtb3VzZV9hZGRyKHNwKSArIENPTkRPUl9NT1VTRV9RX1dSSVRFUikKI2RlZmluZSBnZXRfcXVldWVfcmVhZGVyKHNwKQlyZWFkbChtb3VzZV9hZGRyKHNwKSArIENPTkRPUl9NT1VTRV9RX1JFQURFUikKI2RlZmluZSBzZXRfcXVldWVfcmVhZGVyKHNwLCByZWFkZXIpCXdyaXRlbChyZWFkZXIsIG1vdXNlX2FkZHIoc3ApICsgQ09ORE9SX01PVVNFX1FfUkVBREVSKQoKI2RlZmluZSBxdWV1ZV9iZWdpbgkobW91c2VfYWRkcihzcCkgKyBDT05ET1JfTU9VU0VfUV9CRUdJTikKCiNkZWZpbmUgZ2V0X3F1ZXVlX2VudHJ5KHNwLCByZWFkX2luZGV4KSBcCgkoKHZvaWQqKShxdWV1ZV9iZWdpbiArIHJlYWRfaW5kZXggKiBzaXplb2Yoc3RydWN0IHJlbW90ZV9pbnB1dCkpKQoKc3RhdGljIGlubGluZSBpbnQgYWR2YW5jZV9xdWV1ZV9yZWFkZXIoc3RydWN0IHNlcnZpY2VfcHJvY2Vzc29yICpzcCwgdW5zaWduZWQgbG9uZyByZWFkZXIpCnsKCXJlYWRlcisrOwoJaWYgKHJlYWRlciA9PSBSRU1PVEVfUVVFVUVfU0laRSkKCQlyZWFkZXIgPSAwOwoKCXNldF9xdWV1ZV9yZWFkZXIoc3AsIHJlYWRlcik7CglyZXR1cm4gcmVhZGVyOwp9CgojZGVmaW5lIE5PX0tFWUNPREUgMAojZGVmaW5lIEtFWV9TWU1fQktfU1BDICAgMHhGRjA4CiNkZWZpbmUgS0VZX1NZTV9UQUIgICAgICAweEZGMDkKI2RlZmluZSBLRVlfU1lNX0VOVEVSICAgIDB4RkYwRAojZGVmaW5lIEtFWV9TWU1fU0NSX0xPQ0sgMHhGRjE0CiNkZWZpbmUgS0VZX1NZTV9FU0NBUEUgICAweEZGMUIKI2RlZmluZSBLRVlfU1lNX0hPTUUgICAgIDB4RkY1MAojZGVmaW5lIEtFWV9TWU1fTEFSUk9XICAgMHhGRjUxCiNkZWZpbmUgS0VZX1NZTV9VQVJST1cgICAweEZGNTIKI2RlZmluZSBLRVlfU1lNX1JBUlJPVyAgIDB4RkY1MwojZGVmaW5lIEtFWV9TWU1fREFSUk9XICAgMHhGRjU0CiNkZWZpbmUgS0VZX1NZTV9QQUdFVVAgICAweEZGNTUKI2RlZmluZSBLRVlfU1lNX1BBR0VET1dOIDB4RkY1NgojZGVmaW5lIEtFWV9TWU1fRU5EICAgICAgMHhGRjU3CiNkZWZpbmUgS0VZX1NZTV9JTlNFUlQgICAweEZGNjMKI2RlZmluZSBLRVlfU1lNX05VTV9MT0NLIDB4RkY3RgojZGVmaW5lIEtFWV9TWU1fS1BTVEFSICAgMHhGRkFBCiNkZWZpbmUgS0VZX1NZTV9LUFBMVVMgICAweEZGQUIKI2RlZmluZSBLRVlfU1lNX0tQTUlOVVMgIDB4RkZBRAojZGVmaW5lIEtFWV9TWU1fS1BET1QgICAgMHhGRkFFCiNkZWZpbmUgS0VZX1NZTV9LUFNMQVNIICAweEZGQUYKI2RlZmluZSBLRVlfU1lNX0tQUklHSFQgIDB4RkY5NgojZGVmaW5lIEtFWV9TWU1fS1BVUCAgICAgMHhGRjk3CiNkZWZpbmUgS0VZX1NZTV9LUExFRlQgICAweEZGOTgKI2RlZmluZSBLRVlfU1lNX0tQRE9XTiAgIDB4RkY5OQojZGVmaW5lIEtFWV9TWU1fS1AwICAgICAgMHhGRkIwCiNkZWZpbmUgS0VZX1NZTV9LUDEgICAgICAweEZGQjEKI2RlZmluZSBLRVlfU1lNX0tQMiAgICAgIDB4RkZCMgojZGVmaW5lIEtFWV9TWU1fS1AzICAgICAgMHhGRkIzCiNkZWZpbmUgS0VZX1NZTV9LUDQgICAgICAweEZGQjQKI2RlZmluZSBLRVlfU1lNX0tQNSAgICAgIDB4RkZCNQojZGVmaW5lIEtFWV9TWU1fS1A2ICAgICAgMHhGRkI2CiNkZWZpbmUgS0VZX1NZTV9LUDcgICAgICAweEZGQjcKI2RlZmluZSBLRVlfU1lNX0tQOCAgICAgIDB4RkZCOAojZGVmaW5lIEtFWV9TWU1fS1A5ICAgICAgMHhGRkI5CiNkZWZpbmUgS0VZX1NZTV9GMSAgICAgICAweEZGQkUgICAgICAvLyAxQiA1QiA1QiA0MQojZGVmaW5lIEtFWV9TWU1fRjIgICAgICAgMHhGRkJGICAgICAgLy8gMUIgNUIgNUIgNDIKI2RlZmluZSBLRVlfU1lNX0YzICAgICAgIDB4RkZDMCAgICAgIC8vIDFCIDVCIDVCIDQzCiNkZWZpbmUgS0VZX1NZTV9GNCAgICAgICAweEZGQzEgICAgICAvLyAxQiA1QiA1QiA0NAojZGVmaW5lIEtFWV9TWU1fRjUgICAgICAgMHhGRkMyICAgICAgLy8gMUIgNUIgNUIgNDUKI2RlZmluZSBLRVlfU1lNX0Y2ICAgICAgIDB4RkZDMyAgICAgIC8vIDFCIDVCIDMxIDM3IDdFCiNkZWZpbmUgS0VZX1NZTV9GNyAgICAgICAweEZGQzQgICAgICAvLyAxQiA1QiAzMSAzOCA3RQojZGVmaW5lIEtFWV9TWU1fRjggICAgICAgMHhGRkM1ICAgICAgLy8gMUIgNUIgMzEgMzkgN0UKI2RlZmluZSBLRVlfU1lNX0Y5ICAgICAgIDB4RkZDNiAgICAgIC8vIDFCIDVCIDMyIDMwIDdFCiNkZWZpbmUgS0VZX1NZTV9GMTAgICAgICAweEZGQzcgICAgICAvLyAxQiA1QiAzMiAzMSA3RQojZGVmaW5lIEtFWV9TWU1fRjExICAgICAgMHhGRkM4ICAgICAgLy8gMUIgNUIgMzIgMzMgN0UKI2RlZmluZSBLRVlfU1lNX0YxMiAgICAgIDB4RkZDOSAgICAgIC8vIDFCIDVCIDMyIDM0IDdFCiNkZWZpbmUgS0VZX1NZTV9TSElGVCAgICAweEZGRTEKI2RlZmluZSBLRVlfU1lNX0NUUkwgICAgIDB4RkZFMwojZGVmaW5lIEtFWV9TWU1fQUxUICAgICAgMHhGRkU5CiNkZWZpbmUgS0VZX1NZTV9DQVBfTE9DSyAweEZGRTUKI2RlZmluZSBLRVlfU1lNX0RFTEVURSAgIDB4RkZGRgojZGVmaW5lIEtFWV9TWU1fVElMREUgICAgMHg2MAojZGVmaW5lIEtFWV9TWU1fQktUSUMgICAgMHg3RQojZGVmaW5lIEtFWV9TWU1fT05FICAgICAgMHgzMQojZGVmaW5lIEtFWV9TWU1fQkFORyAgICAgMHgyMQojZGVmaW5lIEtFWV9TWU1fVFdPICAgICAgMHgzMgojZGVmaW5lIEtFWV9TWU1fQVQgICAgICAgMHg0MAojZGVmaW5lIEtFWV9TWU1fVEhSRUUgICAgMHgzMwojZGVmaW5lIEtFWV9TWU1fUE9VTkQgICAgMHgyMwojZGVmaW5lIEtFWV9TWU1fRk9VUiAgICAgMHgzNAojZGVmaW5lIEtFWV9TWU1fRE9MTEFSICAgMHgyNAojZGVmaW5lIEtFWV9TWU1fRklWRSAgICAgMHgzNQojZGVmaW5lIEtFWV9TWU1fUEVSQ0VOVCAgMHgyNQojZGVmaW5lIEtFWV9TWU1fU0lYICAgICAgMHgzNgojZGVmaW5lIEtFWV9TWU1fQ0FSQVQgICAgMHg1RQojZGVmaW5lIEtFWV9TWU1fU0VWRU4gICAgMHgzNwojZGVmaW5lIEtFWV9TWU1fQU1QRVIgICAgMHgyNgojZGVmaW5lIEtFWV9TWU1fRUlHSFQgICAgMHgzOAojZGVmaW5lIEtFWV9TWU1fU1RBUiAgICAgMHgyQQojZGVmaW5lIEtFWV9TWU1fTklORSAgICAgMHgzOQojZGVmaW5lIEtFWV9TWU1fTFBBUkVOICAgMHgyOAojZGVmaW5lIEtFWV9TWU1fWkVSTyAgICAgMHgzMAojZGVmaW5lIEtFWV9TWU1fUlBBUkVOICAgMHgyOQojZGVmaW5lIEtFWV9TWU1fTUlOVVMgICAgMHgyRAojZGVmaW5lIEtFWV9TWU1fVVNDT1JFICAgMHg1RgojZGVmaW5lIEtFWV9TWU1fRVFVQUwgICAgMHgyQgojZGVmaW5lIEtFWV9TWU1fUExVUyAgICAgMHgzRAojZGVmaW5lIEtFWV9TWU1fTEJSS1QgICAgMHg1QgojZGVmaW5lIEtFWV9TWU1fTENVUkxZICAgMHg3QgojZGVmaW5lIEtFWV9TWU1fUkJSS1QgICAgMHg1RAojZGVmaW5lIEtFWV9TWU1fUkNVUkxZICAgMHg3RAojZGVmaW5lIEtFWV9TWU1fU0xBU0ggICAgMHg1QwojZGVmaW5lIEtFWV9TWU1fUElQRSAgICAgMHg3QwojZGVmaW5lIEtFWV9TWU1fVElDICAgICAgMHgyNwojZGVmaW5lIEtFWV9TWU1fUVVPVEUgICAgMHgyMgojZGVmaW5lIEtFWV9TWU1fU0VNSUMgICAgMHgzQgojZGVmaW5lIEtFWV9TWU1fQ09MT04gICAgMHgzQQojZGVmaW5lIEtFWV9TWU1fQ09NTUEgICAgMHgyQwojZGVmaW5lIEtFWV9TWU1fTFQgICAgICAgMHgzQwojZGVmaW5lIEtFWV9TWU1fUEVSSU9EICAgMHgyRQojZGVmaW5lIEtFWV9TWU1fR1QgICAgICAgMHgzRQojZGVmaW5lIEtFWV9TWU1fQlNMQVNIICAgMHgyRgojZGVmaW5lIEtFWV9TWU1fUU1BUksgICAgMHgzRgojZGVmaW5lIEtFWV9TWU1fQSAgICAgICAgMHg0MQojZGVmaW5lIEtFWV9TWU1fQiAgICAgICAgMHg0MgojZGVmaW5lIEtFWV9TWU1fQyAgICAgICAgMHg0MwojZGVmaW5lIEtFWV9TWU1fRCAgICAgICAgMHg0NAojZGVmaW5lIEtFWV9TWU1fRSAgICAgICAgMHg0NQojZGVmaW5lIEtFWV9TWU1fRiAgICAgICAgMHg0NgojZGVmaW5lIEtFWV9TWU1fRyAgICAgICAgMHg0NwojZGVmaW5lIEtFWV9TWU1fSCAgICAgICAgMHg0OAojZGVmaW5lIEtFWV9TWU1fSSAgICAgICAgMHg0OQojZGVmaW5lIEtFWV9TWU1fSiAgICAgICAgMHg0QQojZGVmaW5lIEtFWV9TWU1fSyAgICAgICAgMHg0QgojZGVmaW5lIEtFWV9TWU1fTCAgICAgICAgMHg0QwojZGVmaW5lIEtFWV9TWU1fTSAgICAgICAgMHg0RAojZGVmaW5lIEtFWV9TWU1fTiAgICAgICAgMHg0RQojZGVmaW5lIEtFWV9TWU1fTyAgICAgICAgMHg0RgojZGVmaW5lIEtFWV9TWU1fUCAgICAgICAgMHg1MAojZGVmaW5lIEtFWV9TWU1fUSAgICAgICAgMHg1MQojZGVmaW5lIEtFWV9TWU1fUiAgICAgICAgMHg1MgojZGVmaW5lIEtFWV9TWU1fUyAgICAgICAgMHg1MwojZGVmaW5lIEtFWV9TWU1fVCAgICAgICAgMHg1NAojZGVmaW5lIEtFWV9TWU1fVSAgICAgICAgMHg1NQojZGVmaW5lIEtFWV9TWU1fViAgICAgICAgMHg1NgojZGVmaW5lIEtFWV9TWU1fVyAgICAgICAgMHg1NwojZGVmaW5lIEtFWV9TWU1fWCAgICAgICAgMHg1OAojZGVmaW5lIEtFWV9TWU1fWSAgICAgICAgMHg1OQojZGVmaW5lIEtFWV9TWU1fWiAgICAgICAgMHg1QQojZGVmaW5lIEtFWV9TWU1fYSAgICAgICAgMHg2MQojZGVmaW5lIEtFWV9TWU1fYiAgICAgICAgMHg2MgojZGVmaW5lIEtFWV9TWU1fYyAgICAgICAgMHg2MwojZGVmaW5lIEtFWV9TWU1fZCAgICAgICAgMHg2NAojZGVmaW5lIEtFWV9TWU1fZSAgICAgICAgMHg2NQojZGVmaW5lIEtFWV9TWU1fZiAgICAgICAgMHg2NgojZGVmaW5lIEtFWV9TWU1fZyAgICAgICAgMHg2NwojZGVmaW5lIEtFWV9TWU1faCAgICAgICAgMHg2OAojZGVmaW5lIEtFWV9TWU1faSAgICAgICAgMHg2OQojZGVmaW5lIEtFWV9TWU1faiAgICAgICAgMHg2QQojZGVmaW5lIEtFWV9TWU1fayAgICAgICAgMHg2QgojZGVmaW5lIEtFWV9TWU1fbCAgICAgICAgMHg2QwojZGVmaW5lIEtFWV9TWU1fbSAgICAgICAgMHg2RAojZGVmaW5lIEtFWV9TWU1fbiAgICAgICAgMHg2RQojZGVmaW5lIEtFWV9TWU1fbyAgICAgICAgMHg2RgojZGVmaW5lIEtFWV9TWU1fcCAgICAgICAgMHg3MAojZGVmaW5lIEtFWV9TWU1fcSAgICAgICAgMHg3MQojZGVmaW5lIEtFWV9TWU1fciAgICAgICAgMHg3MgojZGVmaW5lIEtFWV9TWU1fcyAgICAgICAgMHg3MwojZGVmaW5lIEtFWV9TWU1fdCAgICAgICAgMHg3NAojZGVmaW5lIEtFWV9TWU1fdSAgICAgICAgMHg3NQojZGVmaW5lIEtFWV9TWU1fdiAgICAgICAgMHg3NgojZGVmaW5lIEtFWV9TWU1fdyAgICAgICAgMHg3NwojZGVmaW5lIEtFWV9TWU1feCAgICAgICAgMHg3OAojZGVmaW5lIEtFWV9TWU1feSAgICAgICAgMHg3OQojZGVmaW5lIEtFWV9TWU1feiAgICAgICAgMHg3QQojZGVmaW5lIEtFWV9TWU1fU1BBQ0UgICAgMHgyMAojZW5kaWYgLyogX0lCTUFTTV9SRU1PVEVfSF8gKi8K