IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojICAgIGZvciBQb3dlclBDIHN5c3RlbXM6CQkJCQkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgICAgZm9yIEFSTSBzeXN0ZW1zOgkJCQkJCQkjCiMJTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgkJCQkJIwojIGFuZCBDYzogdGhlIDxVLUJvb3QtVXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0PiBtYWlsaW5nIGxpc3RzLgkjCiMJCQkJCQkJCQkjCiMgTm90ZTogbGlzdHMgc29ydGVkIGJ5IE1haW50YWluZXIgTmFtZQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCkdyZWcgQWxsZW4gPGdhbGxlbkBhcmx1dC51dGV4YXMuZWR1PgoKCVVUWDgyNDUJCQlNUEM4MjQ1CgpQYW50ZWxpcyBBbnRvbmlvdSA8cGFudG9AaW50cmFjb20uZ3I+CgoJTkVUVklBCQkJTVBDOHh4CgpKZXJyeSBWYW4gQmFyZW4gPHZhbmJhcmVuX2dlcmFsZEBzaS5jb20+CgoJc2Fjc25nCQkJTVBDODI2MAoKT2xpdmVyIEJyb3duIDxvYnJvd25AYWR2ZW50bmV0d29ya3MuY29tPgoKCXNiYzgyNjAJCQlNUEM4MjYwCglndzgyNjAJCQlNUEM4MjYwCgpDb25uIENsYXJrIDxjbGFya0Blc3RlZW0uY29tPgoKCUVTVEVFTTE5MkUJCU1QQzh4eAoKS+FyaSBEYXbt8HNzb24gPGtkQGZsYWdhLmlzPgoKCUZMQUdBRE0JCQlNUEM4MjMKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJQU1YODYwCQkJTVBDODYwCglFVFgwOTQJCQlNUEM4NTAKCUZQUzg1MEwJCQlNUEM4NTAKCUZQUzg2MEwJCQlNUEM4NjAKCUlDVTg2MgkJCU1QQzg2MgoJSVA4NjAJCQlNUEM4NjAKCUlWTUwyNAkJCU1QQzg2MAoJSVZNTDI0XzEyOAkJTVBDODYwCglJVk1MMjRfMjU2CQlNUEM4NjAKCUlWTVM4CQkJTVBDODYwCglJVk1TOF8xMjgJCU1QQzg2MAoJSVZNUzhfMjU2CQlNUEM4NjAKCUxBTlRFQwkJCU1QQzg1MAoJUlJ2aXNpb24JCU1QQzgyMwoJU004NTAJCQlNUEM4NTAKCVNQRDgyM1RTCQlNUEM4MjMKCVRRTTgyM0wJCQlNUEM4MjMKCVRRTTgyM0xfTENECQlNUEM4MjMKCVRRTTg1MEwJCQlNUEM4NTAKCVRRTTg1NUwJCQlNUEM4NTUKCVRRTTg2MEwJCQlNUEM4NjAKCVRRTTg2MExfRkVDCQlNUEM4NjAKCWMybW9uCQkJTVBDODU1CgloZXJtZXMJCQlNUEM4NjAKCWx3bW9uCQkJTVBDODIzCglwY3VfZQkJCU1QQzg1NQoKCUNVODI0CQkJTVBDODI0MAoJU2FuZHBvaW50ODI0MAkJTVBDODI0MAoKCUNQVTg2CQkJTVBDODI2MAoJUE04MjYJCQlNUEM4MjYwCglUUU04MjYwCQkJTVBDODI2MAoKCVBDSVBQQzIJCQlNUEM3NTAKCVBDSVBQQzYJCQlNUEM3NTAKCkpvbiBEaWVrZW1hIDxkaWVrZW1hX2pvbkBzaS5jb20+CgoJc2JjODI2MAkJCU1QQzgyNjAKCkRhdmUgRWxsaXMgPERHRUBzaXhuZXRpby5jb20+CgoJU1hOSTg1NVQJCU1QQzh4eAoKRnJhbmsgR290dHNjaGxpbmcgPGZnb3R0c2NobGluZ0BlbHRlYy5kZT4KCglNSFBDCQkJTVBDOHh4CgoJQkFCN3h4CQkJTVBDNzQwL01QQzc1MAoKV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZGVueC5kZT4KCglDQ00JCQlNUEM4NTUKCglQTjYyCQkJTVBDODI0MAoKCUlQSEFTRTQ1MzkJCU1QQzgyNjAKCVNDTQkJCU1QQzgyNjAKCkhvd2FyZCBHcmF5IDxtdnNlbnNvckBtYXRyaXgtdmlzaW9uLmRlPgoKCU1WUzEJCQlNUEM4MjMKCktsYXVzIEhleWRlY2sgPGhleWRlY2tAa2llYmFjay1wZXRlci5kZT4KCglLVVA0SwkJCU1QQzg1NQoKTXVycmF5IEplbnNlbiA8TXVycmF5LkplbnNlbkBjbXN0LmNzaXJvLmF1PgoKCWNvZ2VudF9tcGM4eHgJCU1QQzh4eAoKCWNvZ2VudF9tcGM4MjYwCQlNUEM4MjYwCgloeW1vZAkJCU1QQzgyNjAKCkJyYWQgS2VtcCA8QnJhZC5LZW1wQHNlcmFub2EuY29tPgoKCXBwbWM4MjYwCQlNUEM4MjYwCgpOeWUgTGl1IDxueWV0QHp1bWFuZXR3b3Jrcy5jb20+CgoJWlVNQQkJCU1QQzd4eF83NHh4CgpUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuY29tPgoKCUdUSAkJCU1QQzg2MAoKRXJhbiBNYW4gPGVyYW5AbmJhc2UuY28uaWw+CgoJRVZCNjQyNjBfNzUwQ1gJCU1QQzc1MENYCgpTY290dCBNY051dHQgPHNtY251dHRAYXJ0ZXN5bmNwLmNvbT4KCglFQk9OWQkJCVBQQzQ0MEdQCgpLZWl0aCBPdXR3YXRlciA8S2VpdGhfT3V0d2F0ZXJAbXZpcy5jb20+CgoJR0VOODYwVAkJCU1QQzg2MFQKCkZyYW5rIFBhbm5vIDxmcGFubm9AZGVscGhpbnRlY2guY29tPgoKCWVwODI2MAkJCU1QQzgyNjAKCkRlbmlzIFBldGVyIDxkLnBldGVyQG1wbC5jaD4KCglNSVA0MDUJCQlQUEM0eHgKCVBJUDQwNQkJCVBQQzR4eAoKU3RlZmFuIFJvZXNlIDxzdGVmYW4ucm9lc2VAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglBRENJT1AJCQlJT1A0ODAgKFBQQzQwMSkKCUFSNDA1CQkJUFBDNDA1R1AKCUNBTkJUCQkJUFBDNDA1Q1IKCUNQQ0k0MDUJCQlQUEM0MDVHUAoJQ1BDSTQ0MAkJCVBQQzQ0MEdQCglDUENJSVNFUjQJCVBQQzQwNUdQCglEQVNBX1NJTQkJSU9QNDgwIChQUEM0MDEpCglEVTQwNQkJCVBQQzQwNUdQCglPQ1JUQwkJCVBQQzQwNUdQCglPUlNHCQkJUFBDNDA1R1AKClBldGVyIERlIFNjaHJpanZlciA8cDJAbWluZC5iZT4KCglNTDIJCQlQUEM0eHgKCkVyaWsgVGhlaXNlbiA8ZXRoZWlzZW5AbWluZHNwcmluZy5jb20+CgoJVzdPTE1DCQkJUFBDNHh4CglXN09MTUcJCQlQUEM0eHgKCkppbSBUaG9tcHNvbiA8amltQG11c2Vua2kuY29tPgoKCU1VU0VOS0kJCQlNUEM4MjQ1LzgyNDEKCVNhbmRwb2ludDgyNDUJCU1QQzgyNDUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVua25vd24gLyBvcnBoYW5lZCBib2FyZHM6CgoJQURTODYwCQkJTVBDOHh4CglGQURTODIzCQkJTVBDOHh4CglGQURTODUwU0FSCQlNUEM4eHgKCUZBRFM4NjBUCQlNUEM4eHgKCUdFTklFVFYJCQlNUEM4eHgKCUlBRDIxMAkJCU1QQzh4eAoJTUJYCQkJTVBDOHh4CglNQlg4NjBUCQkJTVBDOHh4CglOWDgyMwkJCU1QQzh4eAoJUlBYQ2xhc3NpYwkJTVBDOHh4CglSUFhsaXRlCQkJTVBDOHh4CgoJQ1JBWUwxCQkJUFBDNHh4CglFUklDCQkJUFBDNHh4CglXQUxOVVQ0MDUJCVBQQzR4eAoKCU1PVVNTRQkJCU1QQzgyNHgKCglNUEM4MjYwQURTCQlNUEM4MjYwCglSUFhzdXBlcgkJTVBDODI2MAoJcnNkcHJvdG8JCU1QQzgyNjAKCglFVkI2NDI2MAkJTVBDN3h4Xzc0eHgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQVJNIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgoKCWltcGE3CQkJQVJNNzIwVCAoRVA3MjExKQoJZXA3MzEyCQkJQVJNNzIwVCAoRVA3MzEyKQoKS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+CgoJbHViYm9jawkJCXhzY2FsZQoJY3JhZGxlCQkJeHNjYWxlCgpHYXJ5IEplbm5lam9obiA8Z2pAZGVueC5kZT4KCglzbWRrMjQwMAkJQVJNOTIwVAoJdHJhYgkJCUFSTTkyMFQKCkRhdmlkIE38bGxlciA8ZC5tdWVsbGVyQGVsc29mdC5jaD4KCglzbWRrMjQxMAkJQVJNOTIwVAoKUm9sZiBPZmZlcm1hbm5zIDxyb2ZAc3lzZ28uZGU+CgoJc2hhbm5vbgkJCVNBMTEwMAoKUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgoKCWNzYjIyNgkJCXhzY2FsZQoKQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgoKCWxhcnQJCQlTQTExMDAKCWRucDExMTAJCQlTQTExMTAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyB4ODYgU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpEYW5pZWwgRW5nc3Ry9m0gPGRhbmllbEBvbWljcm9uLnNlPgoKCXNjNTIwX2NkcAkJeDg2CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRW5kIG9mIE1BSU5UQUlORVJTIGxpc3QJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK