I2luY2x1ZGUgPHdpbmRvd3MuaD4KI2RlZmluZSB4c3RyKHgpIHN0cih4KQojZGVmaW5lIHN0cih4KSAjeApWU19WRVJTSU9OX0lORk8gVkVSU0lPTklORk8KIEZJTEVWRVJTSU9OIDEsMCwwLDEKIFBST0RVQ1RWRVJTSU9OIDEsMCwwLDEKIEZJTEVGTEFHU01BU0sgMHgzZkwKI2lmZGVmIF9ERUJVRwogRklMRUZMQUdTIDB4M0wKI2Vsc2UKIEZJTEVGTEFHUyAweDJMCiNlbmRpZgogRklMRU9TIDB4NEwKIEZJTEVUWVBFIFZGVF9ETEwKIEZJTEVTVUJUWVBFIDB4MEwKewogICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgogICAgewogICAgICAgIEJMT0NLICIwNDA5MDRiMCIKICAgICAgICB7CiAgICAgICAgICAgIFZBTFVFICJDb21tZW50cyIsICJEZXZlbG9wZWQgdXNpbmcgQ09NIGFyY2hpdGVjdHVyZSFcMCIKICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwgIlRpYW5taWFvIEh1J3MgRGV2ZWxvcGVyIFN0dWRpb1wwIgogICAgICAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgIkEgc21hbGwgcHJvamVjdCBmb3IgdGhlIGNvbnRleHQgbWVudSBvZiBndmltIVwwIgogICAgICAgICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLCAiMSwgMCwgMCwgMVwwIgogICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgImd2aW0gcmlnaHQtY2xpY2sgbWVudSBleHRlbnNpb25cMCIKICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkNvcHlyaWdodCCpIDE5OTkgVGlhbm1pYW8gSHVcMCIKICAgICAgICAgICAgVkFMVUUgIkxlZ2FsVHJhZGVtYXJrcyIsICJUaWFubWlhbyBIdSdzIEd2aW0gQ29udGV4dCBNZW51IEV4dGVuc2lvblwwIgogICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsICJndmltZXh0LmRsbFwwIgogICAgICAgICAgICBWQUxVRSAiUHJpdmF0ZUJ1aWxkIiwgIlwwIgogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiVGlhbm1pYW8gSHUncyAgZ3ZpbWV4dCBjb250ZXh0IG1lbnUgZXh0ZW5zaW9uXDAiCiAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsICIxLCAwLCAwLCAxXDAiCgojaWYgZGVmaW5lZChfX0dOVUNfXykKICAgICAgICAgICAgVkFMVUUgIlNwZWNpYWxCdWlsZCIsICJCdWlsZCBXaXRoICIgIk1pbmdXICIgeHN0cihfX0dOVUNfXykgIi4iIHhzdHIoX19HTlVDX01JTk9SX18pICIuIiB4c3RyKF9fR05VQ19QQVRDSExFVkVMX18pICAiIG9uICIgX19EQVRFX18gIiAiIF9fVElNRV9fICJcMCIKI2Vsc2UKICAgICAgICAgICAgVkFMVUUgIlNwZWNpYWxCdWlsZCIsICJVbmtub3duIGNvbXBpbGVyXDAiCgojZW5kaWYKICAgICAgICB9CiAgICB9CiAgICBCTE9DSyAiVmFyRmlsZUluZm8iCiAgICB7CiAgICAgICAgVkFMVUUgIlRyYW5zbGF0aW9uIiwgMHg0MDksIDEyMDAKICAgIH0KfQo=