LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgqSAyMDEwLTIwMTEgQXVzdGluIFJpZGRsZQogKiBBbGwgUmlnaHRzIFJlc2VydmVkLgogKiAKICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwogKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKICoKICogQ29udHJpYnV0b3JzOgogKiAgICAgQXVzdGluIFJpZGRsZSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgogKiAKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwYWNrYWdlIG9yZy5lY2xpcHNlLnJhcC5yd3QudmlzdWFsaXphdGlvbi5qaXQ7CgppbXBvcnQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuQ29tcG9zaXRlOwoKcHVibGljIGNsYXNzIFRyZWVNYXAgZXh0ZW5kcyBKSVRWaXN1YWxpemF0aW9uV2lkZ2V0CnsKICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBTTElDRV9BTkRfRElDRSA9IDA7CiAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgU1FVQVJJRlkgPSAxOwogIHB1YmxpYyBzdGF0aWMgZmluYWwgaW50IFNUUklQID0gMjsKICAKICBwcml2YXRlIGZpbmFsIGludCB0eXBlOwogIAogIHB1YmxpYyBUcmVlTWFwKCBmaW5hbCBDb21wb3NpdGUgcGFyZW50LCBmaW5hbCBpbnQgdHlwZSwgZmluYWwgaW50IHN0eWxlICkKICB7CiAgICBzdXBlciggcGFyZW50LCBzdHlsZSApOwogICAgaWYgKHR5cGUgPiAyIHx8IHR5cGUgPCAwKSB0aHJvdyBuZXcgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIHZhbHVlIGZvciB0eXBlIGFyZ3VtZW50LiIpOwogICAgdGhpcy50eXBlID0gdHlwZTsKICB9CiAgCiAgcHVibGljIGludCBnZXRUeXBlKCkgewogICAgcmV0dXJuIHR5cGU7CiAgfQogICAgCn0K