LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDA1IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAogKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAogKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAqgKgogKiBDb250cmlidXRvcnM6CiAqICAgIElCTSBDb3Jwb3JhdGlvbiAtIEluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KcGFja2FnZSBvcmcuZWNsaXBzZS53c3Quc2VydmVyLnVpLmludGVybmFsOwoKaW1wb3J0IG9yZy5lY2xpcHNlLm9zZ2kudXRpbC5OTFM7Ci8qKgogKiBUcmFuc2xhdGVkIG1lc3NhZ2VzLgogKi8KcHVibGljIGNsYXNzIE1lc3NhZ2VzIGV4dGVuZHMgTkxTIHsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JEZXNjcmlwdGlvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JBZGREZXNjcmlwdGlvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yVmVyc2lvbkxldmVsOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgbG9hZGluZ1Rhc2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyBjcmVhdGVTZXJ2ZXJQcm9qZWN0RGlhbG9nTWVzc2FnZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlZmF1bHRTZXJ2ZXJQcm9qZWN0TmFtZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHRlcm1pbmF0ZVNlcnZlckRpYWxvZ01lc3NhZ2U7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25Nb25pdG9yUG9ydDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlbGV0ZVNlcnZlclJlc291cmNlRGlhbG9nTWVzc2FnZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlbGV0ZVNlcnZlclJlc291cmNlRGlhbG9nTWVzc2FnZU1hbnk7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkZWxldGVTZXJ2ZXJSZXNvdXJjZURpYWxvZ0xvb3NlQ29uZmlndXJhdGlvbnM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkZWxldGVTZXJ2ZXJSZXNvdXJjZURpYWxvZ0xvb3NlQ29uZmlndXJhdGlvbnNNYW55OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JDb3VsZE5vdENyZWF0ZVNlcnZlclByb2plY3RTdGF0dXM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dTdG9wcGluZ1NlcnZlcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHNhdmluZ1Rhc2s7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JTYXZlRXJyb3JEaWFsb2c7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JTYXZlRXJyb3JNZXNzYWdlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdG9yUmVhZE9ubHlGaWxlczsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yRWRpdG9yOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdG9yVW5kb0Rpc2FibGVkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdG9yVW5kb0VuYWJsZWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JSZWRvRGlzYWJsZWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JSZWRvRW5hYmxlZDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVkaXRvclJlc291cmNlRGVsZXRlVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JSZXNvdXJjZURlbGV0ZVNlcnZlck1lc3NhZ2U7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JSZXNvdXJjZURlbGV0ZVNhdmU7CglwdWJsaWMgc3RhdGljIFN0cmluZyByZXNvdXJjZURpcnR5RGlhbG9nTWVzc2FnZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHdpelNlbGVjdENsaWVudFRpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6U2VsZWN0Q2xpZW50RGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyByZXNvdXJjZURpcnR5RGlhbG9nVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyByZXNvdXJjZURpcnR5RGlhbG9nQ29udGludWU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpOZXdSdW50aW1lV2l6YXJkVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJMYXVuY2hTZXJ2ZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJMYXVuY2hIb3N0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VydmVyTGF1bmNoUnVudGltZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yTm9TZXJ2ZXJTZWxlY3RlZDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yU2VydmVyQWxyZWFkeVJ1bm5pbmc7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlcnJvckludmFsaWRTZXJ2ZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJMYXVuY2hDb25maWd1cmF0aW9uVGFiOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6U2VsZWN0Q2xpZW50TWVzc2FnZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRlbGV0ZVNlcnZlclJlc291cmNlRGlhbG9nVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJQcm9qZWN0Q3JlYXRlZDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yQ291bGROb3RDcmVhdGVTZXJ2ZXJQcm9qZWN0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JEaWFsb2dUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVkaXRvclZhbGlkYXRlRWRpdEZhaWx1cmVNZXNzYWdlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZlByb2plY3REZXNjcmlwdGlvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZQcm9qZWN0Tm90TW9kdWxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZlByb2plY3Q7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmUHJvamVjdERlZmF1bHRTZXJ2ZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmUHJvamVjdE5vdENvbmZpZ3VyZWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmUHJvamVjdE5vU2VydmVyOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JDb3VsZE5vdFNhdmVQcmVmZXJlbmNlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZmVyZW5jZVJ1bnRpbWVzRGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyBhZGQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcmVtb3ZlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VhcmNoOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZGlhbG9nUnVudGltZVNlYXJjaE1lc3NhZ2U7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dSdW50aW1lU2VhcmNoVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dSdW50aW1lU2VhcmNoUHJvZ3Jlc3M7CglwdWJsaWMgc3RhdGljIFN0cmluZyBpbmZvTm9SdW50aW1lc0ZvdW5kOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6RWRpdFJ1bnRpbWVXaXphcmRUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZlcmVuY2VSdW50aW1lc1RhYmxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZGlhbG9nUnVudGltZUluVXNlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZGVmYXVsdERpYWxvZ1RpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZmVyZW5jZVJ1bnRpbWVzVGl0bGVMb25nOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcnVudGltZVRhcmdldENvbWJvOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcnVudGltZVRhcmdldE5vbmU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBydW50aW1lVGFyZ2V0TmV3UnVudGltZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHJ1bnRpbWVUYXJnZXRDaGlsZHJlbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHJ1bnRpbWVUYXJnZXRSdW50aW1lUHJlZmVyZW5jZXM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmQXV0b1B1Ymxpc2g7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmQXV0b1B1Ymxpc2hMb2NhbDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZBdXRvUHVibGlzaFNlY29uZHM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmQXV0b1B1Ymxpc2hSZW1vdGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmQXV0b1Jlc3RhcnQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmUHJvbXB0SXJyZXZlcnNpYmxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZlNob3dPbkFjdGl2aXR5OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZkNyZWF0ZUluV29ya3NwYWNlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZlNhdmVFZGl0b3JzR3JvdXA7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmU2F2ZUVkaXRvcnNOZXZlcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZTYXZlRWRpdG9yc1Byb21wdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZTYXZlRWRpdG9yc0F1dG9zYXZlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZk1hY2hpbmVTcGVlZDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZNYWNoaW5lU3BlZWRWZXJ5U2xvdzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZNYWNoaW5lU3BlZWRTbG93OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcHJlZk1hY2hpbmVTcGVlZEF2ZXJhZ2U7CglwdWJsaWMgc3RhdGljIFN0cmluZyBwcmVmTWFjaGluZVNwZWVkRmFzdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHByZWZNYWNoaW5lU3BlZWRWZXJ5RmFzdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbk5ldzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbk5ld1NlcnZlcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbkRlYnVnVG9vbFRpcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbkRlYnVnOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgYWN0aW9uU3RhcnRUb29sVGlwOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgYWN0aW9uU3RhcnQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25Qcm9maWxlVG9vbFRpcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvblByb2ZpbGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25SZXN0YXJ0VG9vbFRpcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvblJlc3RhcnQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25QdWJsaXNoVG9vbFRpcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvblB1Ymxpc2g7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25EZWxldGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB0ZXJtaW5hdGVTZXJ2ZXJEaWFsb2dUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbkRlYnVnT25TZXJ2ZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25Qcm9maWxlT25TZXJ2ZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25SdW5PblNlcnZlcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ0FkZFJlbW92ZU1vZHVsZXNOb25lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgYWN0aW9uU2V0TmV3U2VydmVyOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JOb01vZHVsZXM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dNb2RlV2FybmluZ0RlYnVnOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZGlhbG9nTW9kZVdhcm5pbmdQcm9maWxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZXJyb3JOb1NlcnZlcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yTm9DbGllbnQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dNb2RlV2FybmluZ1Jlc3RhcnQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dNb2RlV2FybmluZ0NvbnRpbnVlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgaG9zdG5hbWVUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGhvc3RuYW1lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TW9kdWxlVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpNb2R1bGVEZXNjcmlwdGlvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHdpek1vZHVsZU1lc3NhZ2U7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpNb2R1bGVBdmFpbGFibGVMaXN0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TW9kdWxlRGVwbG95ZWRMaXN0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TW9kdWxlQWRkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TW9kdWxlUmVtb3ZlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TW9kdWxlQWRkQWxsOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TW9kdWxlUmVtb3ZlQWxsOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6VGFza1RpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6VGFza0Rlc2NyaXB0aW9uOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6VGFza05vbmU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpFcnJvckludmFsaWRGb2xkZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpFcnJvckNsb3NlZFByb2plY3Q7CglwdWJsaWMgc3RhdGljIFN0cmluZyBjcmVhdGVTZXJ2ZXJQcm9qZWN0RGlhbG9nVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpOZXdTZXJ2ZXJUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHdpek5ld1NlcnZlckRlc2NyaXB0aW9uOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TmV3U2VydmVyU2VsZWN0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TmV3U2VydmVyTWFudWFsOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6U2VsZWN0U2VydmVyUHJlZmVycmVkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TmV3U2VydmVyRXhpc3Rpbmc7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpJbXBvcnRDb25maWd1cmF0aW9uVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpJbXBvcnRDb25maWd1cmF0aW9uRGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpOZXdTZXJ2ZXJSdW50aW1lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6RXJyb3JTZXJ2ZXJDcmVhdGlvbkVycm9yOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6UnVuT25TZXJ2ZXJUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHdpekRlYnVnT25TZXJ2ZXJUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHdpelByb2ZpbGVPblNlcnZlclRpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TmV3UnVudGltZVRpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TmV3UnVudGltZURlc2NyaXB0aW9uOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgcGVyZm9ybWluZ1Rhc2tzOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6SW1wb3J0Q29uZmlndXJhdGlvbldpemFyZFRpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6TW9kdWxlV2l6YXJkVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB3aXpOZXdTZXJ2ZXJXaXphcmRUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHdpelNlbGVjdENsaWVudFdpemFyZFRpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6VGFza1dpemFyZFRpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld0J5OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgd2l6RGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dNb25pdG9yQ29sdW1uU3RhdHVzOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZGlhbG9nTW9uaXRvckNvbHVtblR5cGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBkaWFsb2dNb25pdG9yQ29sdW1uUG9ydDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JDb2x1bW5Nb25pdG9yUG9ydDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JDb2x1bW5Db250ZW50VHlwZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHN0YXJ0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc3RvcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JUaXRsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JNb25pdG9yUG9ydDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JDb250ZW50VHlwZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGRpYWxvZ01vbml0b3JDb250ZW50VHlwZUFsbDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHN0YXJ0ZWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzdG9wcGVkOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZGlhbG9nTW9uaXRvckNvbnRlbnRUeXBlV2ViOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZGlhbG9nTW9uaXRvckNvbnRlbnRUeXBlV2ViU2VydmljZXM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBjb2x1bW5OYW1lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgY29sdW1uVHlwZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHJ1bnRpbWVUeXBlQ29tcFRyZWU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBydW50aW1lVHlwZUNvbXBEZXNjcmlwdGlvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIG5hbWU7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2ZW5kb3I7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2ZXJzaW9uOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgbW9kdWxlU3VwcG9ydDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHdpek5ld1NlcnZlclNlbGVjdEV4aXN0aW5nOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgaG9zdDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVsZW1lbnRVbmtub3duTmFtZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHNlcnZlclR5cGVDb21wRGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U2VydmVyczsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdOb01vZHVsZXM7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3Q29uZmlndXJhdGlvblVudXNlZDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbk1vbml0b3JQcm9wZXJ0aWVzOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgYWN0aW9uT3BlbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTZXJ2ZXI7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U3RhdHVzOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N5bmM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25TdG9wVG9vbFRpcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvblN0b3A7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25Nb2RpZnlNb2R1bGVzVG9vbFRpcDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvbk1vZGlmeU1vZHVsZXM7CglwdWJsaWMgc3RhdGljIFN0cmluZyBhY3Rpb25Nb25pdG9yOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N5bmNPa2F5OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N5bmNSZXN0YXJ0OwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N5bmNQdWJsaXNoOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N5bmNSZXN0YXJ0UHVibGlzaDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTeW5jUHVibGlzaGluZzsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTeW5jT2theTI7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U3luY1Jlc3RhcnQyOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N5bmNQdWJsaXNoMjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTeW5jUmVzdGFydFB1Ymxpc2gyOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N5bmNQdWJsaXNoaW5nMjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVkaXRvclNlcnZlckVkaXRvcjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVkaXRvclByb21wdElycmV2ZXJzaWJsZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVycm9yRWRpdG9yQ2FudFNhdmU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JSZWFkT25seTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGVkaXRvcldyaXRhYmxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdG9yUmVzb3VyY2VNb2RpZmllZFRpdGxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdG9yUmVhZE9ubHlNZXNzYWdlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdG9yU2VydmVyTW9kaWZpZWRNZXNzYWdlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZWRpdG9yUmVzb3VyY2VXYXJuVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBlZGl0b3JSZXNvdXJjZVdhcm5NZXNzYWdlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VydmVyRWRpdG9yT3ZlcnZpZXdQYWdlVGl0bGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld1NlY3Rpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld0Rlc2NyaXB0aW9uOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VydmVyRWRpdG9yT3ZlcnZpZXdTZXJ2ZXJOYW1lOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VydmVyRWRpdG9yT3ZlcnZpZXdTZXJ2ZXJIb3N0bmFtZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHNlcnZlckVkaXRvck92ZXJ2aWV3UnVudGltZTsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHNlcnZlckVkaXRvck92ZXJ2aWV3UnVudGltZUVkaXQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld1NlcnZlckNvbmZpZ3VyYXRpb25QYXRoOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VydmVyRWRpdG9yT3ZlcnZpZXdBdXRvUHVibGlzaERlZmF1bHQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld0F1dG9QdWJsaXNoT3ZlcnJpZGU7CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld0F1dG9QdWJsaXNoRGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld0F1dG9QdWJsaXNoQ29tbWFuZDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHNlcnZlckVkaXRvck92ZXJ2aWV3U2VydmVySG9zdG5hbWVEZXNjcmlwdGlvbjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHNlcnZlckVkaXRvck92ZXJ2aWV3U2VydmVySG9zdG5hbWVDb21tYW5kOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VydmVyRWRpdG9yT3ZlcnZpZXdTZXJ2ZXJOYW1lRGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld1NlcnZlck5hbWVDb21tYW5kOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgc2VydmVyRWRpdG9yT3ZlcnZpZXdSdW50aW1lRGVzY3JpcHRpb247CglwdWJsaWMgc3RhdGljIFN0cmluZyBzZXJ2ZXJFZGl0b3JPdmVydmlld1J1bnRpbWVDb21tYW5kOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N0YXR1c1N0YXJ0aW5nNDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTdGF0dXNTdGFydGVkMjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTdGF0dXNTdG9wcGluZzQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U3RhdHVzU3RvcHBlZDI7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U3RhdHVzU3RhcnRpbmcxOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N0YXR1c1N0YXJ0aW5nMjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTdGF0dXNTdGFydGluZzM7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U3RhdHVzU3RvcHBpbmcxOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N0YXR1c1N0b3BwaW5nMjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHZpZXdTdGF0dXNTdG9wcGluZzM7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U3RhdHVzU3RhcnRlZERlYnVnOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N0YXR1c1N0YXJ0ZWRQcm9maWxlOwoJcHVibGljIHN0YXRpYyBTdHJpbmcgdmlld1N0YXR1c1N0YXJ0ZWQ7CglwdWJsaWMgc3RhdGljIFN0cmluZyB2aWV3U3RhdHVzU3RvcHBlZDsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvblN0b3BUb29sVGlwMjsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGFjdGlvblN0b3AyOwoKCXN0YXRpYyB7CgkJTkxTLmluaXRpYWxpemVNZXNzYWdlcyhTZXJ2ZXJVSVBsdWdpbi5QTFVHSU5fSUQgKyAiLmludGVybmFsLk1lc3NhZ2VzIiwgTWVzc2FnZXMuY2xhc3MpOwoJfQp9