IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPFUtQm9vdC1Vc2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IG1haWxpbmcgbGlzdHMuCSMKIwkJCQkJCQkJCSMKIyBOb3RlOiBsaXN0cyBzb3J0ZWQgYnkgTWFpbnRhaW5lciBOYW1lCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUG93ZXJQQyBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJCU1QQzgyNDUKClBhbnRlbGlzIEFudG9uaW91IDxwYW50b0BpbnRyYWNvbS5ncj4KCglORVRWSUEJCQlNUEM4eHgKClJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglDUENJNzUwCQkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCQlNUEM4N3gvTVBDODUyVAoJSVNQQU4JCQlNUEM4MjYwCglNUEM4MjYwQURTCQlNUEM4MjZ4L01QQzgyN3gvTVBDODI4MAoJUmF0dGxlcgkJCU1QQzgyNDgKCVpQQzE5MDAJCQlNUEM4MjY1CgpKZXJyeSBWYW4gQmFyZW4gPGdlcmFsZC52YW5iYXJlbkBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYWNzbmcJCQlNUEM4MjYwCgpSaWNrIEJyb25zb24gPHJpY2tAZWZuLm9yZz4KCglBVDkxUk05MjAwREsJCWF0OTFybTkyMDAKCk9saXZlciBCcm93biA8b2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbT4KCglndzgyNjAJCQlNUEM4MjYwCgpDb25uIENsYXJrIDxjbGFya0Blc3RlZW0uY29tPgoKCUVTVEVFTTE5MkUJCU1QQzh4eAoKS+FyaSBEYXbt8HNzb24gPGtkQGZsYWdhLmlzPgoKCUZMQUdBRE0JCQlNUEM4MjMKClRvcnN0ZW4gRGVta2UgPHRvcnN0ZW4uZGVta2VAZmNpLmNvbT4KCgllWGFsaW9uCQkJTVBDODI0eAoKV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KCglJY2VDdWJlXzUxMDAJCU1HVDUxMDAKCUljZUN1YmVfNTIwMAkJTVBDNTIwMAoKCUFNWDg2MAkJCU1QQzg2MAoJRVRYMDk0CQkJTVBDODUwCglGUFM4NTBMCQkJTVBDODUwCglGUFM4NjBMCQkJTVBDODYwCglJQ1U4NjIJCQlNUEM4NjIKCUlQODYwCQkJTVBDODYwCglJVk1MMjQJCQlNUEM4NjAKCUlWTUwyNF8xMjgJCU1QQzg2MAoJSVZNTDI0XzI1NgkJTVBDODYwCglJVk1TOAkJCU1QQzg2MAoJSVZNUzhfMTI4CQlNUEM4NjAKCUlWTVM4XzI1NgkJTVBDODYwCglMQU5URUMJCQlNUEM4NTAKCUxXTU9OCQkJTVBDODIzCglOQzY1MAkJCU1QQzg1MgoJUjM2ME1QSQkJCU1QQzgyMwoJUk1VCQkJTVBDODUwCglSUnZpc2lvbgkJTVBDODIzCglTTTg1MAkJCU1QQzg1MAoJU1BEODIzVFMJCU1QQzgyMwoJVFFNODIzTAkJCU1QQzgyMwoJVFFNODIzTF9MQ0QJCU1QQzgyMwoJVFFNODUwTAkJCU1QQzg1MAoJVFFNODU1TAkJCU1QQzg1NQoJVFFNODYwTAkJCU1QQzg2MAoJVFFNODYwTF9GRUMJCU1QQzg2MAoJYzJtb24JCQlNUEM4NTUKCWhlcm1lcwkJCU1QQzg2MAoJbHdtb24JCQlNUEM4MjMKCXBjdV9lCQkJTVBDODU1CgoJQ1U4MjQJCQlNUEM4MjQwCglTYW5kcG9pbnQ4MjQwCQlNUEM4MjQwCglTTDgyNDUJCQlNUEM4MjQ1CgoJQVRDCQkJTVBDODI1MAoJUE04MjUJCQlNUEM4MjUwCgoJVFFNODI1NQkJCU1QQzgyNTUKCglDUFU4NgkJCU1QQzgyNjAKCVBNODI2CQkJTVBDODI2MAoJVFFNODI2MAkJCU1QQzgyNjAKCglQM0c0CQkJTVBDNzQxMAoKCVBDSVBQQzIJCQlNUEM3NTAKCVBDSVBQQzYJCQlNUEM3NTAKCglFWEJJVEdFTgkJUFBDNDA1R1AKCkpvbiBEaWVrZW1hIDxqb24uZGlla2VtYUBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYmM4MjYwCQkJTVBDODI2MAoKRGF2ZSBFbGxpcyA8REdFQHNpeG5ldGlvLmNvbT4KCglTWE5JODU1VAkJTVBDOHh4CgpUaG9tYXMgRnJpZWRlbiA8VGhvbWFzRkBoeXBlcmlvbi1lbnRlcnRhaW5tZW50LmNvbT4KCglBbWlnYU9uZUczU0UJCU1QQzd4eAoKRnJhbmsgR290dHNjaGxpbmcgPGZnb3R0c2NobGluZ0BlbHRlYy5kZT4KCglNSFBDCQkJTVBDOHh4CgoJQkFCN3h4CQkJTVBDNzQwL01QQzc1MAoKV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZGVueC5kZT4KCglDQ00JCQlNUEM4NTUKCglQTjYyCQkJTVBDODI0MAoKCUlQSEFTRTQ1MzkJCU1QQzgyNjAKCVNDTQkJCU1QQzgyNjAKCkhvd2FyZCBHcmF5IDxtdnNlbnNvckBtYXRyaXgtdmlzaW9uLmRlPgoKCU1WUzEJCQlNUEM4MjMKCkJpbGwgSGFyZ2VuIDxCaWxsX0hhcmdlbkBKYWJpbC5jb20+CgoJQlVCSU5HQTQwNUVQCQlQUEM0MDVFUAoKS2xhdXMgSGV5ZGVjayA8aGV5ZGVja0BraWViYWNrLXBldGVyLmRlPgoKCUtVUDRLCQkJTVBDODU1CglLVVA0WAkJCU1QQzg1OQoKTXVycmF5IEplbnNlbiA8TXVycmF5LkplbnNlbkBjbXN0LmNzaXJvLmF1PgoKCWNvZ2VudF9tcGM4eHgJCU1QQzh4eAoKCWNvZ2VudF9tcGM4MjYwCQlNUEM4MjYwCgloeW1vZAkJCU1QQzgyNjAKCkJyYWQgS2VtcCA8QnJhZC5LZW1wQHNlcmFub2EuY29tPgoKCXBwbWM4MjYwCQlNUEM4MjYwCgpTYW5nbW9vbiBLaW0gPGRvZ29pbEBldGluc3lzLmNvbT4KCglkZWJyaXMJCQlNUEM4MjQ1CgpOeWUgTGl1IDxueWV0QHp1bWFuZXR3b3Jrcy5jb20+CgoJWlVNQQkJCU1QQzd4eF83NHh4CgpUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuc2U+CgoJR1RICQkJTVBDODYwCgpUaGUgTEVPWCB0ZWFtIDx0ZWFtQGxlb3gub3JnPgoKCUVMUFQ4NjAJCQlNUEM4NjBUCgpFcmFuIE1hbiA8ZXJhbkBuYmFzZS5jby5pbD4KCglFVkI2NDI2MF83NTBDWAkJTVBDNzUwQ1gKCkFuZHJlYSAibGxhbmRyZSIgTWFyc29uIDxhbmRyZWEubWFyc29uQGRhdmUtdGVjaC5pdD4KCglQUENoYW1lbGVvbkVWQglQUEM0MDVFUAoKUmVpbmhhcmQgTWV5ZXIgPHIubWV5ZXJAZW1rLWVsZWt0cm9uaWsuZGU+CgoJVE9QODYwCQkJTVBDODYwVAoJVE9QNTIwMAkJCU1QQzUyMDAKClNjb3R0IE1jTnV0dCA8c21jbnV0dEBhcnRlc3luY3AuY29tPgoKCUVCT05ZCQkJUFBDNDQwR1AKClRvbHVuYXkgT3JrdW4gPHRvcmt1bkBuZXh0aW8uY29tPgoJY3NiMjcyCQkJUFBDNDA1R1AKCWNzYjQ3MgkJCVBQQzQwNUdQCgpLZWl0aCBPdXR3YXRlciA8S2VpdGhfT3V0d2F0ZXJAbXZpcy5jb20+CgoJR0VOODYwVAkJCU1QQzg2MFQKCUdFTjg2MFRfU0MJCU1QQzg2MFQKCkZyYW5rIFBhbm5vIDxmcGFubm9AZGVscGhpbnRlY2guY29tPgoKCWVwODI2MAkJCU1QQzgyNjAKClBldGVyIFBlYXJzZSA8cGV0ZXIucGVhcnNlQGFybS5jb20+CgoJSW50ZWdyYXRvci9BUAkJQ00gOTI2RUotUywgQ003eDBULCBDTTl4MFQKCUludGVncmF0b3IvQ1AJCUNNIDkyNkVKLVMgIENNOTIwVCwgQ005NDBULCBDTTkyMlQtWEExMAoJVmVyc2F0aWxlL0FCCQlBUk05MjZFSi1TCglWZXJzYXRpbGUvUEIJCUFSTTkyNkVKLVMKCkRlbmlzIFBldGVyIDxkLnBldGVyQG1wbC5jaD4KCglNSVA0MDUJCQlQUEM0eHgKCVBJUDQwNQkJCVBQQzR4eAoKRGFuaWVsIFBvaXJvdCA8ZGFuLnBvaXJvdEB3aW5kcml2ZXIuY29tPgoJc2JjODI0MAkJCU1QQzgyNDAKCXNiYzQwNQkJCVBQQzQwNUdQCgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglBRENJT1AJCQlJT1A0ODAgKFBQQzQwMSkKCUFQQzQwNQkJCVBQQzQwNUdQCglBUjQwNQkJCVBQQzQwNUdQCglBU0g0MDUJCQlQUEM0MDVFUAoJQ0FOQlQJCQlQUEM0MDVDUgoJQ1BDSTQwNQkJCVBQQzQwNUdQCglDUENJNDA1MgkJUFBDNDA1R1AKCUNQQ0k0MDVBQgkJUFBDNDA1R1AKCUNQQ0k0MDVEVAkJUFBDNDA1R1AKCUNQQ0k0NDAJCQlQUEM0NDBHUAoJQ1BDSUlTRVI0CQlQUEM0MDVHUAoJREFTQV9TSU0JCUlPUDQ4MCAoUFBDNDAxKQoJRFA0MDUJCQlQUEM0MDVFUAoJRFU0MDUJCQlQUEM0MDVHUAoJRzIwMDAJCQlQUEM0MDVFUAoJSEg0MDUJCQlQUEM0MDVFUAoJSFVCNDA1CQkJUFBDNDA1RVAKCU9DUlRDCQkJUFBDNDA1R1AKCU9SU0cJCQlQUEM0MDVHUAoJUENJNDA1CQkJUFBDNDA1R1AKCVBMVTQwNQkJCVBQQzQwNUVQCglQTUM0MDUJCQlQUEM0MDVHUAoJVk9INDA1CQkJUFBDNDA1RVAKCVZPTTQwNQkJCVBQQzQwNUVQCglXVUg0MDUJCQlQUEM0MDVFUAoKVHJhdmlzIFNhd3llciAodHJhdmlzLnNhd3llckBzYW5kYnVyc3QuY29tPgoKCVhQRURJVEUxSwkJUFBDNDQwR1gKCU9DT1RFQQkJCVBQQzQ0MEdYCgpQZXRlciBEZSBTY2hyaWp2ZXIgPHAyQG1pbmQuYmU+CgoJTUwyCQkJUFBDNHh4CgpFcmlrIFRoZWlzZW4gPGV0aGVpc2VuQG1pbmRzcHJpbmcuY29tPgoKCVc3T0xNQwkJCVBQQzR4eAoJVzdPTE1HCQkJUFBDNHh4CgpKaW0gVGhvbXBzb24gPGppbUBtdXNlbmtpLmNvbT4KCglNVVNFTktJCQkJTVBDODI0NS84MjQxCglTYW5kcG9pbnQ4MjQ1CQlNUEM4MjQ1CgpSdW5lIFRvcmdlcnNlbiA8cnVuZXRAaW5ub3ZzeXMuY29tPgoKCU1QQzgyNjZBRFMJCU1QQzgyNjYKCkpvc2VmIFdhZ25lciA8V2FnbmVyQE1pY3Jvc3lzLmRlPgoKCUNQQzQ1CQkJTVBDODI0NQoJUE01MjAJCQlNUEM1MjAwCgpTdGVwaGVuIFdpbGxpYW1zIDxzdGV2ZUBpY2FydXMuY29tPgoKCUpTRQkJCVBQQzQwNUdQcgoKSm9obiBaaGFuIDx6aGFuekBzaW5vdmVlLmNvbT4KCglzdm1fc2M4eHgJCU1QQzh4eAoKSm9uIExvZWxpZ2VyIDxqZGxAZnJlZXNjYWxlLmNvbT4KCglNUEM4NTQwQURTCQlNUEM4NTQwCglNUEM4NTYwQURTCQlNUEM4NTYwCglNUEM4NTQxQ0RTCQlNUEM4NTQxCglNUEM4NTU1Q0RTCQlNUEM4NTU1CgpEYW4gTWFsZWsgPGRhbkBlbWJlZGRlZGVkZ2UuY29tPgoKCVNUeEdQMwkJCU1QQzg1eHgKCll1c2RpIFNhbnRvc28gPHl1c2RpX3NhbnRvc29AYWRhcHRlYy5jb20+CgoJSElEREVOX0RSQUdPTglNUEM4MjQxL01QQzgyNDUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVua25vd24gLyBvcnBoYW5lZCBib2FyZHM6CgoJQURTODYwCQkJTVBDOHh4CglGQURTODIzCQkJTVBDOHh4CglGQURTODUwU0FSCQlNUEM4eHgKCUZBRFM4NjBUCQlNUEM4eHgKCUdFTklFVFYJCQlNUEM4eHgKCUlBRDIxMAkJCU1QQzh4eAoJTUJYCQkJTVBDOHh4CglNQlg4NjBUCQkJTVBDOHh4CglOWDgyMwkJCU1QQzh4eAoJUlBYQ2xhc3NpYwkJTVBDOHh4CglSUFhsaXRlCQkJTVBDOHh4CgoJQ1JBWUwxCQkJUFBDNHh4CglFUklDCQkJUFBDNHh4CglXQUxOVVQ0MDUJCVBQQzR4eAoKCU1PVVNTRQkJCU1QQzgyNHgKCglSUFhzdXBlcgkJTVBDODI2MAoJcnNkcHJvdG8JCU1QQzgyNjAKCglFVkI2NDI2MAkJTVBDN3h4Xzc0eHgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQVJNIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR2VvcmdlIEcuIERhdmlzIDxnZGF2aXNAbXZpc3RhLmNvbT4KCglhc3NhYmV0CQkJU0ExMTAwCglnY3BsdXMJCQlTQTExMDAKClRob21hcyBFbHN0ZSA8aW5mb0BlbHN0ZS5vcmc+CgoJbW9kbmV0NTAJCUFSTTcyMFQgKE5FVCs1MCkKClBldGVyIEZpZ3VsaSA8cGVwb3NoQGV0Yy5zaz4KCgl3ZXBlcDI1MAkJeHNjYWxlCgpNYXJpdXMgR3L2Z2VyIDxtYWdAc3lzZ28uZGU+CgoJaW1wYTcJCQlBUk03MjBUIChFUDcyMTEpCgllcDczMTIJCQlBUk03MjBUIChFUDczMTIpCgpLeWxlIEhhcnJpcyA8a2hhcnJpc0BuZXh1cy10ZWNoLm5ldD4KCglsdWJib2NrCQkJeHNjYWxlCgljcmFkbGUJCQl4c2NhbGUKCWl4ZHA0MjUJCQl4c2NhbGUKCkdhcnkgSmVubmVqb2huIDxnakBkZW54LmRlPgoKCXNtZGsyNDAwCQlBUk05MjBUCgl0cmFiCQkJQVJNOTIwVAoKUHJha2FzaCBLdW1hciA8cHJha2FzaEBlbWJlZHguY29tPgoKCWNlcmYyNTAJCQl4c2NhbGUKCktzaGl0aWogR3VwdGEgPGtzaGl0aWpAdGkuY29tPgoKCW9tYXAxNTEwaW5uCQlBUk05MjVUCglvbWFwMTYxMGlubgkJQVJNOTI2RUpTCgpEYXZlIFBldmVybGV5IDxkcGV2ZXJsZXlAbXBjLWRhdGEuY28udWs+CglvbWFwNzMwcDIJCUFSTTkyNkVKUwoKTmlzaGFudCBLYW1hdCA8bnNrYW1hdEB0aS5jb20+CgoJb21hcDE2MTBoMgkJQVJNOTI2RUpTCgpSaXNoaSBCaGF0dGFjaGFyeWEgPHJpc2hpQHRpLmNvbT4KCglvbWFwNTkxMm9zawkJQVJNOTI2RUpTCgpSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CgoJb21hcDI0MjBoNAkJQVJNMTEzNkVKUwoKRGF2aWQgTfxsbGVyIDxkLm11ZWxsZXJAZWxzb2Z0LmNoPgoKCXNtZGsyNDEwCQlBUk05MjBUCglWQ01BOQkJCUFSTTkyMFQKClJvbGYgT2ZmZXJtYW5ucyA8cm9mQHN5c2dvLmRlPgoKCXNoYW5ub24JCQlTQTExMDAKClJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KCgljc2IyMjYJCQl4c2NhbGUKCWlubm9rb20JCQl4c2NhbGUKCkFuZHJlYSBTY2lhbiA8YW5kcmVhLnNjaWFuQGRhdmUtdGVjaC5pdD4KCglCMgkJCQlBUk03VERNSSAoUzNDNDRCMFgpCgpHcmVnIFVuZ2VyZXIgPGdyZWcudW5nZXJlckBvcGVuZ2Vhci5jb20+CgoJY200MDA4CQkJa3M4Njk1cAoJY200MTE2CQkJa3M4Njk1cAoJY200MTQ4CQkJa3M4Njk1cAoKQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgoKCWxhcnQJCQlTQTExMDAKCWRucDExMTAJCQlTQTExMTAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyB4ODYgU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpEYW5pZWwgRW5nc3Ry9m0gPGRhbmllbEBvbWljcm9uLnNlPgoKCXNjNTIwX2NkcAkJeDg2CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTUlQUyBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJaW5jYWlwCQkJTUlQUzMyIDRLYwoJcHVycGxlCQkJTUlQUzY0IDVLYwoKVGhvbWFzIExhbmdlIDx0aG9tYXNAY29yZWxhdHVzLnNlPgoJZGJhdTF4MDAJCU1JUFMzMiBBdTEwMDAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBOaW9zLTMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTdGVwaGFuIExpbnogPGxpbnpAbGktcHJvLm5ldD4KCglESzFTMTAJCQlOaW9zLTMyCglBRE5QRVNDMQkJTmlvcy0zMgoKU2NvdHQgTWNOdXR0IDxzbWNudXR0QHBzeWVudC5jb20+CgoJREsxQzIwCQkJTmlvcy0zMgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE5pb3MtSUkgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNjb3R0IE1jTnV0dCA8c21jbnV0dEBwc3llbnQuY29tPgoKCVBDSTU0NDEJCQlOaW9zLUlJCglQSzFDMjAJCQlOaW9zLUlJCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWljcm9CbGF6ZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKWWFzdXNoaSBTaG9qaSA8eWFzaGlAYXRtYXJrLXRlY2huby5jb20+CgoJU1VaQUtVCQkJTWljcm9CbGF6ZQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvbGRmaXJlIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglUQVNSRUcJCQlNQ0Y1MjQ5CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRW5kIG9mIE1BSU5UQUlORVJTIGxpc3QJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK