IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPFUtQm9vdC1Vc2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IG1haWxpbmcgbGlzdHMuCSMKIwkJCQkJCQkJCSMKIyBOb3RlOiBsaXN0cyBzb3J0ZWQgYnkgTWFpbnRhaW5lciBOYW1lCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUG93ZXJQQyBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJCU1QQzgyNDUKClBhbnRlbGlzIEFudG9uaW91IDxwYW50b0BpbnRyYWNvbS5ncj4KCglORVRWSUEJCQlNUEM4eHgKClJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCgljcGNpNTIwMAkJTVBDNTIwMAoJbWVjcDUyMDAJCU1QQzUyMDAKCXBmNTIwMAkJCU1QQzUyMDAKCglDUENJNzUwCQkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCQlNUEM4N3gvTVBDODUyVAoJZXA4MjQ4CQkJTVBDODI0OAoJSVNQQU4JCQlNUEM4MjYwCglNUEM4MjYwQURTCQlNUEM4MjZ4L01QQzgyN3gvTVBDODI4MAoJUmF0dGxlcgkJCU1QQzgyNDgKCVpQQzE5MDAJCQlNUEM4MjY1CgpNaWNoYWVsIEJhcmtvd3NraSA8bWljaGFlbC5iYXJrb3dza2lAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzIzRVJEQgkJTVBDODMyMwoKSmVycnkgVmFuIEJhcmVuIDxnZXJhbGQudmFuYmFyZW5Ac21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2Fjc25nCQkJTVBDODI2MAoKT2xpdmVyIEJyb3duIDxvYnJvd25AYWR2ZW50bmV0d29ya3MuY29tPgoKCWd3ODI2MAkJCU1QQzgyNjAKCkNvbm4gQ2xhcmsgPGNsYXJrQGVzdGVlbS5jb20+CgoJRVNURUVNMTkyRQkJTVBDOHh4CgpL4XJpIERhdu3wc3NvbiA8a2RAZmxhZ2EuaXM+CgoJRkxBR0FETQkJCU1QQzgyMwoKVG9yc3RlbiBEZW1rZSA8dG9yc3Rlbi5kZW1rZUBmY2kuY29tPgoKCWVYYWxpb24JCQlNUEM4MjR4CgpXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgoKCUljZUN1YmVfNTEwMAkJTUdUNTEwMAoJSWNlQ3ViZV81MjAwCQlNUEM1MjAwCgoJQU1YODYwCQkJTVBDODYwCglFVFgwOTQJCQlNUEM4NTAKCUZQUzg1MEwJCQlNUEM4NTAKCUZQUzg2MEwJCQlNUEM4NjAKCUlDVTg2MgkJCU1QQzg2MgoJSVA4NjAJCQlNUEM4NjAKCUlWTUwyNAkJCU1QQzg2MAoJSVZNTDI0XzEyOAkJTVBDODYwCglJVk1MMjRfMjU2CQlNUEM4NjAKCUlWTVM4CQkJTVBDODYwCglJVk1TOF8xMjgJCU1QQzg2MAoJSVZNUzhfMjU2CQlNUEM4NjAKCUxBTlRFQwkJCU1QQzg1MAoJTFdNT04JCQlNUEM4MjMKCU5DNjUwCQkJTVBDODUyCglSMzYwTVBJCQkJTVBDODIzCglSTVUJCQlNUEM4NTAKCVJSdmlzaW9uCQlNUEM4MjMKCVNNODUwCQkJTVBDODUwCglTUEQ4MjNUUwkJTVBDODIzCglUUU04MjNMCQkJTVBDODIzCglUUU04MjNMX0xDRAkJTVBDODIzCglUUU04NTBMCQkJTVBDODUwCglUUU04NTVMCQkJTVBDODU1CglUUU04NjBMCQkJTVBDODYwCglUUU04NjBMX0ZFQwkJTVBDODYwCgljMm1vbgkJCU1QQzg1NQoJaGVybWVzCQkJTVBDODYwCglsd21vbgkJCU1QQzgyMwoJcGN1X2UJCQlNUEM4NTUKCglDVTgyNAkJCU1QQzgyNDAKCVNhbmRwb2ludDgyNDAJCU1QQzgyNDAKCVNMODI0NQkJCU1QQzgyNDUKCglBVEMJCQlNUEM4MjUwCglQTTgyNQkJCU1QQzgyNTAKCglUUU04MjU1CQkJTVBDODI1NQoKCUNQVTg2CQkJTVBDODI2MAoJUE04MjYJCQlNUEM4MjYwCglUUU04MjYwCQkJTVBDODI2MAoKCVAzRzQJCQlNUEM3NDEwCgoJUENJUFBDMgkJCU1QQzc1MAoJUENJUFBDNgkJCU1QQzc1MAoKCUVYQklUR0VOCQlQUEM0MDVHUAoKSm9uIERpZWtlbWEgPGpvbi5kaWVrZW1hQHNtaXRocy1hZXJvc3BhY2UuY29tPgoKCXNiYzgyNjAJCQlNUEM4MjYwCgpEYXZlIEVsbGlzIDxER0VAc2l4bmV0aW8uY29tPgoKCVNYTkk4NTVUCQlNUEM4eHgKClRob21hcyBGcmllZGVuIDxUaG9tYXNGQGh5cGVyaW9uLWVudGVydGFpbm1lbnQuY29tPgoKCUFtaWdhT25lRzNTRQkJTVBDN3h4CgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglBRENJT1AJCQlJT1A0ODAgKFBQQzQwMSkKCUFQQzQwNQkJCVBQQzQwNUdQCglBUjQwNQkJCVBQQzQwNUdQCglBU0g0MDUJCQlQUEM0MDVFUAoJQ0FOQlQJCQlQUEM0MDVDUgoJQ1BDSTJEUAkJCVBQQzQwNUdQCglDUENJNDA1CQkJUFBDNDA1R1AKCUNQQ0k0MDUyCQlQUEM0MDVHUAoJQ1BDSTQwNUFCCQlQUEM0MDVHUAoJQ1BDSTQwNURUCQlQUEM0MDVHUAoJQ1BDSUlTRVI0CQlQUEM0MDVHUAoJREFTQV9TSU0JCUlPUDQ4MCAoUFBDNDAxKQoJRFA0MDUJCQlQUEM0MDVFUAoJRFU0MDUJCQlQUEM0MDVHUAoJRzIwMDAJCQlQUEM0MDVFUAoJSEg0MDUJCQlQUEM0MDVFUAoJSFVCNDA1CQkJUFBDNDA1RVAKCU9DUlRDCQkJUFBDNDA1R1AKCU9SU0cJCQlQUEM0MDVHUAoJUENJNDA1CQkJUFBDNDA1R1AKCVBMVTQwNQkJCVBQQzQwNUVQCglQTUM0MDUJCQlQUEM0MDVHUAoJUE1DNDQwCQkJUFBDNDQwRVB4CglWT0g0MDUJCQlQUEM0MDVFUAoJVk9NNDA1CQkJUFBDNDA1RVAKCVdVSDQwNQkJCVBQQzQwNUVQCglDTVM3MDAJCQlQUEM0MDVFUAoKTmlrbGF1cyBHaWdlciA8bmlrbGF1cy5naWdlckBuZXRzdGFsLmNvbT4KCglIQ1U0CQkJUFBDNDA1R1ByCglIQ1U1CQkJUFBDNDQwRVB4CgpGcmFuayBHb3R0c2NobGluZyA8ZmdvdHRzY2hsaW5nQGVsdGVjLmRlPgoKCU1IUEMJCQlNUEM4eHgKCglCQUI3eHgJCQlNUEM3NDAvTVBDNzUwCgpXb2xmZ2FuZyBHcmFuZGVnZ2VyIDx3Z0BkZW54LmRlPgoKCUNDTQkJCU1QQzg1NQoKCVBONjIJCQlNUEM4MjQwCgoJSVBIQVNFNDUzOQkJTVBDODI2MAoJU0NNCQkJTVBDODI2MAoKSG93YXJkIEdyYXkgPG12c2Vuc29yQG1hdHJpeC12aXNpb24uZGU+CgoJTVZTMQkJCU1QQzgyMwoKSm9lIEhhbW1hbiA8am9lLmhhbW1hbkBlbWJlZGRlZHNwZWNpYWx0aWVzLmNvbT4KCglzYmM4NjQxZAkJTVBDODY0MUQKCktsYXVzIEhleWRlY2sgPGhleWRlY2tAa2llYmFjay1wZXRlci5kZT4KCglLVVA0SwkJCU1QQzg1NQoJS1VQNFgJCQlNUEM4NTkKCk11cnJheSBKZW5zZW4gPE11cnJheS5KZW5zZW5AY3Npcm8uYXU+CgoJY29nZW50X21wYzh4eAkJTVBDOHh4CgoJY29nZW50X21wYzgyNjAJCU1QQzgyNjAKCWh5bW9kCQkJTVBDODI2MAoKTGFycnkgSm9obnNvbiA8bHJqQGFjbS5vcmc+CgoJa29yYXQJCQlQUEM0NDBFUHgKCkJyYWQgS2VtcCA8QnJhZC5LZW1wQHNlcmFub2EuY29tPgoKCXBwbWM4MjYwCQlNUEM4MjYwCgpTYW5nbW9vbiBLaW0gPGRvZ29pbEBldGluc3lzLmNvbT4KCglkZWJyaXMJCQlNUEM4MjQ1CglLVk1FMDgwCQkJTVBDODI0NQoKVGhvbWFzIExhbmdlIDx0aG9tYXNAY29yZWxhdHVzLnNlPgoKCUdUSAkJCU1QQzg2MAoKVGhlIExFT1ggdGVhbSA8dGVhbUBsZW94Lm9yZz4KCglFTFBUODYwCQkJTVBDODYwVAoKRGF2ZSBMaXUgPGRhdmVsaXVAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzYwRU1EUwkJTVBDODM2MAoKTnllIExpdSA8bnlldEB6dW1hbmV0d29ya3MuY29tPgoKCVpVTUEJCQlNUEM3eHhfNzR4eAoKSm9uIExvZWxpZ2VyIDxqZGxAZnJlZXNjYWxlLmNvbT4KCglNUEM4NTQwQURTCQlNUEM4NTQwCglNUEM4NTYwQURTCQlNUEM4NTYwCglNUEM4NTQxQ0RTCQlNUEM4NTQxCglNUEM4NTU1Q0RTCQlNUEM4NTU1CgoJTVBDODY0MUhQQ04JCU1QQzg2NDFECgpEYW4gTWFsZWsgPGRhbkBlbWJlZGRlZGFsbGV5LmNvbT4KCglzdHhncDMJCQlNUEM4NXh4CglzdHhzc2EJCQlNUEM4NXh4CglzdHh4dGMJCQlNUEM4eHgKCkVyYW4gTWFuIDxlcmFuQG5iYXNlLmNvLmlsPgoKCUVWQjY0MjYwXzc1MENYCQlNUEM3NTBDWAoKQW5kcmVhICJsbGFuZHJlIiBNYXJzb24gPGFuZHJlYS5tYXJzb25AZGF2ZS10ZWNoLml0PgoKCVBQQ2hhbWVsZW9uRVZCCVBQQzQwNUVQCgpSZWluaGFyZCBNZXllciA8ci5tZXllckBlbWstZWxla3Ryb25pay5kZT4KCglUT1A4NjAJCQlNUEM4NjBUCglUT1A1MjAwCQkJTVBDNTIwMAoKVG9sdW5heSBPcmt1biA8dG9ya3VuQG5leHRpby5jb20+CgoJY3NiMjcyCQkJUFBDNDA1R1AKCWNzYjQ3MgkJCVBQQzQwNUdQCgpKb2huIE90a2VuIDxqb3RrZW5Ac29mdGFkdmFuY2VzLmNvbT4KCglsdWFuCQkJUFBDNDQwU1AKCXRhaWh1CQkJUFBDNDA1RVAKCktlaXRoIE91dHdhdGVyIDxLZWl0aF9PdXR3YXRlckBtdmlzLmNvbT4KCglHRU44NjBUCQkJTVBDODYwVAoJR0VOODYwVF9TQwkJTVBDODYwVAoKRnJhbmsgUGFubm8gPGZwYW5ub0BkZWxwaGludGVjaC5jb20+CgoJZXA4MjYwCQkJTVBDODI2MAoKRGVuaXMgUGV0ZXIgPGQucGV0ZXJAbXBsLmNoPgoKCU1JUDQwNQkJCVBQQzR4eAoJUElQNDA1CQkJUFBDNHh4CgpLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgoKCU1QQzgzNDlFTURTCQlNUEM4MzQ5CgpEYW5pZWwgUG9pcm90IDxkYW4ucG9pcm90QHdpbmRyaXZlci5jb20+CgoJc2JjODI0MAkJCU1QQzgyNDAKCXNiYzQwNQkJCVBQQzQwNUdQCgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJUDNNNzQ0OAkJCU1QQzc0NDgKCgl1YzEwMAkJCU1QQzg1NwoKCVRRTTg1eHgJCQlNUEM4NTQwLzg1NDEvODU1NS84NTYwCgoJYWNhZGlhCQkJUFBDNDA1RVoKCWFscHIJCQlQUEM0NDBHWAoJYmFtYm9vCQkJUFBDNDQwRVAKCWJ1bmJpbmdhCQlQUEM0MDVFUAoJZWJvbnkJCQlQUEM0NDBHUAoJaGFsZWFrYWxhCQlQUEM0MDVFWHIKCWthdG1haQkJCVBQQzQ0MFNQZQoJa2lsYXVlYQkJCVBQQzQwNUVYCglsd21vbjUJCQlQUEM0NDBFUHgKCW1ha2FsdQkJCVBQQzQwNUVYCglvY290ZWEJCQlQUEM0NDBHWAoJcDNwNDQwCQkJUFBDNDQwR1AKCXBjczQ0MGVwCQlQUEM0NDBFUAoJcmFpbmllcgkJCVBQQzQ0MEdSeAoJc2VxdW9pYQkJCVBQQzQ0MEVQeAoJc3ljYW1vcmUJCVBQQzQwNUdQcgoJdGFpc2hhbgkJCVBQQzQ0MEdYCgl3YWxudXQJCQlQUEM0MDVHUAoJeWVsbG93c3RvbmUJCVBQQzQ0MEdSCgl5b3NlbWl0ZQkJUFBDNDQwRVAKCXpldXMJCQlQUEM0MDVFUAoKCVAzTTc1MAkJCVBQQzc1MEZYL0dYL0dMCgpZdXNkaSBTYW50b3NvIDx5dXNkaV9zYW50b3NvQGFkYXB0ZWMuY29tPgoKCUhJRERFTl9EUkFHT04JTVBDODI0MS9NUEM4MjQ1CgpUcmF2aXMgU2F3eWVyICh0cmF2aXMuc2F3eWVyQHNhbmRidXJzdC5jb20+CgoJS0FSRUYJCQlQUEM0NDBHWAoJTUVUUk9CT1gJCVBQQzQ0MEdYCglYUEVESVRFMUsJCVBQQzQ0MEdYCgpQZXRlciBEZSBTY2hyaWp2ZXIgPHAyQG1pbmQuYmU+CgoJTUwyCQkJUFBDNHh4CgpUaW11ciBUYWJpIDx0aW11ckBmcmVlc2NhbGUuY29tPgoKCU1QQzgzNDlFLW1JVFgJCU1QQzgzNDkKCU1QQzgzNDlFLW1JVFgtR1AJTVBDODM0OQoKRXJpayBUaGVpc2VuIDxldGhlaXNlbkBtaW5kc3ByaW5nLmNvbT4KCglXN09MTUMJCQlQUEM0eHgKCVc3T0xNRwkJCVBQQzR4eAoKSmltIFRob21wc29uIDxqaW1AbXVzZW5raS5jb20+CgoJTVVTRU5LSQkJCU1QQzgyNDUvODI0MQoJU2FuZHBvaW50ODI0NQkJTVBDODI0NQoKUnVuZSBUb3JnZXJzZW4gPHJ1bmV0QGlubm92c3lzLmNvbT4KCglNUEM4MjY2QURTCQlNUEM4MjY2CgoKRGF2aWQgVXBkZWdyYWZmIDxkYXZlQGNyYXkuY29tPgoKCUNSQVlMMQkJCVBQQzR4eAoKSm9zZWYgV2FnbmVyIDxXYWduZXJATWljcm9zeXMuZGU+CgoJQ1BDNDUJCQlNUEM4MjQ1CglQTTUyMAkJCU1QQzUyMDAKClN0ZXBoZW4gV2lsbGlhbXMgPHN0ZXZlQGljYXJ1cy5jb20+CgoJSlNFCQkJUFBDNDA1R1ByCgpKb2huIFpoYW4gPHpoYW56QHNpbm92ZWUuY29tPgoKCXN2bV9zYzh4eAkJTVBDOHh4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpVbmtub3duIC8gb3JwaGFuZWQgYm9hcmRzOgoKCUFEUzg2MAkJCU1QQzh4eAoJRkFEUzgyMwkJCU1QQzh4eAoJRkFEUzg1MFNBUgkJTVBDOHh4CglGQURTODYwVAkJTVBDOHh4CglHRU5JRVRWCQkJTVBDOHh4CglJQUQyMTAJCQlNUEM4eHgKCU1CWAkJCU1QQzh4eAoJTUJYODYwVAkJCU1QQzh4eAoJTlg4MjMJCQlNUEM4eHgKCVJQWENsYXNzaWMJCU1QQzh4eAoJUlBYbGl0ZQkJCU1QQzh4eAoKCUVSSUMJCQlQUEM0eHgKCglNT1VTU0UJCQlNUEM4MjR4CgoJUlBYc3VwZXIJCU1QQzgyNjAKCXJzZHByb3RvCQlNUEM4MjYwCgoJRVZCNjQyNjAJCU1QQzd4eF83NHh4CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFSTSBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClJvd2VsIEF0aWVuemEgPHJvd2VsQGRpd2FsYWJzLmNvbT4KCglhcm1hZGlsbG8JCUFSTTcyMFQKClJpc2hpIEJoYXR0YWNoYXJ5YSA8cmlzaGlAdGkuY29tPgoKCW9tYXA1OTEyb3NrCQlBUk05MjZFSlMKCkNsaWZmIEJyYWtlIDxjbGlmZi5icmFrZUBnbWFpbC5jb20+CgoJcHhhMjU1X2lkcAkJeHNjYWxlCgpSaWNrIEJyb25zb24gPHJpY2tAZWZuLm9yZz4KCglBVDkxUk05MjAwREsJCWF0OTFybTkyMDAKCkdlb3JnZSBHLiBEYXZpcyA8Z2RhdmlzQG12aXN0YS5jb20+CgoJYXNzYWJldAkJCVNBMTEwMAoJZ2NwbHVzCQkJU0ExMTAwCgpUaG9tYXMgRWxzdGUgPGluZm9AZWxzdGUub3JnPgoKCW1vZG5ldDUwCQlBUk03MjBUIChORVQrNTApCgpQZXRlciBGaWd1bGkgPHBlcG9zaEBldGMuc2s+CgoJd2VwZXAyNTAJCXhzY2FsZQoKTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgoKCWltcGE3CQkJQVJNNzIwVCAoRVA3MjExKQoJZXA3MzEyCQkJQVJNNzIwVCAoRVA3MzEyKQoKS3NoaXRpaiBHdXB0YSA8a3NoaXRpakB0aS5jb20+CgoJb21hcDE1MTBpbm4JCUFSTTkyNVQKCW9tYXAxNjEwaW5uCQlBUk05MjZFSlMKCkt5bGUgSGFycmlzIDxraGFycmlzQG5leHVzLXRlY2gubmV0PgoKCWx1YmJvY2sJCQl4c2NhbGUKCWNyYWRsZQkJCXhzY2FsZQoJaXhkcDQyNQkJCXhzY2FsZQoKR2FyeSBKZW5uZWpvaG4gPGdqQGRlbnguZGU+CgoJc21kazI0MDAJCUFSTTkyMFQKCXRyYWIJCQlBUk05MjBUCgpLb25zdGFudGluIEtsZXRzY2hrZSA8a2xldHNjaGtlQHN5bmVydHJvbml4eC5kZT4KCXNjYjkzMjgJCQlBUk05MjBUCgpOaXNoYW50IEthbWF0IDxuc2thbWF0QHRpLmNvbT4KCglvbWFwMTYxMGgyCQlBUk05MjZFSlMKClNlcmdleSBLdWJ1c2h5biA8a3NpQGtvaTgubmV0PgoKCURWLUVWTQkJCUFSTTkyNkVKUwoJU09OQVRBCQkJQVJNOTI2RUpTCglTQ0hNT09HSUUJCUFSTTkyNkVKUwoKUHJha2FzaCBLdW1hciA8cHJha2FzaEBlbWJlZHguY29tPgoKCWNlcmYyNTAJCQl4c2NhbGUKCkRhdmlkIE38bGxlciA8ZC5tdWVsbGVyQGVsc29mdC5jaD4KCglzbWRrMjQxMAkJQVJNOTIwVAoJVkNNQTkJCQlBUk05MjBUCgpSb2xmIE9mZmVybWFubnMgPHJvZkBzeXNnby5kZT4KCglzaGFubm9uCQkJU0ExMTAwCgpQZXRlciBQZWFyc2UgPHBldGVyLnBlYXJzZUBhcm0uY29tPgoJaW50ZWdyYXRvcmNwCQlBbGwgY3VycmVudCBBUk0gc3VwcGxpZWQgJgoJCQkJc3VwcG9ydGVkIGNvcmUgbW9kdWxlcwoJCQkJLXNlZSBodHRwOi8vd3d3LmFybS5jb20KCQkJCS9wcm9kdWN0cy9EZXZUb29scwoJCQkJL0hhcmR3YXJlX1BsYXRmb3Jtcy5odG1sCgl2ZXJzYXRpbGUJCUFSTTkyNkVKLVMKCXZlcnNhdGlsZQkJQVJNOTI2RUotUwoKRGF2ZSBQZXZlcmxleSA8ZHBldmVybGV5QG1wYy1kYXRhLmNvLnVrPgoKCW9tYXA3MzBwMgkJQVJNOTI2RUpTCgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJaXhkcGc0MjUJCXhzY2FsZQoJcGRuYjMJCQl4c2NhbGUKCXNjcHUJCQl4c2NhbGUKClJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KCgljc2IyMjYJCQl4c2NhbGUKCWlubm9rb20JCQl4c2NhbGUKCkFuZHJlYSBTY2lhbiA8YW5kcmVhLnNjaWFuQGRhdmUtdGVjaC5pdD4KCglCMgkJCUFSTTdURE1JIChTM0M0NEIwWCkKCkdyZWcgVW5nZXJlciA8Z3JlZy51bmdlcmVyQG9wZW5nZWFyLmNvbT4KCgljbTQwMDgJCQlrczg2OTVwCgljbTQxMTYJCQlrczg2OTVwCgljbTQxNDgJCQlrczg2OTVwCgpSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CgoJb21hcDI0MjBoNAkJQVJNMTEzNkVKUwoKQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgoKCWxhcnQJCQlTQTExMDAKCWRucDExMTAJCQlTQTExMTAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyB4ODYgU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpEYW5pZWwgRW5nc3Ry9m0gPGRhbmllbEBvbWljcm9uLnNlPgoKCXNjNTIwX2NkcAkJeDg2CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTUlQUyBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJaW5jYWlwCQkJTUlQUzMyIDRLYwoJcHVycGxlCQkJTUlQUzY0IDVLYwoKVGhvbWFzIExhbmdlIDx0aG9tYXNAY29yZWxhdHVzLnNlPgoJZGJhdTF4MDAJCU1JUFMzMiBBdTEwMDAKCWd0aDIJCQlNSVBTMzIgQXUxMDAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTmlvcy0zMiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU3RlcGhhbiBMaW56IDxsaW56QGxpLXByby5uZXQ+CgoJREsxUzEwCQkJTmlvcy0zMgoJQUROUEVTQzEJCU5pb3MtMzIKClNjb3R0IE1jTnV0dCA8c21jbnV0dEBwc3llbnQuY29tPgoKCURLMUMyMAkJCU5pb3MtMzIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBOaW9zLUlJIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTY290dCBNY051dHQgPHNtY251dHRAcHN5ZW50LmNvbT4KCglQQ0k1NDQxCQkJTmlvcy1JSQoJUEsxQzIwCQkJTmlvcy1JSQoJRVAxQzIwCQkJTmlvcy1JSQoJRVAxUzEwCQkJTmlvcy1JSQoJRVAxUzQwCQkJTmlvcy1JSQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1pY3JvQmxhemUgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCllhc3VzaGkgU2hvamkgPHlhc2hpQGF0bWFyay10ZWNobm8uY29tPgoKCVNVWkFLVQkJCU1pY3JvQmxhemUKCk1pY2hhbCBTaW1layA8bW9uc3RyQG1vbnN0ci5ldT4KCglNTDQwMQkJCU1pY3JvQmxhemUKCVhVUFYyUAkJCU1pY3JvQmxhemUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDb2xkZmlyZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CgoJVEFTUkVHCQkJTUNGNTI0OQoKWmFjaGFyeSBQLiBMYW5kYXUgPHphY2hhcnkubGFuZGF1QGxhYnh0ZWNobm9sb2dpZXMuY29tPgoKCXI1MjAwCQkJbWNmNTJ4MgoKVHNpQ2h1bmcgTGlldyA8VHNpLUNodW5nLkxpZXdAZnJlZXNjYWxlLmNvbT4KCglNNTIzNUVWQgkJbWNmNTJ4MgoJTTUzMjlFVkIJCW1jZjUzMngKCU01NDQ1NUVWQgkJbWNmNTQ0NXgKCkhheWRlbiBGcmFzZXIgPEhheWRlbi5GcmFzZXJAZnJlZXNjYWxlLmNvbT4KCglNNTI1M0VWQkUJCW1jZjUyeDIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBVlIzMiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKSGFhdmFyZCBTa2lubmVtb2VuIDxoc2tpbm5lbW9lbkBhdG1lbC5jb20+CgoJQVRTVEsxMDAwCQlBVDMyQVA3eHh4CglBVFNUSzEwMDIJCUFUMzJBUDcwMDAKCUFUU1RLMTAwMwkJQVQzMkFQNzAwMQoJQVRTVEsxMDA0CQlBVDMyQVA3MDAyCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU3VwZXJIIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpOb2J1aGlybyBJd21hYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CgoJTVM3NzUwU0UJCVNINzc1MAoJTVM3NzIyU0UJCVNINzcyMgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEVuZCBvZiBNQUlOVEFJTkVSUyBsaXN0CQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCg==