LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIGZ0bW9kdWxlLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgQW1pZ2Etc3BlY2lmaWMgRnJlZVR5cGUgbW9kdWxlIHNlbGVjdGlvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIENvcHlyaWdodCAyMDA1LTIwMTUgYnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIFdlcm5lciBMZW1iZXJnIGFuZCBEZXRsZWYgV/xya25lci4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBGcmVlVHlwZSBwcm9qZWN0LCBhbmQgbWF5IG9ubHkgYmUgdXNlZCwgICAgICAgKi8KLyogIG1vZGlmaWVkLCBhbmQgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBGcmVlVHlwZSBwcm9qZWN0ICAgICAgKi8KLyogIGxpY2Vuc2UsIExJQ0VOU0UuVFhULiAgQnkgY29udGludWluZyB0byB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSAgICAgKi8KLyogIHRoaXMgZmlsZSB5b3UgaW5kaWNhdGUgdGhhdCB5b3UgaGF2ZSByZWFkIHRoZSBsaWNlbnNlIGFuZCAgICAgICAgICAgICAgKi8KLyogIHVuZGVyc3RhbmQgYW5kIGFjY2VwdCBpdCBmdWxseS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCi8qCiAqIFRvIGF2b2lkIHRoYXQgYWxsIHlvdXIgcHJvZ3JhbXMgaW5jbHVkZSBhbGwgRnJlZVR5cGUgbW9kdWxlcywKICogeW91IGNvcHkgdGhlIGZvbGxvd2luZyBwaWVjZSBvZiBzb3VyY2UgY29kZSBpbnRvIHlvdXIgb3duCiAqIHNvdXJjZSBmaWxlIGFuZCBzcGVjaWZ5IHdoaWNoIG1vZHVsZXMgeW91IHJlYWxseSBuZWVkIGluIHlvdXIKICogYXBwbGljYXRpb24gYnkgdW5jb21tZW50aW5nIHRoZSBhcHByb3ByaWF0ZSBsaW5lcy4KICovCi8qCi8vI2RlZmluZSBGVF9VU0VfQVVUT0ZJVCAvLyBhdXRvZml0dGVyCi8vI2RlZmluZSBGVF9VU0VfUkFTVEVSICAvLyBtb25vY2hyb21lIHJhc3Rlcml6ZXIKLy8jZGVmaW5lIEZUX1VTRV9TTU9PVEggIC8vIGFudGktYWxpYXNpbmcgcmFzdGVyaXplcgovLyNkZWZpbmUgRlRfVVNFX1RUICAgICAgLy8gdHJ1ZXR5cGUgZm9udCBkcml2ZXIKLy8jZGVmaW5lIEZUX1VTRV9UMSAgICAgIC8vIHR5cGUxIGZvbnQgZHJpdmVyCi8vI2RlZmluZSBGVF9VU0VfVDQyICAgICAvLyB0eXBlNDIgZm9udCBkcml2ZXIKLy8jZGVmaW5lIEZUX1VTRV9UMUNJRCAgIC8vIGNpZC1rZXllZCB0eXBlMSBmb250IGRyaXZlciAgLy8gbm8gY21hcCBzdXBwb3J0Ci8vI2RlZmluZSBGVF9VU0VfQ0ZGICAgICAvLyBvcGVudHlwZSBmb250IGRyaXZlcgovLyNkZWZpbmUgRlRfVVNFX0JERiAgICAgLy8gYmRmIGJpdG1hcCBmb250IGRyaXZlcgovLyNkZWZpbmUgRlRfVVNFX1BDRiAgICAgLy8gcGNmIGJpdG1hcCBmb250IGRyaXZlcgovLyNkZWZpbmUgRlRfVVNFX1BGUiAgICAgLy8gcGZyIGZvbnQgZHJpdmVyCi8vI2RlZmluZSBGVF9VU0VfV0lORk5UICAvLyB3aW5kb3dzIC5mbnR8LmZvbiBiaXRtYXAgZm9udCBkcml2ZXIKLy8jZGVmaW5lIEZUX1VTRV9PVFYgICAgIC8vIG9wZW50eXBlIHZhbGlkYXRvcgovLyNkZWZpbmUgRlRfVVNFX0dYViAgICAgLy8gdHJ1ZXR5cGUgZ3ggdmFsaWRhdG9yCiNpbmNsdWRlICJGVDpzcmMvYmFzZS9mdGluaXQuYyIKKi8KCi8qIE1ha2Ugc3VyZSB0aGF0IHRoZSBuZWVkZWQgc3VwcG9ydCBtb2R1bGVzIGFyZSBidWlsdCBpbi4KICogRGVwZW5kZW5jaWVzIGNhbiBiZSBmb3VuZCBieSBzZWFyY2hpbmcgZm9yIEZUX0dldF9Nb2R1bGUuCiAqLwoKI2lmZGVmIEZUX1VTRV9UNDIKI2RlZmluZSBGVF9VU0VfVFQKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1RUCiNkZWZpbmUgRlRfVVNFX1NGTlQKI2VuZGlmCgojaWZkZWYgRlRfVVNFX0NGRgojZGVmaW5lIEZUX1VTRV9TRk5UCiNkZWZpbmUgRlRfVVNFX1BTSElOVAojZGVmaW5lIEZUX1VTRV9QU05BTUVTCiNlbmRpZgoKI2lmZGVmIEZUX1VTRV9UMQojZGVmaW5lIEZUX1VTRV9QU0FVWAojZGVmaW5lIEZUX1VTRV9QU0hJTlQKI2RlZmluZSBGVF9VU0VfUFNOQU1FUwojZW5kaWYKCiNpZmRlZiBGVF9VU0VfVDFDSUQKI2RlZmluZSBGVF9VU0VfUFNBVVgKI2RlZmluZSBGVF9VU0VfUFNISU5UCiNkZWZpbmUgRlRfVVNFX1BTTkFNRVMKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1BTQVVYCiNkZWZpbmUgRlRfVVNFX1BTTkFNRVMKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1NGTlQKI2RlZmluZSBGVF9VU0VfUFNOQU1FUwojZW5kaWYKCi8qIE5vdyBpbmNsdWRlIHRoZSBtb2R1bGVzICovCgojaWZkZWYgRlRfVVNFX0FVVE9GSVQKRlRfVVNFX01PRFVMRSggRlRfTW9kdWxlX0NsYXNzLCBhdXRvZml0X21vZHVsZV9jbGFzcyApCiNlbmRpZgoKI2lmZGVmIEZUX1VTRV9UVApGVF9VU0VfTU9EVUxFKCBGVF9Ecml2ZXJfQ2xhc3NSZWMsIHR0X2RyaXZlcl9jbGFzcyApCiNlbmRpZgoKI2lmZGVmIEZUX1VTRV9UMQpGVF9VU0VfTU9EVUxFKCBGVF9Ecml2ZXJfQ2xhc3NSZWMsIHQxX2RyaXZlcl9jbGFzcyApCiNlbmRpZgoKI2lmZGVmIEZUX1VTRV9DRkYKRlRfVVNFX01PRFVMRSggRlRfRHJpdmVyX0NsYXNzUmVjLCBjZmZfZHJpdmVyX2NsYXNzICkKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1QxQ0lECkZUX1VTRV9NT0RVTEUoIEZUX0RyaXZlcl9DbGFzc1JlYywgdDFjaWRfZHJpdmVyX2NsYXNzICkKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1BGUgpGVF9VU0VfTU9EVUxFKCBGVF9Ecml2ZXJfQ2xhc3NSZWMsIHBmcl9kcml2ZXJfY2xhc3MgKQojZW5kaWYKCiNpZmRlZiBGVF9VU0VfVDQyCkZUX1VTRV9NT0RVTEUoIEZUX0RyaXZlcl9DbGFzc1JlYywgdDQyX2RyaXZlcl9jbGFzcyApCiNlbmRpZgoKI2lmZGVmIEZUX1VTRV9XSU5GTlQKRlRfVVNFX01PRFVMRSggRlRfRHJpdmVyX0NsYXNzUmVjLCB3aW5mbnRfZHJpdmVyX2NsYXNzICkKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1BDRgpGVF9VU0VfTU9EVUxFKCBGVF9Ecml2ZXJfQ2xhc3NSZWMsIHBjZl9kcml2ZXJfY2xhc3MgKQojZW5kaWYKCiNpZmRlZiBGVF9VU0VfUFNBVVgKRlRfVVNFX01PRFVMRSggRlRfTW9kdWxlX0NsYXNzLCBwc2F1eF9tb2R1bGVfY2xhc3MgKQojZW5kaWYKCiNpZmRlZiBGVF9VU0VfUFNOQU1FUwpGVF9VU0VfTU9EVUxFKCBGVF9Nb2R1bGVfQ2xhc3MsIHBzbmFtZXNfbW9kdWxlX2NsYXNzICkKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1BTSElOVApGVF9VU0VfTU9EVUxFKCBGVF9Nb2R1bGVfQ2xhc3MsIHBzaGludGVyX21vZHVsZV9jbGFzcyApCiNlbmRpZgoKI2lmZGVmIEZUX1VTRV9SQVNURVIKRlRfVVNFX01PRFVMRSggRlRfUmVuZGVyZXJfQ2xhc3MsIGZ0X3Jhc3RlcjFfcmVuZGVyZXJfY2xhc3MgKQojZW5kaWYKCiNpZmRlZiBGVF9VU0VfU0ZOVApGVF9VU0VfTU9EVUxFKCBGVF9Nb2R1bGVfQ2xhc3MsIHNmbnRfbW9kdWxlX2NsYXNzICkKI2VuZGlmCgojaWZkZWYgRlRfVVNFX1NNT09USApGVF9VU0VfTU9EVUxFKCBGVF9SZW5kZXJlcl9DbGFzcywgZnRfc21vb3RoX3JlbmRlcmVyX2NsYXNzICkKRlRfVVNFX01PRFVMRSggRlRfUmVuZGVyZXJfQ2xhc3MsIGZ0X3Ntb290aF9sY2RfcmVuZGVyZXJfY2xhc3MgKQpGVF9VU0VfTU9EVUxFKCBGVF9SZW5kZXJlcl9DbGFzcywgZnRfc21vb3RoX2xjZHZfcmVuZGVyZXJfY2xhc3MgKQojZW5kaWYKCiNpZmRlZiBGVF9VU0VfT1RWCkZUX1VTRV9NT0RVTEUoIEZUX01vZHVsZV9DbGFzcywgb3R2X21vZHVsZV9jbGFzcyApCiNlbmRpZgoKI2lmZGVmIEZUX1VTRV9CREYKRlRfVVNFX01PRFVMRSggRlRfRHJpdmVyX0NsYXNzUmVjLCBiZGZfZHJpdmVyX2NsYXNzICkKI2VuZGlmCgojaWZkZWYgRlRfVVNFX0dYVgpGVF9VU0VfTU9EVUxFKCBGVF9Nb2R1bGVfQ2xhc3MsIGd4dl9tb2R1bGVfY2xhc3MgKQojZW5kaWYKCi8qCkxvY2FsIFZhcmlhYmxlczoKY29kaW5nOiBsYXRpbi0xCkVuZDoKKi8K