LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDA0IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENvbW1vbiBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sCqAqCiAqIENvbnRyaWJ1dG9yczoKICogICAgSUJNIC0gSW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwYWNrYWdlIG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5pbnRlcm5hbC5vcGVyYXRpb25zOwoKaW1wb3J0IG9yZy5lY2xpcHNlLndzdC5zZXJ2ZXIuY29yZS5JTW9kdWxlOwovKioKICogQSBtb2R1bGUgc3RhdGUuCiAqLwpwdWJsaWMgY2xhc3MgTW9kdWxlU3RhdGUgewoJcHJpdmF0ZSBJTW9kdWxlIG1vZHVsZTsKCXByaXZhdGUgYm9vbGVhbiBwdWJsaXNoOwoJcHJpdmF0ZSBpbnQgc3RhdGU7CgkKCXB1YmxpYyBNb2R1bGVTdGF0ZShJTW9kdWxlIG1vZHVsZSwgaW50IHN0YXRlLCBib29sZWFuIHB1Ymxpc2gpIHsKCQl0aGlzLm1vZHVsZSA9IG1vZHVsZTsKCQl0aGlzLnN0YXRlID0gc3RhdGU7CgkJdGhpcy5wdWJsaXNoID0gcHVibGlzaDsKCX0KCQoJcHVibGljIElNb2R1bGUgZ2V0TW9kdWxlKCkgewoJCXJldHVybiBtb2R1bGU7Cgl9CgkKCXB1YmxpYyBpbnQgZ2V0U3RhdGUoKSB7CgkJcmV0dXJuIHN0YXRlOwoJfQoJCglwdWJsaWMgYm9vbGVhbiBnZXRQdWJsaXNoKCkgewoJCXJldHVybiBwdWJsaXNoOwoJfQp9