Skip to content

prashantvicky/toto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[{"filepath":"comserv-parent\checkstyle-suppressions.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIj8+Cgo8IURPQ1RZUEUgc3VwcHJlc3Npb25zIFBVQkxJQwogICAgICItLy9QdXBweSBDcmF3bC8vRFREIFN1cHByZXNzaW9ucyAxLjAvL0VOIgogICAgICJodHRwOi8vd3d3LnB1cHB5Y3Jhd2wuY29tL2R0ZHMvc3VwcHJlc3Npb25zXzFfMC5kdGQiPgoKPHN1cHByZXNzaW9ucz4KICA8c3VwcHJlc3MgY2hlY2tzPSJOZXdsaW5lQXRFbmRPZkZpbGUiCiAgICAgICAgICAgICBmaWxlcz0iLisiLz4KICA8c3VwcHJlc3MgY2hlY2tzPSJGaWxlVGFiQ2hhcmFjdGVyIgogICAgICAgICAgICAgZmlsZXM9Ii4rIi8+CiAgPHN1cHByZXNzIGNoZWNrcz0iUmVnZXhwU2luZ2xlbGluZSIKICAgICAgICAgICAgIGZpbGVzPSIuKyIvPgogIDxzdXBwcmVzcyBjaGVja3M9IkphdmFkb2NNZXRob2QiCiAgICAgICAgICAgICBmaWxlcz0iLisiLz4KICA8c3VwcHJlc3MgY2hlY2tzPSJKYXZhZG9jVHlwZSIKICAgICAgICAgICAgIGZpbGVzPSIuKyIvPgogIDxzdXBwcmVzcyBjaGVja3M9IkphdmFkb2NWYXJpYWJsZSIKICAgICAgICAgICAgIGZpbGVzPSIuKyIvPgogIDxzdXBwcmVzcyBjaGVja3M9IkphdmFkb2NTdHlsZSIKICAgICAgICAgICAgIGZpbGVzPSIuKyIvPgogIDxzdXBwcmVzcyBjaGVja3M9IkxpbmVMZW5ndGgiCiAgICAgICAgICAgICBmaWxlcz0iLisiLz4KICA8c3VwcHJlc3MgY2hlY2tzPSJGaW5hbFBhcmFtZXRlcnMiCiAgICAgICAgICAgICBmaWxlcz0iLisiLz4KICA8c3VwcHJlc3MgY2hlY2tzPSJEZXNpZ25Gb3JFeHRlbnNpb24iCiAgICAgICAgICAgICBmaWxlcz0iLisiLz4KPC9zdXBwcmVzc2lvbnM+"},{"filepath":"comserv-parent\comserv-backend\pom.xml","filecontent":"PHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgoJPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgoKCTxhcnRpZmFjdElkPmNvbXNlcnYtYmFja2VuZDwvYXJ0aWZhY3RJZD4KCTxuYW1lPmNvbXNlcnYtYmFja2VuZDwvbmFtZT4KCTxwYWNrYWdpbmc+d2FyPC9wYWNrYWdpbmc+Cgk8cmVwb3NpdG9yaWVzPgoJCTxyZXBvc2l0b3J5PgoJCQk8aWQ+T1NHRU8gR2VvVG9vbHMgcmVwbzwvaWQ+CgkJCTx1cmw+aHR0cDovL2Rvd25sb2FkLm9zZ2VvLm9yZy93ZWJkYXYvZ2VvdG9vbHM8L3VybD4KCQk8L3JlcG9zaXRvcnk+CgkJPHJlcG9zaXRvcnk+CgkJCTxpZD5IaWJlcm5hdGUgU3BhdGlhbCByZXBvPC9pZD4KCQkJPHVybD5odHRwOi8vd3d3LmhpYmVybmF0ZXNwYXRpYWwub3JnL3JlcG9zaXRvcnk8L3VybD4KCQk8L3JlcG9zaXRvcnk+CgoJPC9yZXBvc2l0b3JpZXM+Cgk8cGFyZW50PgoJCTxncm91cElkPmNvbS5kYi5jb21zZXJ2PC9ncm91cElkPgoJCTxhcnRpZmFjdElkPmNvbXNlcnYtcGFyZW50PC9hcnRpZmFjdElkPgoJCTx2ZXJzaW9uPjEuOC4wPC92ZXJzaW9uPgoJCTxyZWxhdGl2ZVBhdGg+Li4vcG9tLnhtbDwvcmVsYXRpdmVQYXRoPgoJPC9wYXJlbnQ+CgoJPGRlcGVuZGVuY2llcz4KCQk8ZGVwZW5kZW5jeT4KCQkJPGdyb3VwSWQ+ZG5zamF2YTwvZ3JvdXBJZD4KCQkJPGFydGlmYWN0SWQ+ZG5zamF2YTwvYXJ0aWZhY3RJZD4KCQkJPHZlcnNpb24+Mi4xLjE8L3ZlcnNpb24+CgkJPC9kZXBlbmRlbmN5PgoJCQoJCTxkZXBlbmRlbmN5PgoJCQk8Z3JvdXBJZD5vcmcuaGliZXJuYXRlPC9ncm91cElkPgoJCQk8YXJ0aWZhY3RJZD5oaWJlcm5hdGUtc3BhdGlhbDwvYXJ0aWZhY3RJZD4KCQkJPHZlcnNpb24+NC4zPC92ZXJzaW9uPgoJCTwvZGVwZW5kZW5jeT4KCQkKCQkKCQkKCQk8ZGVwZW5kZW5jeT4KCQkJPGdyb3VwSWQ+Y29tLmRiLmNvbXNlcnY8L2dyb3VwSWQ+CgkJCTxhcnRpZmFjdElkPmNvbXNlcnYtY29tbW9uPC9hcnRpZmFjdElkPgoJCQk8dmVyc2lvbj4ke3ZlcnNpb259PC92ZXJzaW9uPgoJCTwvZGVwZW5kZW5jeT4KCgkJPGRlcGVuZGVuY3k+CgkJCTxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcmsuZGF0YTwvZ3JvdXBJZD4KCQkJPGFydGlmYWN0SWQ+c3ByaW5nLWRhdGEtY29tbW9uczwvYXJ0aWZhY3RJZD4KCQkJPHZlcnNpb24+JHtzcHJpbmctZGF0YS1jb21tb25zLnZlcnNpb259PC92ZXJzaW9uPgoJCTwvZGVwZW5kZW5jeT4KCQkKCQkgPGRlcGVuZGVuY3k+CgkJCTxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcms8L2dyb3VwSWQ+CgkJCTxhcnRpZmFjdElkPnNwcmluZy1jb3JlPC9hcnRpZmFjdElkPgoJCQk8dmVyc2lvbj4ke3NwcmluZy52ZXJzaW9ufTwvdmVyc2lvbj4KCQk8L2RlcGVuZGVuY3k+CgoJCTxkZXBlbmRlbmN5PgoJCSAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrPC9ncm91cElkPgoJCSAgICA8YXJ0aWZhY3RJZD5zcHJpbmctYmVhbnM8L2FydGlmYWN0SWQ+CgkJICAgIDx2ZXJzaW9uPiR7c3ByaW5nLnZlcnNpb259PC92ZXJzaW9uPgoJCTwvZGVwZW5kZW5jeT4KCQkKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLnNwcmluZ2ZyYW1ld29yazwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+c3ByaW5nLXRlc3Q8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7c3ByaW5nLnZlcnNpb259PC92ZXJzaW9uPgogICAgICAgICAgICA8dHlwZT5qYXI8L3R5cGU+CiAgICAgICAgICAgIDxzY29wZT50ZXN0PC9zY29wZT4KICAgICAgICA8L2RlcGVuZGVuY3k+CgoJCTwhLS0gcGVyc2lzdGVuY2UgLS0+CgoJCTxkZXBlbmRlbmN5PgoJCQk8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrPC9ncm91cElkPgoJCQk8YXJ0aWZhY3RJZD5zcHJpbmctb3JtPC9hcnRpZmFjdElkPgoJCQk8dmVyc2lvbj4ke3NwcmluZy52ZXJzaW9ufTwvdmVyc2lvbj4KCQk8L2RlcGVuZGVuY3k+CgkJPGRlcGVuZGVuY3k+CgkJCTxncm91cElkPm9yZy5oaWJlcm5hdGU8L2dyb3VwSWQ+CgkJCTxhcnRpZmFjdElkPmhpYmVybmF0ZS1jb3JlPC9hcnRpZmFjdElkPgoJCQk8dmVyc2lvbj4ke2hpYmVybmF0ZS52ZXJzaW9ufTwvdmVyc2lvbj4KCQk8L2RlcGVuZGVuY3k+CgkJCgoJCQoKCQk8ZGVwZW5kZW5jeT4KCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS50b21jYXQ8L2dyb3VwSWQ+CgkJCTxhcnRpZmFjdElkPnRvbWNhdC1kYmNwPC9hcnRpZmFjdElkPgoJCQk8dmVyc2lvbj4ke3RvbWNhdC1kYmNwLnZlcnNpb259PC92ZXJzaW9uPgoJCTwvZGVwZW5kZW5jeT4KCgkJPCEtLSB2YWxpZGF0aW9uIC0tPgoKCQk8ZGVwZW5kZW5jeT4KCQkJPGdyb3VwSWQ+b3JnLmhpYmVybmF0ZTwvZ3JvdXBJZD4KCQkJPGFydGlmYWN0SWQ+aGliZXJuYXRlLXZhbGlkYXRvcjwvYXJ0aWZhY3RJZD4KCQkJPHZlcnNpb24+JHtoaWJlcm5hdGUtdmFsaWRhdG9yLnZlcnNpb259PC92ZXJzaW9uPgoJCTwvZGVwZW5kZW5jeT4KCgoKICAgICAgICAKCgkJPCEtLSB0ZXN0IHNjb3BlZCAtLT4KCgkJPGRlcGVuZGVuY3k+CgkJCTxncm91cElkPm9yZy5hcGFjaGUuY29tbW9uczwvZ3JvdXBJZD4KCQkJPGFydGlmYWN0SWQ+Y29tbW9ucy1sYW5nMzwvYXJ0aWZhY3RJZD4KCQkJPHZlcnNpb24+JHtjb21tb25zLWxhbmczLnZlcnNpb259PC92ZXJzaW9uPgoJCQk8c2NvcGU+dGVzdDwvc2NvcGU+CgkJPC9kZXBlbmRlbmN5PgoKCQkKCgkJPGRlcGVuZGVuY3k+CgkJCTxncm91cElkPm9yZy5tb2NraXRvPC9ncm91cElkPgoJCQk8YXJ0aWZhY3RJZD5tb2NraXRvLWFsbDwvYXJ0aWZhY3RJZD4KCQkJPHZlcnNpb24+JHttb2NraXRvLnZlcnNpb259PC92ZXJzaW9uPgoJCQk8c2NvcGU+dGVzdDwvc2NvcGU+CgkJPC9kZXBlbmRlbmN5PgoKCQk8ZGVwZW5kZW5jeT4KCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS5jb21tb25zPC9ncm91cElkPgoJCQk8YXJ0aWZhY3RJZD5jb21tb25zLWxhbmczPC9hcnRpZmFjdElkPgoJCQk8dmVyc2lvbj4zLjA8L3ZlcnNpb24+CgkJPC9kZXBlbmRlbmN5PgoKICAgICAgIAoKICAgICAgICAKICAgICAgICAKICAgICAgICA8ZGVwZW5kZW5jeT4gCiAgICAgICAgCTxncm91cElkPm5ldC5zb3VyY2Vmb3JnZS5maW5kYnVnczwvZ3JvdXBJZD4gCiAgICAgICAgCTxhcnRpZmFjdElkPmFubm90YXRpb25zPC9hcnRpZmFjdElkPiAKICAgICAgICAJPHZlcnNpb24+MS4zLjI8L3ZlcnNpb24+IAogICAgICAgIAk8c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPiAKICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgICAgCiAgICAgICAgCQkKCgk8L2RlcGVuZGVuY2llcz4KCgk8YnVpbGQ+CgkJPGZpbmFsTmFtZT4ke25hbWV9PC9maW5hbE5hbWU+CiAgICAgICAgCiAgICAgICAgPHJlc291cmNlcz4KICAgICAgICAgICAgPHJlc291cmNlPgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeT5zcmMvbWFpbi9yZXNvdXJjZXM8L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxmaWx0ZXJpbmc+dHJ1ZTwvZmlsdGVyaW5nPgogICAgICAgICAgICA8L3Jlc291cmNlPgogICAgICAgICAgICAKICAgICAgICAgICAgPHJlc291cmNlPgogICAgICAgICAgICAgICAgPGRpcmVjdG9yeT4ke3Byb2plY3QuYmFzZWRpcn0vLi4vYnVpbGQ8L2RpcmVjdG9yeT4KICAgICAgICAgICAgICAgIDxmaWx0ZXJpbmc+dHJ1ZTwvZmlsdGVyaW5nPgogICAgICAgICAgICAgICAgPGluY2x1ZGVzPgogICAgICAgICAgICAgICAgICAgIDxpbmNsdWRlPkJVSUxEX05VTUJFUjwvaW5jbHVkZT4KICAgICAgICAgICAgICAgIDwvaW5jbHVkZXM+CiAgICAgICAgICAgIDwvcmVzb3VyY2U+CiAgICAgICAgPC9yZXNvdXJjZXM+CgkJPHBsdWdpbnM+CgoJCQk8cGx1Z2luPgoJCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgoJCQkJPGFydGlmYWN0SWQ+bWF2ZW4td2FyLXBsdWdpbjwvYXJ0aWZhY3RJZD4KCQkJCTx2ZXJzaW9uPiR7bWF2ZW4td2FyLXBsdWdpbi52ZXJzaW9ufTwvdmVyc2lvbj4KCQkJPC9wbHVnaW4+CgoJCQk8cGx1Z2luPgoJCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgoJCQkJPGFydGlmYWN0SWQ+bWF2ZW4tc3VyZWZpcmUtcGx1Z2luPC9hcnRpZmFjdElkPgoJCQkJPHZlcnNpb24+JHttYXZlbi1zdXJlZmlyZS1wbHVnaW4udmVyc2lvbn08L3ZlcnNpb24+CgkJCQk8Y29uZmlndXJhdGlvbj4KCQkJCQk8ZXhjbHVkZXM+CgkJCQkJCTwhLS0gPGV4Y2x1ZGU+KiovKlByb2R1Y3Rpb25UZXN0LmphdmE8L2V4Y2x1ZGU+IC0tPgoJCQkJCTwvZXhjbHVkZXM+CgkJCQkJPHN5c3RlbVByb3BlcnR5VmFyaWFibGVzPgoJCQkJCQk8IS0tIDxwcm92UGVyc2lzdGVuY2VUYXJnZXQ+aDI8L3Byb3ZQZXJzaXN0ZW5jZVRhcmdldD4gLS0+CgkJCQkJPC9zeXN0ZW1Qcm9wZXJ0eVZhcmlhYmxlcz4KCQkJCTwvY29uZmlndXJhdGlvbj4KCQkJPC9wbHVnaW4+CgoJCQk8cGx1Z2luPgoJCQkJPGdyb3VwSWQ+b3JnLmNvZGVoYXVzLmNhcmdvPC9ncm91cElkPgoJCQkJPGFydGlmYWN0SWQ+Y2FyZ28tbWF2ZW4yLXBsdWdpbjwvYXJ0aWZhY3RJZD4KCQkJCTx2ZXJzaW9uPiR7Y2FyZ28tbWF2ZW4yLXBsdWdpbi52ZXJzaW9ufTwvdmVyc2lvbj4KCQkJCTxjb25maWd1cmF0aW9uPgoJCQkJCTx3YWl0PnRydWU8L3dhaXQ+CgkJCQkJPGNvbnRhaW5lcj4KCQkJCQkJPGNvbnRhaW5lcklkPmpldHR5OHg8L2NvbnRhaW5lcklkPgoJCQkJCQk8dHlwZT5lbWJlZGRlZDwvdHlwZT4KCQkJCQkJPHN5c3RlbVByb3BlcnRpZXM+CgkJCQkJCQk8IS0tIDxwcm92UGVyc2lzdGVuY2VUYXJnZXQ+Y2FyZ288L3Byb3ZQZXJzaXN0ZW5jZVRhcmdldD4gLS0+CgkJCQkJCTwvc3lzdGVtUHJvcGVydGllcz4KCQkJCQk8L2NvbnRhaW5lcj4KCQkJCQk8Y29uZmlndXJhdGlvbj4KCQkJCQkJPHByb3BlcnRpZXM+CgkJCQkJCQk8Y2FyZ28uc2VydmxldC5wb3J0PjgwODI8L2NhcmdvLnNlcnZsZXQucG9ydD4KCQkJCQkJPC9wcm9wZXJ0aWVzPgoJCQkJCTwvY29uZmlndXJhdGlvbj4KCQkJCTwvY29uZmlndXJhdGlvbj4KCQkJPC9wbHVnaW4+CgogICAgICAgICAgICAKCQk8L3BsdWdpbnM+CgoJPC9idWlsZD4KCgk8Z3JvdXBJZD5jb21zZXJ2LWJhY2tlbmQ8L2dyb3VwSWQ+CjwvcHJvamVjdD4K"},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\config\core\SpringMvcInitializer.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5jb25maWcuY29yZTsKCmltcG9ydCBqYXZhLmlvLkZpbGU7CmltcG9ydCBqYXZhLm5ldC5Db29raWVIYW5kbGVyOwppbXBvcnQgamF2YS5uZXQuQ29va2llTWFuYWdlcjsKaW1wb3J0IGphdmEubmV0LkNvb2tpZVBvbGljeTsKaW1wb3J0IGphdmEubmV0LlVSTDsKaW1wb3J0IGphdmEuc3FsLkRyaXZlcjsKaW1wb3J0IGphdmEuc3FsLkRyaXZlck1hbmFnZXI7CmltcG9ydCBqYXZhLnNxbC5TUUxFeGNlcHRpb247CmltcG9ydCBqYXZhLnV0aWwuRW51bWVyYXRpb247CgppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHRFdmVudDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHRMaXN0ZW5lcjsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldEV4Y2VwdGlvbjsKCmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LnN1cHBvcnQuQWJzdHJhY3RBbm5vdGF0aW9uQ29uZmlnRGlzcGF0Y2hlclNlcnZsZXRJbml0aWFsaXplcjsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLmNvbmZpZy5NdmNDb25maWd1cmF0aW9uOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuTG9nVXRpbDsKCnB1YmxpYyBjbGFzcyBTcHJpbmdNdmNJbml0aWFsaXplciBleHRlbmRzCgkJQWJzdHJhY3RBbm5vdGF0aW9uQ29uZmlnRGlzcGF0Y2hlclNlcnZsZXRJbml0aWFsaXplciB7CgoJcHJvdGVjdGVkIGZpbmFsIHN0YXRpYyBMb2dnZXIgYUxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJBVURJVCIpOwoJcHJvdGVjdGVkIGZpbmFsIHN0YXRpYyBMb2dnZXIgc0xvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJTRVJWRVIiKTsKCglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIG9uU3RhcnR1cChmaW5hbCBTZXJ2bGV0Q29udGV4dCBzZXJ2bGV0Q29udGV4dCkKCQkJdGhyb3dzIFNlcnZsZXRFeGNlcHRpb24gewoJCWFMb2cuaW5mbygiU3RhcnRpbmciKTsKCQlzTG9nLmluZm8oIlN0YXJ0aW5nIik7CgoJCS8vIG11c3Qgc2V0IHRoaXMgdG8gc3RvcCBhIG1lbW9yeSBsZWFrIG9uIHJlZGVwbG95IGR1ZSB0byBqYm9zcyBsb2dnaW5nCgkJU3lzdGVtLnNldFByb3BlcnR5KCJvcmcuamJvc3MubG9nZ2luZy5wcm92aWRlciIsICJzbGY0aiIpOwoJCXNlcnZsZXRDb250ZXh0LmFkZExpc3RlbmVyKG5ldyBTZXJ2bGV0Q29udGV4dExpc3RlbmVyKCkgewoKCQkJQE92ZXJyaWRlCgkJCXB1YmxpYyB2b2lkIGNvbnRleHRJbml0aWFsaXplZChTZXJ2bGV0Q29udGV4dEV2ZW50IHNjZSkgewoJCQkJYUxvZy5pbmZvKCJJbml0aWFsaXplZCIpOwoJCQkJc0xvZy5pbmZvKCJJbml0aWFsaXplZCIpOwoJCQl9CgoJCQlAT3ZlcnJpZGUKCQkJcHVibGljIHZvaWQgY29udGV4dERlc3Ryb3llZChTZXJ2bGV0Q29udGV4dEV2ZW50IHNjZSkgewoJCQkJLy8gY2xlYW4gdXAgdGhlIFNRTCBkcml2ZXJzCgkJCQkKCQkJCWZpbmFsIEVudW1lcmF0aW9uPERyaXZlcj4gZHJpdmVycyA9IERyaXZlck1hbmFnZXIuZ2V0RHJpdmVycygpOwoJCQkJd2hpbGUgKGRyaXZlcnMuaGFzTW9yZUVsZW1lbnRzKCkpIHsKCQkJCQlEcml2ZXIgZHJpdmVyID0gZHJpdmVycy5uZXh0RWxlbWVudCgpOwoJCQkJCXNMb2cuZGVidWcoIkRlcmVnaXN0ZXJpbmcgZHJpdmVyICd7fSciLCBkcml2ZXIpOwoJCQkJCXRyeSB7CgkJCQkJCURyaXZlck1hbmFnZXIuZGVyZWdpc3RlckRyaXZlcihkcml2ZXIpOwoJCQkJCX0gY2F0Y2ggKGZpbmFsIFNRTEV4Y2VwdGlvbiBlKSB7CgkJCQkJCXNMb2cuZXJyb3IoIkZhaWxlZCB0byBkZXJlZ2lzdGVyIGRyaXZlciAnIiArIGRyaXZlcgoJCQkJCQkJCSsgIiciLCBlKTsKCQkJCQl9CgkJCQl9CgoJCQkJYUxvZy5pbmZvKCJEZXN0cm95ZWQiKTsKCQkJCXNMb2cuaW5mbygiRGVzdHJveWVkIik7CgkJCX0KCQl9KTsKCQkvLyBmaW5kIHdoZXJlIEVTQVBJIHRoZSBmaWxlcyBhcmUgbG9jYXRlZAoJCQoJCWlmIChTeXN0ZW0uZ2V0UHJvcGVydHkoIm9yZy5vd2FzcC5lc2FwaS5yZXNvdXJjZXMiKSA9PSBudWxsKSB7CgkJCWFMb2cuaW5mbygiU2V0dGluZyBvcmcub3dhc3AuZXNhcGkucmVzb3VyY2VzIik7CgkJCUNsYXNzTG9hZGVyIGNsID0gVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5nZXRDb250ZXh0Q2xhc3NMb2FkZXIoKTsKCQkJZmluYWwgVVJMIHVybCA9IGNsLmdldFJlc291cmNlKCJFU0FQSS5wcm9wZXJ0aWVzIik7CgkJCWZpbmFsIEZpbGUgcGF0aCA9IG5ldyBGaWxlKHVybC5nZXRQYXRoKCkpOwoJCQlTeXN0ZW0uc2V0UHJvcGVydHkoIm9yZy5vd2FzcC5lc2FwaS5yZXNvdXJjZXMiLCBwYXRoLmdldFBhcmVudCgpLnRvU3RyaW5nKCkpOwoKCQl9CgkJLy8gcmVnaXN0ZXIgYW5kIGxvZyBsb2dnaW5nIGNvbmZpZ3VyYXRpb24KCQlMb2dVdGlsLnJlZ2lzdGVyRm9yTG9nZ2luZ0NvbmZpZ1VwZGF0ZXNBbmRMb2coKTsKCgkJLy8gYWRkIGNvb2tpZSBtYW5hZ2VyLCB1c2VkIHdoZW4gZG9pbmcgSFRUUCByZXF1ZXN0cwoJCUNvb2tpZUhhbmRsZXIuc2V0RGVmYXVsdCggbmV3IENvb2tpZU1hbmFnZXIoIG51bGwsIENvb2tpZVBvbGljeS5BQ0NFUFRfQUxMICkgKTsKCQkKCQlzdXBlci5vblN0YXJ0dXAoc2VydmxldENvbnRleHQpOwoJfQoKCUBPdmVycmlkZQoJcHJvdGVjdGVkIENsYXNzPD8+W10gZ2V0Um9vdENvbmZpZ0NsYXNzZXMoKSB7CgkJcmV0dXJuIG5ldyBDbGFzc1tdIHsgTXZjQ29uZmlndXJhdGlvbi5jbGFzcyB9OwoJfQoKCUBPdmVycmlkZQoJcHJvdGVjdGVkIENsYXNzPD8+W10gZ2V0U2VydmxldENvbmZpZ0NsYXNzZXMoKSB7CgkJcmV0dXJuIG51bGw7Cgl9CgoJQE92ZXJyaWRlCglwcm90ZWN0ZWQgU3RyaW5nW10gZ2V0U2VydmxldE1hcHBpbmdzKCkgewoJCXJldHVybiBuZXcgU3RyaW5nW10geyAiLyIgfTsKCX0KCn0="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\config\core\SpringSecurityInitializer.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uY29uZmlnLmNvcmU7CgppbXBvcnQgamF2YS51dGlsLkNvbGxlY3Rpb25zOwppbXBvcnQgamF2YS51dGlsLkVudW1TZXQ7CmltcG9ydCBqYXZhLnV0aWwuU2V0OwoKaW1wb3J0IGphdmF4LnNlcnZsZXQuRGlzcGF0Y2hlclR5cGU7CmltcG9ydCBqYXZheC5zZXJ2bGV0LkZpbHRlclJlZ2lzdHJhdGlvbjsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQ7CmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlc3Npb25UcmFja2luZ01vZGU7CgppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS53ZWIuY29udGV4dC5BYnN0cmFjdFNlY3VyaXR5V2ViQXBwbGljYXRpb25Jbml0aWFsaXplcjsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5zZXJ2bGV0LkVycm9ySGFuZGxpbmdGaWx0ZXI7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5zZXJ2bGV0LkxvZ2dpbmdTZXJ2bGV0RmlsdGVyOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuc2VydmxldC5WYWxpZGF0aW9uU2VydmxldEZpbHRlcjsKCnB1YmxpYyBjbGFzcyBTcHJpbmdTZWN1cml0eUluaXRpYWxpemVyIGV4dGVuZHMgQWJzdHJhY3RTZWN1cml0eVdlYkFwcGxpY2F0aW9uSW5pdGlhbGl6ZXIgewoKCUBPdmVycmlkZQogICAgcHJvdGVjdGVkIHZvaWQgYmVmb3JlU3ByaW5nU2VjdXJpdHlGaWx0ZXJDaGFpbihTZXJ2bGV0Q29udGV4dCBzZXJ2bGV0Q29udGV4dCkgewoJCS8vIHRoaXMgaXMgb3Bwb3NpdGUgdG8gd2hhdCB5b3UgdGhpbmssIHRvIGdldCB0aGUgbG9nZ2luZyBmaWx0ZXIgYmVmb3JlCgkJLy8gc3ByaW5nIHdlIHNob3VsZCBpbnNlcnQgaXQgYWZ0ZXIsIGJ1dCBpdCBkb2VzIG5vdCB3b3JrIHRoYXQgd2F5LCBpdCBtdXN0IGdvCgkJLy8gYmVmb3JlIGFuZCBpdCBzdGF5cyB0aGVyZQogICAgCS8vIG11c3QgaW5zZXJ0IGJlZm9yZSBzcHJpbmcgc2VjdXJpdHkKCQlmaW5hbCBGaWx0ZXJSZWdpc3RyYXRpb24uRHluYW1pYyBsb2dnaW5nRmlsdGVyUmVnaXN0cmF0aW9uID0gCiAgICAJCQlzZXJ2bGV0Q29udGV4dC5hZGRGaWx0ZXIoIkxvZ2dpbmdGaWx0ZXIiLCBuZXcgTG9nZ2luZ1NlcnZsZXRGaWx0ZXIoKSk7CgkJbG9nZ2luZ0ZpbHRlclJlZ2lzdHJhdGlvbi5hZGRNYXBwaW5nRm9yVXJsUGF0dGVybnMoRW51bVNldC5vZihEaXNwYXRjaGVyVHlwZS5SRVFVRVNUKSwgZmFsc2UsICIvKiIpOwoJCQoJCS8vIHJlcGVhdCBhcyBhYm92ZSwgdGhpcyBvbmUgZ29lcyBuZXh0CgkJLy8gdGhpcyBmaWx0ZXIgd2lsbCBhZGp1c3QgdGhlIGVycm9yIHJlc3BvbnNlcyBhcyBuZWVkZWQKCQlmaW5hbCBGaWx0ZXJSZWdpc3RyYXRpb24uRHluYW1pYyBlcnJvckZpbHRlclJlZ2lzdHJhdGlvbiA9IAogICAgCQkJc2VydmxldENvbnRleHQuYWRkRmlsdGVyKCJFcnJvckZpbHRlciIsIG5ldyBFcnJvckhhbmRsaW5nRmlsdGVyKCkpOwoJCWVycm9yRmlsdGVyUmVnaXN0cmF0aW9uLmFkZE1hcHBpbmdGb3JVcmxQYXR0ZXJucyhFbnVtU2V0Lm9mKERpc3BhdGNoZXJUeXBlLlJFUVVFU1QpLCBmYWxzZSwgIi8qIik7CgkJCgkJZmluYWwgRmlsdGVyUmVnaXN0cmF0aW9uLkR5bmFtaWMgdmFsaWRhdGlvbkZpbHRlclJlZ2lzdHJhdGlvbiA9IAoJCQkgICAgc2VydmxldENvbnRleHQuYWRkRmlsdGVyKCJWYWxpZGF0aW9uRmlsdGVyIiwgbmV3IFZhbGlkYXRpb25TZXJ2bGV0RmlsdGVyKCkpOwoJCXZhbGlkYXRpb25GaWx0ZXJSZWdpc3RyYXRpb24uYWRkTWFwcGluZ0ZvclVybFBhdHRlcm5zKEVudW1TZXQub2YoRGlzcGF0Y2hlclR5cGUuUkVRVUVTVCksIGZhbHNlLCAiLyoiKTsKCQkJCiAgICB9CgkKCUBPdmVycmlkZQoJcHJvdGVjdGVkIFNldDxTZXNzaW9uVHJhY2tpbmdNb2RlPiBnZXRTZXNzaW9uVHJhY2tpbmdNb2RlcygpIHsKCQkvLyBubyBzZXNzaW9uIHRyYWNraW5nCiAgICAgICAgcmV0dXJuIENvbGxlY3Rpb25zLjxTZXNzaW9uVHJhY2tpbmdNb2RlPiBlbXB0eVNldCgpOwogICAgfQp9"},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\config\MvcConfiguration.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5jb25maWc7CgoKaW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3I7CmltcG9ydCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvclNlcnZpY2U7CmltcG9ydCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnM7CmltcG9ydCBqYXZhLnV0aWwuY29uY3VycmVudC5MaW5rZWRCbG9ja2luZ1F1ZXVlOwppbXBvcnQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkRmFjdG9yeTsKaW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvcjsKaW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LlRpbWVVbml0OwoKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5hbm5vdGF0aW9uLkF1dG93aXJlZDsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuY29uZmlnLmphdmEuYW5ub3RhdGlvbi5JbXBvcnQ7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmNvbnRleHQuYW5ub3RhdGlvbi5CZWFuOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5jb250ZXh0LmFubm90YXRpb24uQ29tcG9uZW50U2NhbjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuY29udGV4dC5hbm5vdGF0aW9uLkNvbmZpZ3VyYXRpb247CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmNvbnRleHQuc3VwcG9ydC5Qcm9wZXJ0eVNvdXJjZXNQbGFjZWhvbGRlckNvbmZpZ3VyZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmh0dHAuY29udmVydGVyLkh0dHBNZXNzYWdlQ29udmVydGVyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5odHRwLmNvbnZlcnRlci5qc29uLk1hcHBpbmdKYWNrc29uMkh0dHBNZXNzYWdlQ29udmVydGVyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zY2hlZHVsaW5nLmFubm90YXRpb24uRW5hYmxlU2NoZWR1bGluZzsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2NoZWR1bGluZy5hbm5vdGF0aW9uLlNjaGVkdWxpbmdDb25maWd1cmVyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zY2hlZHVsaW5nLmNvbmZpZy5TY2hlZHVsZWRUYXNrUmVnaXN0cmFyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC5WaWV3UmVzb2x2ZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LmNvbmZpZy5hbm5vdGF0aW9uLkVuYWJsZVdlYk12YzsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQuY29uZmlnLmFubm90YXRpb24uUmVzb3VyY2VIYW5kbGVyUmVnaXN0cnk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LmNvbmZpZy5hbm5vdGF0aW9uLldlYk12Y0NvbmZpZ3VyZXJBZGFwdGVyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC52aWV3LkludGVybmFsUmVzb3VyY2VWaWV3UmVzb2x2ZXI7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5zZWN1cml0eS5TZWN1cml0eUNvbmZpZzsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLkRhdGFTZXR0aW5nUHJvcGVydGllczsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLlV0aWxzOwppbXBvcnQgY29tLmZhc3RlcnhtbC5qYWNrc29uLmFubm90YXRpb24uSnNvbkF1dG9EZXRlY3QuVmlzaWJpbGl0eTsKaW1wb3J0IGNvbS5mYXN0ZXJ4bWwuamFja3Nvbi5hbm5vdGF0aW9uLkpzb25JbmNsdWRlOwppbXBvcnQgY29tLmZhc3RlcnhtbC5qYWNrc29uLmFubm90YXRpb24uUHJvcGVydHlBY2Nlc3NvcjsKaW1wb3J0IGNvbS5mYXN0ZXJ4bWwuamFja3Nvbi5kYXRhYmluZC5PYmplY3RNYXBwZXI7CmltcG9ydCBjb20uZmFzdGVyeG1sLmphY2tzb24uZGF0YXR5cGUuaGliZXJuYXRlNC5IaWJlcm5hdGU0TW9kdWxlOwoKCgpARW5hYmxlV2ViTXZjCkBDb25maWd1cmF0aW9uCkBDb21wb25lbnRTY2FuKGJhc2VQYWNrYWdlcz0iY29tLmRiLmNvbXNlcnYubWFpbiIpCkBJbXBvcnQoeyBTZWN1cml0eUNvbmZpZy5jbGFzcyB9KQpARW5hYmxlU2NoZWR1bGluZwpwdWJsaWMgY2xhc3MgTXZjQ29uZmlndXJhdGlvbiBleHRlbmRzIFdlYk12Y0NvbmZpZ3VyZXJBZGFwdGVyIGltcGxlbWVudHMgU2NoZWR1bGluZ0NvbmZpZ3VyZXIgewoKCSBAQXV0b3dpcmVkCgkgcHJpdmF0ZSBEYXRhU2V0dGluZ1Byb3BlcnRpZXMgZGJQcm9wZXJ0aWVzOwoJIAoJQEJlYW4KCXB1YmxpYyBWaWV3UmVzb2x2ZXIgZ2V0Vmlld1Jlc29sdmVyKCl7CgkJSW50ZXJuYWxSZXNvdXJjZVZpZXdSZXNvbHZlciByZXNvbHZlciA9IG5ldyBJbnRlcm5hbFJlc291cmNlVmlld1Jlc29sdmVyKCk7CgkJcmVzb2x2ZXIuc2V0UHJlZml4KCIvV0VCLUlORi9wYWdlcy8iKTsKCQlyZXNvbHZlci5zZXRTdWZmaXgoIi5qc3AiKTsKCQlyZXR1cm4gcmVzb2x2ZXI7Cgl9CgkKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgYWRkUmVzb3VyY2VIYW5kbGVycyhSZXNvdXJjZUhhbmRsZXJSZWdpc3RyeSByZWdpc3RyeSkgewoJCXJlZ2lzdHJ5LmFkZFJlc291cmNlSGFuZGxlcigiL3Jlc291cmNlcy8qKiIpLmFkZFJlc291cmNlTG9jYXRpb25zKCIvcmVzb3VyY2VzLyoqIik7Cgl9CgoJCiAgIAoKCUBCZWFuCglAQXV0b3dpcmVkCiAgICBwdWJsaWMgc3RhdGljIFByb3BlcnR5U291cmNlc1BsYWNlaG9sZGVyQ29uZmlndXJlciBwcm9wZXJ0eVNvdXJjZXNQbGFjZWhvbGRlckNvbmZpZ3VyZXIoRGF0YVNldHRpbmdQcm9wZXJ0aWVzIGRzUHJvcGVydGllcykgewogICAgICAgIFByb3BlcnR5U291cmNlc1BsYWNlaG9sZGVyQ29uZmlndXJlciBwcm9wZXJ0aWVzQ29uZmlnID0gbmV3IFByb3BlcnR5U291cmNlc1BsYWNlaG9sZGVyQ29uZmlndXJlcigpOwogICAgICAgIHByb3BlcnRpZXNDb25maWcuc2V0UHJvcGVydGllcyhkc1Byb3BlcnRpZXMuZ2V0QWxsUHJvcGVydGllcygpKTsKICAgICAgICByZXR1cm4gcHJvcGVydGllc0NvbmZpZzsKICAgIH0gCgkKCSAgCgoJIEBPdmVycmlkZQogICAgIHB1YmxpYyB2b2lkIGNvbmZpZ3VyZVRhc2tzKFNjaGVkdWxlZFRhc2tSZWdpc3RyYXIgdGFza1JlZ2lzdHJhcikgewogICAgICAgICB0YXNrUmVnaXN0cmFyLnNldFNjaGVkdWxlcih0YXNrU2NoZWR1bGVyKCkpOwogICAgIH0KCiAgICAgQEJlYW4oZGVzdHJveU1ldGhvZD0ic2h1dGRvd25Ob3ciKQogICAgIHB1YmxpYyBFeGVjdXRvciB0YXNrU2NoZWR1bGVyKCkgewogICAgICAgICByZXR1cm4gRXhlY3V0b3JzLm5ld1NjaGVkdWxlZFRocmVhZFBvb2woSW50ZWdlci5wYXJzZUludChkYlByb3BlcnRpZXMuZ2V0VmFsdWUoIm1pblRocmVhZFBvb2xTaXplIikpLCBnZXRUaHJlYWRGYWN0b3J5KCJzY2hlZHVsZWQiKSk7CiAgICAgfQogICAgIAogICAgIAogICAgQEJlYW4oZGVzdHJveU1ldGhvZD0ic2h1dGRvd25Ob3ciKQogCXB1YmxpYyBFeGVjdXRvclNlcnZpY2UgdGFza0V4ZWN1dG9yKCkgewogICAgCWludCAgbWF4UG9vbFNpemUgICA9ICBJbnRlZ2VyLnBhcnNlSW50KGRiUHJvcGVydGllcy5nZXRWYWx1ZSgiTWF4VGhyZWFkUG9vbFNpemUiKSk7CiAgICAJbG9uZyBrZWVwQWxpdmVUaW1lID0gSW50ZWdlci5wYXJzZUludChkYlByb3BlcnRpZXMuZ2V0VmFsdWUoIlRocmVhZGtlZXBMaXZlVGltZSIpKTsKICAgIAlFeGVjdXRvclNlcnZpY2UgdGhyZWFkUG9vbCA9CiAgICAJICAgICAgICBuZXcgVGhyZWFkUG9vbEV4ZWN1dG9yKAogICAgCSAgICAgICAgCQltYXhQb29sU2l6ZSwKICAgIAkgICAgICAgICAgICAgICAgbWF4UG9vbFNpemUsCiAgICAJICAgICAgICAgICAgICAgIGtlZXBBbGl2ZVRpbWUsCiAgICAJICAgICAgICAgICAgICAgIFRpbWVVbml0Lk1JTExJU0VDT05EUywKICAgIAkgICAgICAgICAgICAgICAgbmV3IExpbmtlZEJsb2NraW5nUXVldWU8UnVubmFibGU+KCksIAogICAgCSAgICAgICAgICAgICAgICBnZXRUaHJlYWRGYWN0b3J5KCJleGVjdXRvciIpCiAgICAJICAgICAgICAgICAgICAgICk7CiAgICAJcmV0dXJuIHRocmVhZFBvb2w7CiAJfQogICAgCglwdWJsaWMgc3RhdGljIFRocmVhZEZhY3RvcnkgZ2V0VGhyZWFkRmFjdG9yeShmaW5hbCBTdHJpbmcgbmFtZVByZWZpeCkgewoJCXJldHVybiBuZXcgVGhyZWFkRmFjdG9yeSgpIHsKCQkJcHJpdmF0ZSBmaW5hbCBUaHJlYWRGYWN0b3J5IGRlZmF1bHRUaHJlYWRGYWN0b3J5ID0gRXhlY3V0b3JzLmRlZmF1bHRUaHJlYWRGYWN0b3J5KCk7IAoJCQkKCQkJQE92ZXJyaWRlCgkJCXB1YmxpYyBUaHJlYWQgbmV3VGhyZWFkKFJ1bm5hYmxlIHIpIHsKCQkJCVRocmVhZCB0aHJlYWQgPSBkZWZhdWx0VGhyZWFkRmFjdG9yeS5uZXdUaHJlYWQocik7CgkJCQl0aHJlYWQuc2V0RGFlbW9uKHRydWUpOwoJCQkJdGhyZWFkLnNldE5hbWUobmFtZVByZWZpeCArICItIiArIHRocmVhZC5nZXROYW1lKCkpOwoJCQkJcmV0dXJuIHRocmVhZDsKCQkJfQoJCX07Cgl9CiAgIAp9Cg=="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\config\PersistenceConfig.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5jb25maWc7CgppbXBvcnQgamF2YS5zZWN1cml0eS5JbnZhbGlkS2V5RXhjZXB0aW9uOwppbXBvcnQgamF2YS5zZWN1cml0eS5Ob1N1Y2hBbGdvcml0aG1FeGNlcHRpb247CmltcG9ydCBqYXZhLnV0aWwuUHJvcGVydGllczsKCmltcG9ydCBqYXZheC5jcnlwdG8uQmFkUGFkZGluZ0V4Y2VwdGlvbjsKaW1wb3J0IGphdmF4LmNyeXB0by5JbGxlZ2FsQmxvY2tTaXplRXhjZXB0aW9uOwppbXBvcnQgamF2YXguY3J5cHRvLk5vU3VjaFBhZGRpbmdFeGNlcHRpb247CmltcG9ydCBqYXZheC5zcWwuRGF0YVNvdXJjZTsKCmltcG9ydCBvcmcuYXBhY2hlLnRvbWNhdC5kYmNwLmRiY3AuQmFzaWNEYXRhU291cmNlOwppbXBvcnQgb3JnLmhpYmVybmF0ZS5JbnRlcmNlcHRvcjsKaW1wb3J0IG9yZy5oaWJlcm5hdGUuU2Vzc2lvbkZhY3Rvcnk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuYW5ub3RhdGlvbi5BdXRvd2lyZWQ7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmNvbnRleHQuYW5ub3RhdGlvbi5CZWFuOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5jb250ZXh0LmFubm90YXRpb24uQ29tcG9uZW50U2NhbjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuY29udGV4dC5hbm5vdGF0aW9uLkNvbmZpZ3VyYXRpb247CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmRhby5hbm5vdGF0aW9uLlBlcnNpc3RlbmNlRXhjZXB0aW9uVHJhbnNsYXRpb25Qb3N0UHJvY2Vzc29yOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5vcm0uaGliZXJuYXRlNC5IaWJlcm5hdGVUcmFuc2FjdGlvbk1hbmFnZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLm9ybS5oaWJlcm5hdGU0LkxvY2FsU2Vzc2lvbkZhY3RvcnlCZWFuOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay50cmFuc2FjdGlvbi5hbm5vdGF0aW9uLkVuYWJsZVRyYW5zYWN0aW9uTWFuYWdlbWVudDsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5EYXRhU2V0dGluZ1Byb3BlcnRpZXM7CmltcG9ydCBjb20uZ29vZ2xlLmNvbW1vbi5iYXNlLlByZWNvbmRpdGlvbnM7CgpAQ29uZmlndXJhdGlvbgpARW5hYmxlVHJhbnNhY3Rpb25NYW5hZ2VtZW50CkBDb21wb25lbnRTY2FuKHsgImNvbS5kYi5jb21zZXJ2Lm1haW4iIH0pCnB1YmxpYyBjbGFzcyBQZXJzaXN0ZW5jZUNvbmZpZyB7CgogICAgQEF1dG93aXJlZAogICAgcHJpdmF0ZSBEYXRhU2V0dGluZ1Byb3BlcnRpZXMgZGJQcm9wZXJ0aWVzOwogICAgCiAgICAKICAgIAogICAgcHVibGljIFBlcnNpc3RlbmNlQ29uZmlnKCkgewogICAgICAgIHN1cGVyKCk7CiAgICB9CgogICAgQEJlYW4KICAgIHB1YmxpYyBMb2NhbFNlc3Npb25GYWN0b3J5QmVhbiBzZXNzaW9uRmFjdG9yeSgpIHRocm93cyBJbnZhbGlkS2V5RXhjZXB0aW9uLCBOb1N1Y2hBbGdvcml0aG1FeGNlcHRpb24sCiAgICAJCU5vU3VjaFBhZGRpbmdFeGNlcHRpb24sIElsbGVnYWxCbG9ja1NpemVFeGNlcHRpb24sIEJhZFBhZGRpbmdFeGNlcHRpb24gewogICAgICAgIGZpbmFsIExvY2FsU2Vzc2lvbkZhY3RvcnlCZWFuIHNlc3Npb25GYWN0b3J5ID0gbmV3IExvY2FsU2Vzc2lvbkZhY3RvcnlCZWFuKCk7CiAgICAgICAgc2Vzc2lvbkZhY3Rvcnkuc2V0RGF0YVNvdXJjZShyZXN0RGF0YVNvdXJjZSgpKTsKICAgICAgICBzZXNzaW9uRmFjdG9yeS5zZXRQYWNrYWdlc1RvU2NhbihuZXcgU3RyaW5nW10geyAiY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbCIgfSk7CiAgICAgICAgc2Vzc2lvbkZhY3Rvcnkuc2V0SGliZXJuYXRlUHJvcGVydGllcyhoaWJlcm5hdGVQcm9wZXJ0aWVzKCkpOwogICAgICAgIHJldHVybiBzZXNzaW9uRmFjdG9yeTsKICAgIH0KCiAgICBAQmVhbgogICAgcHVibGljIERhdGFTb3VyY2UgcmVzdERhdGFTb3VyY2UoKSB0aHJvd3MgSW52YWxpZEtleUV4Y2VwdGlvbiwgTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uLAogICAgTm9TdWNoUGFkZGluZ0V4Y2VwdGlvbiwgSWxsZWdhbEJsb2NrU2l6ZUV4Y2VwdGlvbiwgQmFkUGFkZGluZ0V4Y2VwdGlvbiB7CiAgICAgICAgZmluYWwgQmFzaWNEYXRhU291cmNlIGRhdGFTb3VyY2UgPSBuZXcgQmFzaWNEYXRhU291cmNlKCk7CiAgICAgICAgZGF0YVNvdXJjZS5zZXREcml2ZXJDbGFzc05hbWUoUHJlY29uZGl0aW9ucy5jaGVja05vdE51bGwoZGJQcm9wZXJ0aWVzLmdldEpTT05EYXRhKCJqZGJjLmRyaXZlckNsYXNzTmFtZSIpKSk7CiAgICAgICAgZGF0YVNvdXJjZS5zZXRVcmwoUHJlY29uZGl0aW9ucy5jaGVja05vdE51bGwoZGJQcm9wZXJ0aWVzLmdldEpTT05EYXRhKCJqZGJjLnVybCIpKSk7CiAgICAgICAgZGF0YVNvdXJjZS5zZXRVc2VybmFtZShQcmVjb25kaXRpb25zLmNoZWNrTm90TnVsbChkYlByb3BlcnRpZXMuZ2V0SlNPTkRhdGEoImpkYmMudXNlciIpKSk7CiAgICAgIC8vICBkYXRhU291cmNlLnNldFBhc3N3b3JkKFByZWNvbmRpdGlvbnMuY2hlY2tOb3ROdWxsKGhhc2hlci5kZWNyeXB0KCJqZGJjLnBhc3MiLGRiUHJvcGVydGllcy5nZXRWYWx1ZSgiamRiYy5wYXNzIikpKSk7CgogICAgICAgIHJldHVybiBkYXRhU291cmNlOwogICAgfQoKICAgIEBCZWFuCiAgICBAQXV0b3dpcmVkCiAgICBwdWJsaWMgSGliZXJuYXRlVHJhbnNhY3Rpb25NYW5hZ2VyIHRyYW5zYWN0aW9uTWFuYWdlcihmaW5hbCBTZXNzaW9uRmFjdG9yeSBzZXNzaW9uRmFjdG9yeSkgewogICAgICAgIGZpbmFsIEhpYmVybmF0ZVRyYW5zYWN0aW9uTWFuYWdlciB0eE1hbmFnZXIgPSBuZXcgSGliZXJuYXRlVHJhbnNhY3Rpb25NYW5hZ2VyKCk7CiAgICAgICAgdHhNYW5hZ2VyLnNldFNlc3Npb25GYWN0b3J5KHNlc3Npb25GYWN0b3J5KTsKCiAgICAgICAgcmV0dXJuIHR4TWFuYWdlcjsKICAgIH0KCiAgICBAQmVhbgogICAgcHVibGljIFBlcnNpc3RlbmNlRXhjZXB0aW9uVHJhbnNsYXRpb25Qb3N0UHJvY2Vzc29yIGV4Y2VwdGlvblRyYW5zbGF0aW9uKCkgewogICAgICAgIHJldHVybiBuZXcgUGVyc2lzdGVuY2VFeGNlcHRpb25UcmFuc2xhdGlvblBvc3RQcm9jZXNzb3IoKTsKICAgIH0KCiAgICBmaW5hbCBQcm9wZXJ0aWVzIGhpYmVybmF0ZVByb3BlcnRpZXMoKSB7CiAgICAgICAgZmluYWwgUHJvcGVydGllcyBoaWJlcm5hdGVQcm9wZXJ0aWVzID0gbmV3IFByb3BlcnRpZXMoKTsKICAgICAgICBoaWJlcm5hdGVQcm9wZXJ0aWVzLnNldFByb3BlcnR5KCJoaWJlcm5hdGUuaGJtMmRkbC5hdXRvIiwgZGJQcm9wZXJ0aWVzLmdldFZhbHVlKCJoaWJlcm5hdGUuaGJtMmRkbC5hdXRvIikpOwogICAgICAgIGhpYmVybmF0ZVByb3BlcnRpZXMuc2V0UHJvcGVydHkoImhpYmVybmF0ZS5kaWFsZWN0IiwgZGJQcm9wZXJ0aWVzLmdldFZhbHVlKCJoaWJlcm5hdGUuZGlhbGVjdCIpKTsKICAgICAgICBoaWJlcm5hdGVQcm9wZXJ0aWVzLnNldFByb3BlcnR5KCJoaWJlcm5hdGUudGVtcC51c2VfamRiY19tZXRhZGF0YV9kZWZhdWx0cyIsImZhbHNlIik7CiAgICAgICAgaGliZXJuYXRlUHJvcGVydGllcy5zZXRQcm9wZXJ0eSgiaGliZXJuYXRlLnNob3dfc3FsIiwgZGJQcm9wZXJ0aWVzLmdldFZhbHVlKCJoaWJlcm5hdGUuc2hvd19zcWwiKSk7CiAgICAgICAgaGliZXJuYXRlUHJvcGVydGllcy5zZXRQcm9wZXJ0eSgiaGliZXJuYXRlLmpkYmMuYmF0Y2hfc2l6ZSIsIGRiUHJvcGVydGllcy5nZXRWYWx1ZSgiaGliZXJuYXRlLmpkYmMuYmF0Y2hfc2l6ZSIpKTsKCiAgICAgICAgcmV0dXJuIGhpYmVybmF0ZVByb3BlcnRpZXM7CiAgICB9CiAgICAKICAgCgp9"},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\controller\AbstractController.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uY29udHJvbGxlcjsKCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5TZXJpYWxpemFibGU7CgppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2U7CgppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlcjsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXJGYWN0b3J5OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zdGVyZW90eXBlLkNvbnRyb2xsZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uRXhjZXB0aW9uSGFuZGxlcjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmJpbmQuYW5ub3RhdGlvbi5SZXNwb25zZUJvZHk7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbC5SZXNwb25zZTsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLlV0aWxpdHk7CgpAQ29udHJvbGxlcgpwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RDb250cm9sbGVyIHsKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgTG9nZ2VyIHJMb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcigiUkVRVUVTVCIpOwoJCglARXhjZXB0aW9uSGFuZGxlcihFeGNlcHRpb24uY2xhc3MpCglwdWJsaWMgQFJlc3BvbnNlQm9keSBSZXNwb25zZTxTZXJpYWxpemFibGU+IGhhbmRsZUFsbEV4Y2VwdGlvbnMoZmluYWwgRXhjZXB0aW9uIGV4LAoJCQlmaW5hbCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKSB0aHJvd3MgSU9FeGNlcHRpb24gewoJCQoJCWlmIChleCBpbnN0YW5jZW9mIEJhZFJlcXVlc3RFeGNlcHRpb24pIHsKCQkJckxvZy50cmFjZSgiQmFkIHJlcXVlc3QiLCBleCk7CgkJCQoJCQlyZXR1cm4gVXRpbGl0eS5zZXRCYWRSZXF1ZXN0KGV4LmdldE1lc3NhZ2UoKSwgcmVzcG9uc2UpOwoJCX0KCQkKCQlyTG9nLmVycm9yKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIHByb2Nlc3NpbmcgcmVxdWVzdCIsIGV4KTsKCQkKICAgIAlyZXR1cm4gVXRpbGl0eS5zZXRFcnJvcig1MDAsIHJlc3BvbnNlKTsKCX0KfQo="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\controller\BadRequestException.java","filecontent":"LyoNCiAqIFRoaXMgY29tcHV0ZXIgcHJvZ3JhbSBpcyB0aGUgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGFuZCBwcm9wcmlldGFyeSB0cmFkZQ0KICogc2VjcmV0IG9mIERCLiBQb3NzZXNzaW9ucyBhbmQgdXNlIG9mIHRoaXMgcHJvZ3JhbSBtdXN0DQogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwNCiAqLw0KDQpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uY29udHJvbGxlcjsNCg0KaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5KU09OT2JqZWN0Ow0KDQovKioNCiAqIE1hcmtlciBleGNlcHRpb24gd2hvJ3MgbWVzc2FnZSB3aWxsIGJlIHJldHVybmVkIGFzIGEgYmFkIHJlcXVlc3QuDQogKi8NCnB1YmxpYyBjbGFzcyBCYWRSZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgUnVudGltZUV4Y2VwdGlvbiB7DQoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxWZXJzaW9uVUlEID0gMUw7DQoJDQoJcHVibGljIEJhZFJlcXVlc3RFeGNlcHRpb24oZmluYWwgU3RyaW5nIG1lc3NhZ2UpIHsNCgkJc3VwZXIobWVzc2FnZSk7DQoJfQ0KCQ0KCXB1YmxpYyBzdGF0aWMgYm9vbGVhbiBhc0Jvb2xlYW4oZmluYWwgSlNPTk9iamVjdCBvYmplY3QsIGZpbmFsIFN0cmluZyBrZXksIGZpbmFsIFN0cmluZyBuYW1lKSB7DQoJCWNoZWNrUHJlc2VuY2Uob2JqZWN0LCBrZXksIG5hbWUpOw0KCQkNCgkJcmV0dXJuIEJvb2xlYW4ucGFyc2VCb29sZWFuKG9iamVjdC5nZXQoa2V5KS50b1N0cmluZygpKTsNCgl9DQoJDQoJcHVibGljIHN0YXRpYyBpbnQgYXNJbnQoZmluYWwgSlNPTk9iamVjdCBvYmplY3QsIGZpbmFsIFN0cmluZyBrZXksIGZpbmFsIFN0cmluZyBuYW1lKSB7DQoJCWNoZWNrUHJlc2VuY2Uob2JqZWN0LCBrZXksIG5hbWUpOw0KCQkNCgkJdHJ5IHsNCgkJCXJldHVybiBJbnRlZ2VyLnBhcnNlSW50KG9iamVjdC5nZXQoa2V5KS50b1N0cmluZygpKTsNCgkJfSBjYXRjaCAoZmluYWwgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIG5mZSkgew0KCQkJdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24obmFtZSArICIgbXVzdCBiZSBhbiBpbnRlZ2VyIik7DQoJCX0NCgl9DQoJDQoJcHVibGljIHN0YXRpYyB2b2lkIGNoZWNrUHJlc2VuY2UoZmluYWwgSlNPTk9iamVjdCBvYmplY3QsIGZpbmFsIFN0cmluZyBrZXksIGZpbmFsIFN0cmluZyBuYW1lKSB7DQoJCWlmIChvYmplY3QgPT0gbnVsbCB8fCAhb2JqZWN0LmNvbnRhaW5zS2V5KGtleSkpIHsNCgkJCXRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKCJNaXNzaW5nIHJlcXVpcmVkIGZpZWxkICciICsgbmFtZSArICInIik7DQoJCX0NCgl9DQp9DQo="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\controller\PolicyController.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uY29udHJvbGxlcjsKCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS51dGlsLkxpc3Q7CgppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlOwoKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5KU09OT2JqZWN0OwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlcjsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXJGYWN0b3J5OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LmFubm90YXRpb24uQXV0b3dpcmVkOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zdGVyZW90eXBlLkNvbnRyb2xsZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uUGF0aFZhcmlhYmxlOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuYmluZC5hbm5vdGF0aW9uLlJlcXVlc3RCb2R5OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuYmluZC5hbm5vdGF0aW9uLlJlcXVlc3RNYXBwaW5nOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuYmluZC5hbm5vdGF0aW9uLlJlcXVlc3RNZXRob2Q7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uUmVxdWVzdFBhcmFtOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuYmluZC5hbm5vdGF0aW9uLlJlc3BvbnNlQm9keTsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLm1vZGVsLlBvbGljeTsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4ubW9kZWwuUmVzcG9uc2U7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnNlcnZpY2UuSVBvbGljeVNlcnZpY2U7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5VdGlsaXR5OwoKQENvbnRyb2xsZXIKcHVibGljIGNsYXNzIFBvbGljeUNvbnRyb2xsZXIgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2xsZXIgewoKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgTG9nZ2VyIGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJQT0xJQ1kiKTsKCglAQXV0b3dpcmVkCglJUG9saWN5U2VydmljZSBvYmpQb2xpY3k7CgoJLyoqCgkgKiBGZXRjaGVzIGFsbCBQb2xpY2llcyBkZXRhaWxzCgkgKiAKCSAqIEBwYXJhbSBzdGFydGluZ0luZGV4CgkgKiBAcGFyYW0gY291bnQKCSAqIEByZXR1cm4gTGlzdDxQb2xpY3k+CgkgKiBAdGhyb3dzIElPRXhjZXB0aW9uCgkgKi8KCUBTdXBwcmVzc1dhcm5pbmdzKCJ1bmNoZWNrZWQiKQoJQFJlcXVlc3RNYXBwaW5nKHZhbHVlID0geyAiL3YwL3BvbGljeSIgfSwgbWV0aG9kID0gUmVxdWVzdE1ldGhvZC5HRVQpCglwdWJsaWMgQFJlc3BvbnNlQm9keQoJUmVzcG9uc2U8SlNPTk9iamVjdD4gZ2V0QWxsUG9saWN5KGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXEsCgkJCWZpbmFsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzLAoJCQlAUmVxdWVzdFBhcmFtKHZhbHVlID0gIm5hbWUiLCByZXF1aXJlZCA9IGZhbHNlKSBmaW5hbCBTdHJpbmcgbmFtZSkKCQkJdGhyb3dzIElPRXhjZXB0aW9uIHsKCQlmaW5hbCBMaXN0PEpTT05PYmplY3Q+IHJlc3VsdCA9IChMaXN0PEpTT05PYmplY3Q+KSByZXEKCQkJCS5nZXRBdHRyaWJ1dGUoInJlYWRSZXN1bHQiKTsKCQlpZiAobmFtZSAhPSBudWxsKSB7CgkJCWxvZ2dlci5kZWJ1ZygiQXR0ZW1wdGluZyB0byBmaW5kIFBvbGljeSAgJ3t9JyIsIG5hbWUpOwoJCQlpZiAocmVzdWx0LmlzRW1wdHkoKSkgewoJCQkJbG9nZ2VyLmVycm9yKAoJCQkJCQkiTWFya2V0cyBub3QgZm91bmQgYnkgbmFtZSAne30nLCB1bmFibGUgdG8gcmV0cmlldmUiLAoJCQkJCQluYW1lKTsKCQkJCXJldHVybiBVdGlsaXR5LnNldEVycm9yKDQwNCwgcmVzKTsKCQkJfQoJCX0gZWxzZSB7CgkJCWxvZ2dlci5kZWJ1ZygiUmV0dXJuaW5nICd7fScgcG9saWNpZXMiLCByZXN1bHQuc2l6ZSgpKTsKCQl9CgkJcmV0dXJuIFV0aWxpdHkuZ2V0UmVzcG9uc2UocmVzdWx0LnRvQXJyYXkobmV3IEpTT05PYmplY3RbMF0pKTsKCX0KCglAU3VwcHJlc3NXYXJuaW5ncygidW5jaGVja2VkIikKCUBSZXF1ZXN0TWFwcGluZyh2YWx1ZSA9IHsgIi92MC9wb2xpY3kve2lkfSIgfSwgbWV0aG9kID0gUmVxdWVzdE1ldGhvZC5HRVQpCglwdWJsaWMgQFJlc3BvbnNlQm9keQoJUmVzcG9uc2U8SlNPTk9iamVjdD4gZ2V0UG9saWN5QnlJZChmaW5hbCBIdHRwU2VydmxldFJlcXVlc3QgcmVxLAoJCQlmaW5hbCBIdHRwU2VydmxldFJlc3BvbnNlIHJlcykgdGhyb3dzIElPRXhjZXB0aW9uIHsKCgkJZmluYWwgTGlzdDxKU09OT2JqZWN0PiByZXN1bHQgPSAoTGlzdDxKU09OT2JqZWN0PikgcmVxCgkJCQkuZ2V0QXR0cmlidXRlKCJyZWFkUmVzdWx0Iik7CgkJaWYgKHJlc3VsdC5pc0VtcHR5KCkpIHsKCQkJbG9nZ2VyLmVycm9yKCJQb2xpY3kgbm90IGZvdW5kLCB1bmFibGUgdG8gcmV0cmlldmUiKTsKCQkJcmV0dXJuIFV0aWxpdHkuc2V0RXJyb3IoNDA0LCByZXMpOwoJCX0KCgkJbG9nZ2VyLmRlYnVnKCJGb3VuZCBQb2xpY3kiKTsKCQlyZXR1cm4gVXRpbGl0eS5nZXRSZXNwb25zZShyZXN1bHQudG9BcnJheShuZXcgSlNPTk9iamVjdFswXSkpOwoJfQoKCS8qKgoJICogRmV0Y2hlcyB0aGUgdG90YWwgUG9saWN5IGNvdW50CgkgKiAKCSAqIEByZXR1cm4gY291bnQKCSAqLwoKCUBTdXBwcmVzc1dhcm5pbmdzKHsgInVuY2hlY2tlZCIsICJyYXd0eXBlcyIgfSkKCUBSZXF1ZXN0TWFwcGluZyh2YWx1ZSA9IHsgIi92MC9wb2xpY3kvY291bnQiIH0sIG1ldGhvZCA9IFJlcXVlc3RNZXRob2QuR0VUKQoJcHVibGljIEBSZXNwb25zZUJvZHkKCVJlc3BvbnNlPEpTT05PYmplY3Q+IGdldFBvbGljeUNvdW50KEh0dHBTZXJ2bGV0UmVxdWVzdCByZXEpIHsKCgkJbG9nZ2VyLmRlYnVnKCJSZXRyaWV2aW5nIGNvdW50IG9mIFBvbGljeSIpOwoJCWZpbmFsIExpc3QgcmVzdWx0ID0gKExpc3QpIHJlcS5nZXRBdHRyaWJ1dGUoInJlYWRSZXN1bHQiKTsKCQlmaW5hbCBKU09OT2JqZWN0IHJlc3BvbnNlID0gbmV3IEpTT05PYmplY3QoKTsKCQlyZXNwb25zZS5wdXQoImNvdW50IiwgcmVzdWx0LmdldCgwKSk7CgoJCXJldHVybiBVdGlsaXR5LmdldFJlc3BvbnNlKHJlc3BvbnNlKTsKCgl9CgoJLyoqCgkgKiBBZGRzIHRoZSBQb2xpY3kgZGV0YWlscwoJICogCgkgKiBAcGFyYW0gcmVxQm9keQoJICogQHJldHVybiBzdWNjZXNzIG9yIGZhaWx1cmUgY29kZQoJICogQHRocm93cyBFeGNlcHRpb24KCSAqLwoJQFJlcXVlc3RNYXBwaW5nKHZhbHVlID0geyAiL3YwL3BvbGljeSIgfSwgbWV0aG9kID0gUmVxdWVzdE1ldGhvZC5QT1NUKQoJcHVibGljIEBSZXNwb25zZUJvZHkKCVJlc3BvbnNlPFBvbGljeT4gY3JlYXRlUG9saWN5KAoJCQlAUmVxdWVzdEJvZHkocmVxdWlyZWQgPSBmYWxzZSkgUG9saWN5IHJlcUJvZHksCgkJCUh0dHBTZXJ2bGV0UmVxdWVzdCByZXEsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UpCgkJCXRocm93cyBFeGNlcHRpb24gewoJCS8vaWYgKHJlcUJvZHkuZ2V0Qm91bmRhcnkoKSA9PSBudWxsICkgewoJCQlyZXR1cm4gb2JqUG9saWN5LmNyZWF0ZShyZXFCb2R5LCByZXEsIHJlc3BvbnNlKTsKCgkvLwoJfQoKCS8qKgoJICogVXBkYXRlcyB0aGUgcGFydGljdWxhciBQb2xpY3kgZGV0YWlscwoJICogCgkgKiBAcGFyYW0gcmVxQm9keQoJICogQHJldHVybiBzdWNjZXNzIG9yIGZhaWx1cmUgY29kZQoJICovCglAUmVxdWVzdE1hcHBpbmcodmFsdWUgPSB7ICIvdjAvcG9saWN5L3tpZH0iIH0sIG1ldGhvZCA9IFJlcXVlc3RNZXRob2QuUFVUKQoJcHVibGljIEBSZXNwb25zZUJvZHkKCVJlc3BvbnNlPFBvbGljeT4gdXBkYXRlUG9saWN5KEBQYXRoVmFyaWFibGUodmFsdWUgPSAiaWQiKSBsb25nIGlkLAoJCQlAUmVxdWVzdEJvZHkocmVxdWlyZWQgPSB0cnVlKSBQb2xpY3kgcmVxQm9keSwKCQkJSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcXVlc3QsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UpCgkJCXRocm93cyBFeGNlcHRpb24gewoKCQkKCQlSZXNwb25zZTxQb2xpY3k+IHJlcyA9IG9ialBvbGljeS51cGRhdGUoaWQsIHJlcUJvZHksIHJlcXVlc3QsIHJlc3BvbnNlKTsKCQlyZXR1cm4gcmVzOwoKCX0KCgkvKioKCSAqIERlbGV0ZXMgdGhlIFBvbGljeSBvbiBiYXNpcyBvZiBQb2xpY3lJZAoJICogCgkgKiBAcGFyYW0gaWQKCSAqIEByZXR1cm4KCSAqIEB0aHJvd3MgRXhjZXB0aW9uCgkgKi8KCUBSZXF1ZXN0TWFwcGluZyh2YWx1ZSA9IHsgIi92MC9wb2xpY3kve2lkfSIgfSwgbWV0aG9kID0gUmVxdWVzdE1ldGhvZC5ERUxFVEUpCglwdWJsaWMgQFJlc3BvbnNlQm9keQoJUmVzcG9uc2U8UG9saWN5PiBkZWxldGVNYXJrZXQoQFBhdGhWYXJpYWJsZSh2YWx1ZSA9ICJpZCIpIGxvbmcgaWQsCgkJCUh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0LCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKQoJCQl0aHJvd3MgRXhjZXB0aW9uIHsKCQlsb2dnZXIuZGVidWcoIkRlbGV0aW5nIFBvbGljeSAne30nIiwgaWQpOwoJCWZpbmFsIFBvbGljeSBsb2NhbFBvbGljeSA9IG9ialBvbGljeS5maW5kT25lKGlkKTsKCQlpZiAobG9jYWxQb2xpY3kgPT0gbnVsbCkgewoJCQlsb2dnZXIuZXJyb3IoIlBvbGljeSAne30nIG5vdCBmb3VuZCwgdW5hYmxlIHRvIGRlbGV0ZSIsIGlkKTsKCQkJcmV0dXJuIFV0aWxpdHkuc2V0RXJyb3IoNDA0LCByZXNwb25zZSk7CgkJfQoKCgkJbG9nZ2VyLmluZm8oIkNvbmZpcm1pbmcgZGVsZXRlIGZvciBQb2xpY3kgJ3t9JyIsIGlkKTsJCgkJCgkJcmV0dXJuIG9ialBvbGljeS5kZWxldGUobG9jYWxQb2xpY3kpOwoJfQoKCn0K"},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\dao\common\IOperations.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgoKcGFja2FnZSBjb20uZGIuY29tc2Vydi5tYWluLmRhby5jb21tb247CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmltcG9ydCBvcmcuaGliZXJuYXRlLkhpYmVybmF0ZUV4Y2VwdGlvbjsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLm1vZGVsLlJlc3BvbnNlOwoKCnB1YmxpYyBpbnRlcmZhY2UgSU9wZXJhdGlvbnM8VD4gewoKICAgIFQgZmluZE9uZShmaW5hbCBsb25nIGlkKTsKICAgICAgIAogICAgCiAgICBMaXN0PFQ+IGZpbmRBbGwoaW50IG9mZnNldCwgaW50IGxpbWl0KSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uOwogICAgICAKICAgIExpc3Q8VD4gZmluZEFsbCgpIHRocm93cyBIaWJlcm5hdGVFeGNlcHRpb247CiAgICAKICAgIFQgY3JlYXRlKGZpbmFsIFQgZW50aXR5KSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uOwoKICAgIFJlc3BvbnNlPFQ+IHVwZGF0ZShmaW5hbCBUIGVudGl0eSkgdGhyb3dzIEhpYmVybmF0ZUV4Y2VwdGlvbjsKCiAgICBSZXNwb25zZTxUPiBkZWxldGUoZmluYWwgVCBlbnRpdHkpIHRocm93cyBIaWJlcm5hdGVFeGNlcHRpb247CiAgICAKICAgIFJlc3BvbnNlPFQ+IGRlbGV0ZUJ5SWQoaW50IGlkKSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uOwogICAKICAgIAoKfQo="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\dao\impl\PolicyDao.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uZGFvLmltcGw7CgppbXBvcnQgamF2YS51dGlsLkxpc3Q7CgppbXBvcnQgb3JnLmhpYmVybmF0ZS5IaWJlcm5hdGVFeGNlcHRpb247CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnN0ZXJlb3R5cGUuUmVwb3NpdG9yeTsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLmRhby5JUG9saWN5RGFvOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbC5Qb2xpY3k7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLm1vZGVsLlJlc3BvbnNlOwoKQFJlcG9zaXRvcnkKcHVibGljIGNsYXNzIFBvbGljeURhbyBpbXBsZW1lbnRzCgkJSVBvbGljeURhbyB7CgoJcHVibGljIFBvbGljeURhbygpIHsKCQlzdXBlcigpOwoJfQoKCUBPdmVycmlkZQoJcHVibGljIFBvbGljeSBmaW5kT25lKGxvbmcgaWQpIHsKCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJcmV0dXJuIG51bGw7Cgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgTGlzdDxQb2xpY3k+IGZpbmRBbGwoaW50IG9mZnNldCwgaW50IGxpbWl0KQoJCQl0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uIHsKCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJcmV0dXJuIG51bGw7Cgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgTGlzdDxQb2xpY3k+IGZpbmRBbGwoKSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uIHsKCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJcmV0dXJuIG51bGw7Cgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgUG9saWN5IGNyZWF0ZShQb2xpY3kgZW50aXR5KSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uIHsKCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJcmV0dXJuIG51bGw7Cgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgUmVzcG9uc2U8UG9saWN5PiB1cGRhdGUoUG9saWN5IGVudGl0eSkgdGhyb3dzIEhpYmVybmF0ZUV4Y2VwdGlvbiB7CgkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCXJldHVybiBudWxsOwoJfQoKCUBPdmVycmlkZQoJcHVibGljIFJlc3BvbnNlPFBvbGljeT4gZGVsZXRlKFBvbGljeSBlbnRpdHkpIHRocm93cyBIaWJlcm5hdGVFeGNlcHRpb24gewoJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCQlyZXR1cm4gbnVsbDsKCX0KCglAT3ZlcnJpZGUKCXB1YmxpYyBSZXNwb25zZTxQb2xpY3k+IGRlbGV0ZUJ5SWQoaW50IGlkKSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uIHsKCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHViCgkJcmV0dXJuIG51bGw7Cgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgTGlzdDxQb2xpY3k+IGZpbmRBbGxQb2xpY3koTG9uZyBzcElkKSB7CgkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCXJldHVybiBudWxsOwoJfQoKfQo="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\dao\IPolicyDao.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uZGFvOwoKaW1wb3J0IGphdmEudXRpbC5MaXN0OwoKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4uZGFvLmNvbW1vbi5JT3BlcmF0aW9uczsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4ubW9kZWwuUG9saWN5OwoKcHVibGljIGludGVyZmFjZSBJUG9saWN5RGFvIGV4dGVuZHMgSU9wZXJhdGlvbnM8UG9saWN5PiB7CgkKCQoJCgkKCXB1YmxpYyBMaXN0PFBvbGljeT4gZmluZEFsbFBvbGljeShMb25nIHNwSWQpOwoJCgp9Cg=="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\model\Policy.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbDsKCmltcG9ydCBqYXZhLmlvLlNlcmlhbGl6YWJsZTsKCgoKcHVibGljIGNsYXNzIFBvbGljeSBpbXBsZW1lbnRzIFNlcmlhbGl6YWJsZSB7Cglwcml2YXRlIHN0YXRpYyBmaW5hbCBsb25nIHNlcmlhbFZlcnNpb25VSUQgPSAxTDsKCgoJcHJpdmF0ZSBMb25nIGlkOwoKCQoKCXB1YmxpYyB2b2lkIHNldFBvbGljeUlkKExvbmcgaWQpIHsKCQl0aGlzLmlkID0gaWQ7Cgl9CgoJcHVibGljIExvbmcgZ2V0UG9saWN5SWQoKSB7CgkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCXJldHVybiBpZDsKCX0KCQp9"},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\security\CustomAuthProvider.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uc2VjdXJpdHk7CgppbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKaW1wb3J0IGphdmEudXRpbC5BcnJheXM7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0OwoKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXI7CmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyRmFjdG9yeTsKaW1wb3J0IG9yZy5zbGY0ai5NREM7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuYW5ub3RhdGlvbi5BdXRvd2lyZWQ7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnNlY3VyaXR5LmF1dGhlbnRpY2F0aW9uLkF1dGhlbnRpY2F0aW9uUHJvdmlkZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnNlY3VyaXR5LmF1dGhlbnRpY2F0aW9uLlVzZXJuYW1lUGFzc3dvcmRBdXRoZW50aWNhdGlvblRva2VuOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS5jb3JlLkF1dGhlbnRpY2F0aW9uOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS5jb3JlLkF1dGhlbnRpY2F0aW9uRXhjZXB0aW9uOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS5jb3JlLkdyYW50ZWRBdXRob3JpdHk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnNlY3VyaXR5LmNvcmUuYXV0aG9yaXR5LlNpbXBsZUdyYW50ZWRBdXRob3JpdHk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnN0ZXJlb3R5cGUuQ29tcG9uZW50OwoKCkBTdXBwcmVzc1dhcm5pbmdzKCJkZXByZWNhdGlvbiIpCkBDb21wb25lbnQKcHVibGljIGNsYXNzIEN1c3RvbUF1dGhQcm92aWRlciBpbXBsZW1lbnRzIEF1dGhlbnRpY2F0aW9uUHJvdmlkZXIgIHsKIAoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgTG9nZ2VyIGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJBVVRIIik7CgkKCQoJCgkKCQoJcHJpdmF0ZSBAQXV0b3dpcmVkIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0OwoJCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBBdXRoZW50aWNhdGlvbiBhdXRoZW50aWNhdGUoQXV0aGVudGljYXRpb24gYXV0aGVudGljYXRpb24pCiAgICAgIHRocm93cyBBdXRoZW50aWNhdGlvbkV4Y2VwdGlvbiB7CiAgICAJCiAgICAJLy8gc2FtZSByZXF1ZXN0IG1heSBnZXQgcHJvY2Vzc2VkIG11bHRpcGxlIHRpbWVzLCBzbyBqdXN0CiAgICAJLy8gZmlsdGVyIGl0IG91dCBpZiBpdCB3YXMgYSBwcmV2aW91c2x5IGZhaWxlZCBhdHRlbXB0LCBpZgogICAgCS8vIGl0IHdhcyBzdWNjZXNzZnVsLCBpdCB3aWxsIGJlIHN1Y2Nlc3NmdWwgYWdhaW4KICAgIAlpZiAoIiIuZXF1YWxzKHJlcXVlc3QuZ2V0QXR0cmlidXRlKCJhcGlLZXkiKSkpIHsKICAgIAkJcmV0dXJuIG51bGw7CiAgICAJfQogICAgCWxvZ2dlci5kZWJ1ZygiQXR0ZW1wdGluZyB0byBhdXRoZW50aWNhdGUgcmVxdWVzdCIpOwogICAgICAgIFN0cmluZyBuYW1lID0gYXV0aGVudGljYXRpb24uZ2V0TmFtZSgpOwogICAgICAgIFN0cmluZyBhcGlLZXkgPSBhdXRoZW50aWNhdGlvbi5nZXRDcmVkZW50aWFscygpLnRvU3RyaW5nKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIAovLyAgICAgICAgVXNlciB1c2VyID0gdXNlcnNlcnZpY2UuZmluZFVzZXJCeVVzZXJOYW1lKG5hbWUpOwovLyAgICAgICAgaWYgKHVzZXIgPT0gbnVsbCkgewovLyAgICAgICAgCXJlcXVlc3Quc2V0QXR0cmlidXRlKCJhcGlLZXkiLCAiIik7Ci8vICAgICAgICAJbG9nZ2VyLndhcm4oIlVua25vd24gdXNlciwgZmFpbGVkIGF1dGhlbnRpY2F0aW9uIik7Ci8vICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci8vICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gdXNlciBpcyBrbm93biwgd2UgY2FuIGxvZyB3aXRoIGl0CiAgICAgICAvLyBNREMucHV0KCJ1c2VyIiwgdXNlci5nZXRVc2VybmFtZSgpKTsKICAgICAgICAKLy8gICAgICAgIGlmIChhcGlLZXkudHJpbSgpLmVxdWFscyh1c2VyLmdldEFwaUtleSgpLnRyaW0oKSkpIHsKLy8gICAgICAgIAlsb2dnZXIuZGVidWcoIlVzZXIgJ3t9JyBhdXRoZW50aWNhdGVkIiwgdXNlci5nZXRVc2VybmFtZSgpKTsgIAovLyAgICAgICAgICAgIHJlcXVlc3Quc2V0QXR0cmlidXRlKCJzcElkIix1c2VyLmdldFNwSWQoKSk7Ci8vICAgICAgICAgICAgcmVxdWVzdC5zZXRBdHRyaWJ1dGUoIm9yZ0lkIix1c2VyLmdldE9yZ0lkKCkpOwovLyAgICAgICAgCWlmKGNoZWNrUGVybWlzc2lvbih1c2VyKSl7Ci8vICAgICAgICAgICAgICAgIExpc3Q8R3JhbnRlZEF1dGhvcml0eT4gZ3JhbnRlZEF1dGhzID0gbmV3IEFycmF5TGlzdDw+KCk7Ci8vICAgICAgICAgICAgICAgIEdyYW50ZWRBdXRob3JpdHkgZ2EgPSBuZXcgU2ltcGxlR3JhbnRlZEF1dGhvcml0eSgiUk9MRV9QUk9URUNURUQiKTsKLy8gICAgICAgICAgICAgICAgZ3JhbnRlZEF1dGhzLmFkZChnYSk7ICAgICAgICAgICAKLy8gICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRBdHRyaWJ1dGUoImFwaUtleSIsdXNlci5nZXRBcGlLZXkoKSk7Ci8vICAgICAgICAgICAgICAgIHJlcXVlc3Quc2V0QXR0cmlidXRlKCJ1c2VybmFtZSIsdXNlci5nZXRVc2VybmFtZSgpKTsKLy8gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBVc2VybmFtZVBhc3N3b3JkQXV0aGVudGljYXRpb25Ub2tlbihuYW1lLCBhcGlLZXksIGdyYW50ZWRBdXRocyk7Ci8vICAgICAgICAJfWVsc2V7Ci8vICAgICAgICAJCXJlcXVlc3Quc2V0QXR0cmlidXRlKCJhcGlLZXkiLCAiIik7Ci8vICAgICAgICAJCXJldHVybiBudWxsOwovLyAgICAgICAgCX0KLy8gICAgICAgIH0gZWxzZQoKICAgICAgICAKICAgICAgICB7CiAgICAgICAgCXJlcXVlc3Quc2V0QXR0cmlidXRlKCJhcGlLZXkiLCAiIik7CiAgICAgICAgCWxvZ2dlci53YXJuKCJVc2VyICd7fScgZmFpbGVkIGF1dGhlbnRpY2F0aW9uLCBpbnZhbGlkIEFQSSBrZXkiLCJ1c2VybmFtZSIpOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CiAgICB9CiAKIAogICAKCglAT3ZlcnJpZGUKICAgIHB1YmxpYyBib29sZWFuIHN1cHBvcnRzKENsYXNzPD8+IGF1dGhlbnRpY2F0aW9uKSB7CiAgICAgICAgcmV0dXJuIGF1dGhlbnRpY2F0aW9uLmVxdWFscyhVc2VybmFtZVBhc3N3b3JkQXV0aGVudGljYXRpb25Ub2tlbi5jbGFzcyk7CiAgICB9CiAgCgkKCQp9Cg=="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\security\SecurityConfig.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5zZWN1cml0eTsKCmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuYW5ub3RhdGlvbi5BdXRvd2lyZWQ7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmNvbnRleHQuYW5ub3RhdGlvbi5Db25maWd1cmF0aW9uOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS5jb25maWcuYW5ub3RhdGlvbi5hdXRoZW50aWNhdGlvbi5idWlsZGVycy5BdXRoZW50aWNhdGlvbk1hbmFnZXJCdWlsZGVyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS5jb25maWcuYW5ub3RhdGlvbi53ZWIuYnVpbGRlcnMuSHR0cFNlY3VyaXR5OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zZWN1cml0eS5jb25maWcuYW5ub3RhdGlvbi53ZWIuY29uZmlndXJhdGlvbi5FbmFibGVXZWJTZWN1cml0eTsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHkuY29uZmlnLmFubm90YXRpb24ud2ViLmNvbmZpZ3VyYXRpb24uV2ViU2VjdXJpdHlDb25maWd1cmVyQWRhcHRlcjsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnNlY3VyaXR5LkN1c3RvbUF1dGhQcm92aWRlcjsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLkRhdGFTZXR0aW5nUHJvcGVydGllczsKCkBDb25maWd1cmF0aW9uCkBFbmFibGVXZWJTZWN1cml0eQpwdWJsaWMgY2xhc3MgU2VjdXJpdHlDb25maWcgZXh0ZW5kcyBXZWJTZWN1cml0eUNvbmZpZ3VyZXJBZGFwdGVyIHsKCglAQXV0b3dpcmVkCglEYXRhU2V0dGluZ1Byb3BlcnRpZXMgcHJvcGVydGllczsKCglAT3ZlcnJpZGUKCXByb3RlY3RlZCB2b2lkIGNvbmZpZ3VyZShIdHRwU2VjdXJpdHkgaHR0cCkgdGhyb3dzIEV4Y2VwdGlvbiB7CgkJCgkJYm9vbGVhbiBpc1NlY3VyZSA9IEJvb2xlYW4ucGFyc2VCb29sZWFuKHByb3BlcnRpZXMuZ2V0SlNPTkRhdGEoInNlY3VyZSIpKTsKCQlpZihpc1NlY3VyZSl7CgkJCSBodHRwLmF1dGhvcml6ZVJlcXVlc3RzKCkKCQkJIAkuYW50TWF0Y2hlcnMoIi92MC8qIikucGVybWl0QWxsKCkKCQkJIAkuYW50TWF0Y2hlcnMoIi92MC9wb2xpY3kvKiIpLnBlcm1pdEFsbCgpCgkJCSAJLmFuZCgpLmNzcmYoKS5kaXNhYmxlKCkuaHR0cEJhc2ljKCkKCQkJIAkuYW5kKCkuZXhjZXB0aW9uSGFuZGxpbmcoKS5hY2Nlc3NEZW5pZWRQYWdlKCIvNDAxIikKCQkJIAk7CgkJfQoJCWVsc2UKCQl7CgkJCSBodHRwLmF1dGhvcml6ZVJlcXVlc3RzKCkKCQkJIAkuYW50TWF0Y2hlcnMoIi92MC8qIikucGVybWl0QWxsKCkKCQkJIAkuYW50TWF0Y2hlcnMoIi92MC9wb2xpY3kvKiIpLnBlcm1pdEFsbCgpCgkJCSAJLmFuZCgpLmNzcmYoKS5kaXNhYmxlKCkuaHR0cEJhc2ljKCkKCQkJIAkuYW5kKCkuZXhjZXB0aW9uSGFuZGxpbmcoKS5hY2Nlc3NEZW5pZWRQYWdlKCIvNDAxIikKCQkJIAk7CgkJfQoJfQoJCn0KCgo="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\service\common\AbstractService.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5zZXJ2aWNlLmNvbW1vbjsKCmltcG9ydCBqYXZhLmlvLlNlcmlhbGl6YWJsZTsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwoKaW1wb3J0IG9yZy5oaWJlcm5hdGUuSGliZXJuYXRlRXhjZXB0aW9uOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay50cmFuc2FjdGlvbi5hbm5vdGF0aW9uLlRyYW5zYWN0aW9uYWw7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5kYW8uY29tbW9uLklPcGVyYXRpb25zOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbC5SZXNwb25zZTsKCkBUcmFuc2FjdGlvbmFsCnB1YmxpYyBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNlcnZpY2U8VCBleHRlbmRzIFNlcmlhbGl6YWJsZT4gaW1wbGVtZW50cyBJT3BlcmF0aW9uczxUPiB7CgogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgVCBmaW5kT25lKGZpbmFsIGxvbmcgaWQpIHRocm93cyBIaWJlcm5hdGVFeGNlcHRpb257CiAgICAgICAgcmV0dXJuIGdldERhbygpLmZpbmRPbmUoaWQpOwogICAgfQogICAgCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBMaXN0PFQ+IGZpbmRBbGwoZmluYWwgaW50IG9mZnNldCwgZmluYWwgaW50IGxpbWl0KSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uewogICAgICAgIHJldHVybiBnZXREYW8oKS5maW5kQWxsKG9mZnNldCwgbGltaXQpOwogICAgfQogICAgCiAgICAKICAgIAogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgTGlzdDxUPiBmaW5kQWxsKCkgdGhyb3dzIEhpYmVybmF0ZUV4Y2VwdGlvbnsKICAgICAgICByZXR1cm4gZ2V0RGFvKCkuZmluZEFsbCgpOwogICAgfQoKICAgIEBPdmVycmlkZQogICAgcHVibGljIFQgY3JlYXRlKGZpbmFsIFQgZW50aXR5KSB0aHJvd3MgSGliZXJuYXRlRXhjZXB0aW9uewogICAgICAgIHJldHVybiBnZXREYW8oKS5jcmVhdGUoZW50aXR5KTsKICAgIH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBSZXNwb25zZTxUPiB1cGRhdGUoZmluYWwgVCBlbnRpdHkpIHRocm93cyBIaWJlcm5hdGVFeGNlcHRpb257CiAgICAgICAgcmV0dXJuIGdldERhbygpLnVwZGF0ZShlbnRpdHkpOwogICAgfQoKICAgIEBPdmVycmlkZQogICAgcHVibGljIFJlc3BvbnNlPFQ+IGRlbGV0ZShmaW5hbCBUIGVudGl0eSkgdGhyb3dzIEhpYmVybmF0ZUV4Y2VwdGlvbnsKICAgICAgIHJldHVybiBnZXREYW8oKS5kZWxldGUoZW50aXR5KTsKICAgIH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBSZXNwb25zZTxUPiBkZWxldGVCeUlkKGludCBpZCkgdGhyb3dzIEhpYmVybmF0ZUV4Y2VwdGlvbnsKICAgIAlyZXR1cm4gZ2V0RGFvKCkuZGVsZXRlQnlJZChpZCk7CiAgICB9CiAgICAKICAgIHByb3RlY3RlZCBhYnN0cmFjdCBJT3BlcmF0aW9uczxUPiBnZXREYW8oKTsKCn0K"},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\service\impl\PolicyService.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uc2VydmljZS5pbXBsOwoKaW1wb3J0IGphdmEudXRpbC5MaXN0OwoKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3Q7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZTsKCmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuYW5ub3RhdGlvbi5BdXRvd2lyZWQ7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnN0ZXJlb3R5cGUuU2VydmljZTsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsudHJhbnNhY3Rpb24uYW5ub3RhdGlvbi5UcmFuc2FjdGlvbmFsOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuYmluZC5hbm5vdGF0aW9uLlBhdGhWYXJpYWJsZTsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmJpbmQuYW5ub3RhdGlvbi5SZXF1ZXN0Qm9keTsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLmRhby5JUG9saWN5RGFvOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5kYW8uY29tbW9uLklPcGVyYXRpb25zOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbC5Qb2xpY3k7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLm1vZGVsLlJlc3BvbnNlOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5zZXJ2aWNlLklQb2xpY3lTZXJ2aWNlOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5zZXJ2aWNlLmNvbW1vbi5BYnN0cmFjdFNlcnZpY2U7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5VdGlsaXR5OwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuVXRpbHM7CgpAU2VydmljZQpwdWJsaWMgY2xhc3MgUG9saWN5U2VydmljZSBleHRlbmRzIEFic3RyYWN0U2VydmljZTxQb2xpY3k+IGltcGxlbWVudHMKCQlJUG9saWN5U2VydmljZSB7CgoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBMb2dnZXIgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoIlBPTElDWSIpOwoKCUBBdXRvd2lyZWQKCXByaXZhdGUgSVBvbGljeURhbyBkYW87CgoJQEF1dG93aXJlZAoJcHJpdmF0ZSBVdGlscyB1dGlsczsKCgkKCQoJcHVibGljIFBvbGljeVNlcnZpY2UoKSB7CgkJc3VwZXIoKTsKCX0KCgoJQE92ZXJyaWRlCglwcm90ZWN0ZWQgSU9wZXJhdGlvbnM8UG9saWN5PiBnZXREYW8oKSB7CgkJcmV0dXJuIGRhbzsKCX0KCglAT3ZlcnJpZGUKCUBUcmFuc2FjdGlvbmFsCglwdWJsaWMgUmVzcG9uc2U8UG9saWN5PiBjcmVhdGUoZmluYWwgUG9saWN5IHJlcUJvZHksCgkJCUh0dHBTZXJ2bGV0UmVxdWVzdCByZXEsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UpCgkJCXRocm93cyBFeGNlcHRpb24gewoKCQlsb2dnZXIuZGVidWcoIkFkZGluZyBQb2xpY3kiKTsKCQkKCQkKCQlQb2xpY3kgcmVzUG9saWN5ID0gZ2V0RGFvKCkuY3JlYXRlKHJlcUJvZHkpOwoJCXJldHVybiBVdGlsaXR5LmdldFJlc3BvbnNlKG5ldyBQb2xpY3lbXSB7IHJlc1BvbGljeSB9KTsKCgl9CgkKCUBPdmVycmlkZQoJQFRyYW5zYWN0aW9uYWwKCXB1YmxpYyBSZXNwb25zZTxQb2xpY3k+IHVwZGF0ZShAUGF0aFZhcmlhYmxlKHZhbHVlID0gImlkIikgTG9uZyBpZCwKCQkJQFJlcXVlc3RCb2R5KHJlcXVpcmVkID0gdHJ1ZSkgUG9saWN5IHJlcUJvZHksCgkJCUh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0LCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKQoJCQl0aHJvd3MgRXhjZXB0aW9uIHsKCgkJbG9nZ2VyLmRlYnVnKCJVcGRhdGluZyBQb2xpY3kgJ3t9JyIsIGlkKTsKCQlmaW5hbCBQb2xpY3kgbG9jYWxQb2xpY3kgPSBmaW5kT25lKGlkKTsKCQlpZiAobG9jYWxQb2xpY3kgPT0gbnVsbCkgewoJCQlsb2dnZXIuZXJyb3IoIlBvbGljeSAne30nIG5vdCBmb3VuZCwgdW5hYmxlIHRvIHVwZGF0ZSIsIGlkKTsKCQkJcmV0dXJuIFV0aWxpdHkuc2V0QmFkUmVxdWVzdCgiVW5hYmxlIHRvIGZpbmQgcG9saWN5ICciICsgaWQgKyAiJyIsCgkJCQkJcmVzcG9uc2UpOwoJCX0KCQkKCQoJCVJlc3BvbnNlPFBvbGljeT5yZXNwID0gdXBkYXRlKGxvY2FsUG9saWN5KTsKCQkKCQlyZXR1cm4gcmVzcDsKCgl9CgoJCgoJQE92ZXJyaWRlCglwdWJsaWMgTGlzdDxQb2xpY3k+IGZpbmRBbGxQb2xpY3koTG9uZyBpZCkgewoJCXJldHVybiBkYW8uZmluZEFsbFBvbGljeShpZCk7Cgl9Cgp9Cg=="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\service\IPolicyService.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uc2VydmljZTsKCmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0OwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2U7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5kYW8uY29tbW9uLklPcGVyYXRpb25zOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbC5Qb2xpY3k7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLm1vZGVsLlJlc3BvbnNlOwoKcHVibGljIGludGVyZmFjZSBJUG9saWN5U2VydmljZSBleHRlbmRzIElPcGVyYXRpb25zPFBvbGljeT4gewoKCglwdWJsaWMgUmVzcG9uc2U8UG9saWN5PiBjcmVhdGUoUG9saWN5IHJlcUJvZHksIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXEsCgkJCUh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UpIHRocm93cyBFeGNlcHRpb247CgoJcHVibGljIFJlc3BvbnNlPFBvbGljeT4gdXBkYXRlKExvbmcgaWQsIFBvbGljeSByZXFCb2R5LAoJCQlIdHRwU2VydmxldFJlcXVlc3QgcmVxLCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKQoJCQl0aHJvd3MgRXhjZXB0aW9uOwoKCQoJCgoJcHVibGljIExpc3Q8UG9saWN5PiBmaW5kQWxsUG9saWN5KExvbmcgaWQpOwoKfQo="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\utilities\DataSettingProperties.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc3RlcmVvdHlwZS5Db21wb25lbnQ7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuQWJzdHJhY3RQcm9wZXJ0eUZpbGVNYW5hZ2VyOwoKQENvbXBvbmVudApwdWJsaWMgY2xhc3MgRGF0YVNldHRpbmdQcm9wZXJ0aWVzIGV4dGVuZHMgQWJzdHJhY3RQcm9wZXJ0eUZpbGVNYW5hZ2VyIHsKCXB1YmxpYyBEYXRhU2V0dGluZ1Byb3BlcnRpZXMoKSB7CgkJc3VwZXIoIkJBQ0tFTkQiKTsKCX0KCQoJcHVibGljIERhdGFTZXR0aW5nUHJvcGVydGllcyhTdHJpbmcgZmlsZXBhdGgpIHsKCQlzdXBlcigiQkFDS0VORCIpOwoJfQoJCQp9Cg=="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\utilities\servlet\DelayedSendErrorHttpServletResponse.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQ7CgppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKCmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZTsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlV3JhcHBlcjsKCi8qKgogKiBUaGlzIEhUVFAgc2VydmxldCByZXNwb25zZSB3cmFwcGVyIHdpbGwgaWdub3JlIHRoZSBzZXQgZXJyb3IgY29tbWFuZAogKiBzbyB0aGF0IHRoZSByZXNwb25zZSBpcyBub3QgY29tbWl0dGVkIGFuZCBjYW4gYmUgYWRqdXN0ZWQgYXMgbmVlZGVkLgogKi8KcHVibGljIGNsYXNzIERlbGF5ZWRTZW5kRXJyb3JIdHRwU2VydmxldFJlc3BvbnNlIGV4dGVuZHMKCQlIdHRwU2VydmxldFJlc3BvbnNlV3JhcHBlciB7CgoJcHJpdmF0ZSBpbnQgc2M7Cglwcml2YXRlIGJvb2xlYW4gaXNTZXQgPSBmYWxzZTsKCQoJcHVibGljIERlbGF5ZWRTZW5kRXJyb3JIdHRwU2VydmxldFJlc3BvbnNlKGZpbmFsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UpIHsKCQlzdXBlcihyZXNwb25zZSk7Cgl9CgoJcHVibGljIGludCBnZXRTZW5kRXJyb3JDb2RlKCkgewoJCXJldHVybiB0aGlzLnNjOwoJfQoJCglwdWJsaWMgYm9vbGVhbiBpc1NldCgpIHsKCQlyZXR1cm4gdGhpcy5pc1NldDsKCX0KCQoJQE92ZXJyaWRlCiAgICBwdWJsaWMgdm9pZCBzZW5kRXJyb3IoZmluYWwgaW50IHNjLCBmaW5hbCBTdHJpbmcgbXNnKSB0aHJvd3MgSU9FeGNlcHRpb24gewoJCXRoaXMuc2MgPSBzYzsKCQl0aGlzLmlzU2V0ID0gdHJ1ZTsKICAgIH0KCglAT3ZlcnJpZGUKICAgIHB1YmxpYyB2b2lkIHNlbmRFcnJvcihpbnQgc2MpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgkJdGhpcy5zYyA9IHNjOwoJCXRoaXMuaXNTZXQgPSB0cnVlOwogICAgfQoJCglAT3ZlcnJpZGUKICAgIHB1YmxpYyBib29sZWFuIGlzQ29tbWl0dGVkKCkgewoJCXJldHVybiB0aGlzLmlzU2V0OwogICAgfQoJCglAT3ZlcnJpZGUKCXB1YmxpYyBpbnQgZ2V0U3RhdHVzKCkgewoJCWlmICh0aGlzLmlzU2V0KSB7IAoJCQlyZXR1cm4gdGhpcy5zYzsKCQl9CgkJcmV0dXJuIHN1cGVyLmdldFN0YXR1cygpOwoJfQp9Cg=="},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\utilities\servlet\ErrorHandlingFilter.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuc2VydmxldDsKCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5QcmludFdyaXRlcjsKCmltcG9ydCBqYXZheC5zZXJ2bGV0LkZpbHRlcjsKaW1wb3J0IGphdmF4LnNlcnZsZXQuRmlsdGVyQ2hhaW47CmltcG9ydCBqYXZheC5zZXJ2bGV0LkZpbHRlckNvbmZpZzsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldEV4Y2VwdGlvbjsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3Q7CmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRSZXNwb25zZTsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlOwoKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5KU09OT2JqZWN0OwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlcjsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXJGYWN0b3J5OwoKcHVibGljIGNsYXNzIEVycm9ySGFuZGxpbmdGaWx0ZXIgaW1wbGVtZW50cyBGaWx0ZXIgewoJcHJvdGVjdGVkIGZpbmFsIHN0YXRpYyBMb2dnZXIgckxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJSRVFVRVNUIik7CgkKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgaW5pdChmaW5hbCBGaWx0ZXJDb25maWcgZmlsdGVyQ29uZmlnKSB0aHJvd3MgU2VydmxldEV4Y2VwdGlvbiB7CgkJLy8gbm8tb3AKCX0KCglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIGRvRmlsdGVyKFNlcnZsZXRSZXF1ZXN0IHJlcXVlc3QsIFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSwKCQkJRmlsdGVyQ2hhaW4gY2hhaW4pIHRocm93cyBJT0V4Y2VwdGlvbiwgU2VydmxldEV4Y2VwdGlvbiB7CgkJCgkJLy8gdGhpcyBmaWx0ZXIgb25seSBsb29rcyBhdCB0aGUgcmVzcG9uc2UsIGJ1dCBiZWNhdXNlIG9mIHRoaXMKCQkvLyB3ZSBuZWVkIGEgcmVzcG9uc2UgdGhhdCB3aWxsIG5vdCBjb21taXQgdGhlIG91dHB1dCB1bnRpbAoJCWZpbmFsIERlbGF5ZWRTZW5kRXJyb3JIdHRwU2VydmxldFJlc3BvbnNlIHdyYXBwZWRSZXNwb25zZSA9IAoJCQkJbmV3IERlbGF5ZWRTZW5kRXJyb3JIdHRwU2VydmxldFJlc3BvbnNlKChIdHRwU2VydmxldFJlc3BvbnNlKXJlc3BvbnNlKTsKCQkKCQljaGFpbi5kb0ZpbHRlcihyZXF1ZXN0LCB3cmFwcGVkUmVzcG9uc2UpOwoJCQoJCS8vIGlmIHRoZSBzZW5kRXJyb3Igd2FzIHVzZWQsIGluamVjdCBvdXIgZXJyb3IsIG90aGVyd2lzZSB3aGF0IHdhcyBzZW5kIGlzIHNldAoJCWlmICh3cmFwcGVkUmVzcG9uc2UuaXNTZXQoKSkgewoJCQl1cGRhdGVFcnJvcih3cmFwcGVkUmVzcG9uc2UuZ2V0U2VuZEVycm9yQ29kZSgpLCAoSHR0cFNlcnZsZXRSZXNwb25zZSlyZXNwb25zZSk7CgkJfQoJfQoKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgZGVzdHJveSgpIHsKCQkvLyBuby1vcAoJfQoKCUBTdXBwcmVzc1dhcm5pbmdzKCJ1bmNoZWNrZWQiKQoJcHJpdmF0ZSB2b2lkIHVwZGF0ZUVycm9yKGZpbmFsIGludCBzYywgZmluYWwgSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkgdGhyb3dzIElPRXhjZXB0aW9uIHsKCQlyTG9nLmRlYnVnKCJPdmVycmlkaW5nIGVycm9yICd7fSciLCBzYyk7CgkJCgkJZmluYWwgaW50IHJlc3BvbnNlU3RhdHVzQ29kZTsKCQlmaW5hbCBTdHJpbmcgcmVzcG9uc2VTdGF0dXNNc2c7CgkJZmluYWwgSlNPTk9iamVjdCByZXNwb25zZUJvZHkgPSBuZXcgSlNPTk9iamVjdCgpOwoJCXN3aXRjaCAoc2MpIHsKCQljYXNlIDQwMDoKCQkJcmVzcG9uc2VTdGF0dXNDb2RlID0gNDAwOwoJCQlyZXNwb25zZVN0YXR1c01zZyA9ICJCYWQgcmVxdWVzdCI7CgkJCWJyZWFrOwoJCWNhc2UgNDAxOgoJCQlyZXNwb25zZVN0YXR1c0NvZGUgPSA0MDE7CgkJCXJlc3BvbnNlU3RhdHVzTXNnID0gIlVuYXV0aG9yaXplZGQiOwoJCQlicmVhazsKCQljYXNlIDQwMzoKCQkJcmVzcG9uc2VTdGF0dXNDb2RlID0gNDAxOwoJCQlyZXNwb25zZVN0YXR1c01zZyA9ICJVbmF1dGhvcml6ZWRkZCI7CgkJCWJyZWFrOwoJCWNhc2UgNDA0OgoJCQlyZXNwb25zZVN0YXR1c0NvZGUgPSA0MDQ7CgkJCXJlc3BvbnNlU3RhdHVzTXNnID0gIk5vdCBmb3VuZCI7CgkJCWJyZWFrOwoJCWNhc2UgNDA1OgoJCQlyZXNwb25zZVN0YXR1c0NvZGUgPSA0MDA7CgkJCXJlc3BvbnNlU3RhdHVzTXNnID0gIkJhZCByZXF1ZXN0IjsKCQkJYnJlYWs7CgkJY2FzZSA0MTU6CgkJCXJlc3BvbnNlU3RhdHVzQ29kZSA9IDQwMDsKCQkJcmVzcG9uc2VTdGF0dXNNc2cgPSAiQmFkIHJlcXVlc3QiOwoJCQlicmVhazsKCQljYXNlIDUwMDoKCQkJcmVzcG9uc2VTdGF0dXNDb2RlID0gNTAwOwoJCQlyZXNwb25zZVN0YXR1c01zZyA9ICJJbnRlcm5hbCBzZXJ2ZXIgZXJyb3IiOwoJCQlicmVhazsKCQljYXNlIDUwMzoKCQkJcmVzcG9uc2VTdGF0dXNDb2RlID0gNTAzOwoJCQlyZXNwb25zZVN0YXR1c01zZyA9ICJTZXJ2aWNlIHVuYXZhaWxhYmxlIjsKCQkJYnJlYWs7CgkJZGVmYXVsdDoKCQkJcmVzcG9uc2VTdGF0dXNDb2RlID0gNTAwOwoJCQlyZXNwb25zZVN0YXR1c01zZyA9ICJJbnRlcm5hbCBzZXJ2ZXIgZXJyb3IiOwoJCQlicmVhazsKCQl9CgkJCgkJckxvZy5kZWJ1ZygiU2V0dGluZyBzdGF0dXMgY29kZSAne30nIiwgcmVzcG9uc2VTdGF0dXNDb2RlKTsKCQlyZXNwb25zZS5zZXRTdGF0dXMocmVzcG9uc2VTdGF0dXNDb2RlKTsKCQlyZXNwb25zZUJvZHkucHV0KCJzdGF0dXNDb2RlIiwgcmVzcG9uc2VTdGF0dXNDb2RlKTsKCQlyZXNwb25zZUJvZHkucHV0KCJzdGF0dXNNc2ciLCByZXNwb25zZVN0YXR1c01zZyk7CgkJCgkJcmVzcG9uc2Uuc2V0Q2hhcmFjdGVyRW5jb2RpbmcoIlVURi04Iik7CgkJcmVzcG9uc2Uuc2V0Q29udGVudFR5cGUoImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCIpOwoJCWZpbmFsIFByaW50V3JpdGVyIHdyaXRlciA9IHJlc3BvbnNlLmdldFdyaXRlcigpOwoJCXdyaXRlci5wcmludChyZXNwb25zZUJvZHkudG9KU09OU3RyaW5nKCkpOwoJCXdyaXRlci5mbHVzaCgpOwoJCXJlc3BvbnNlLmZsdXNoQnVmZmVyKCk7Cgl9Cn0K"},{"filepath":"comserv-parent\comserv-backend\src\main\java\com\db\comserv\main\utilities\Utils.java","filecontent":"LyoNCiAqIFRoaXMgY29tcHV0ZXIgcHJvZ3JhbSBpcyB0aGUgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGFuZCBwcm9wcmlldGFyeSB0cmFkZQ0KICogc2VjcmV0IG9mIERCLiBQb3NzZXNzaW9ucyBhbmQgdXNlIG9mIHRoaXMgcHJvZ3JhbSBtdXN0DQogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwNCiAqLw0KcGFja2FnZSBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllczsNCg0KaW1wb3J0IGphdmEudGV4dC5EZWNpbWFsRm9ybWF0Ow0KaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOw0KDQppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dDsNCg0KaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXI7DQppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7DQppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LmFubm90YXRpb24uQXV0b3dpcmVkOw0KaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc3RlcmVvdHlwZS5Db21wb25lbnQ7DQoNCkBDb21wb25lbnQNCnB1YmxpYyBjbGFzcyBVdGlscyB7DQoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBMb2dnZXIgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoIlVUSUxTIik7DQoJDQoJDQoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgUGF0dGVybiBJUFY0X1BBVFRFUk4gPSANCg0KCQkJUGF0dGVybi5jb21waWxlKCJeKFswMV0/XFxkXFxkP3wyWzAtNF1cXGR8MjVbMC01XSlcXC4iICsNCgkJCQkJCQkiKFswMV0/XFxkXFxkP3wyWzAtNF1cXGR8MjVbMC01XSlcXC4iICsNCgkJCQkJCQkiKFswMV0/XFxkXFxkP3wyWzAtNF1cXGR8MjVbMC01XSlcXC4iICsNCgkJCQkJCQkiKFswMV0/XFxkXFxkP3wyWzAtNF1cXGR8MjVbMC01XSkkIik7DQoNCglwcml2YXRlIHN0YXRpYyBmaW5hbCBQYXR0ZXJuIElQVjZfU1REX1BBVFRFUk4gPSANCg0KCQkJUGF0dGVybi5jb21waWxlKCJeKD86WzAtOWEtZkEtRl17MSw0fTopezd9WzAtOWEtZkEtRl17MSw0fSQiKTsNCgkNCglwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgcGF0dGVybj0iXig/PS4qWzAtOV0pKD89LipbYS16XSkoPz0uKltBLVpdKVsuXFwtPyxAISMkJV4mKis9XFx3XFx1MDBDMC1cXHUwMTc4XXs4LDEyOH0kIjsNCglwcml2YXRlIHN0YXRpYyBmaW5hbCBQYXR0ZXJuIHA9UGF0dGVybi5jb21waWxlKHBhdHRlcm4pOw0KCQ0KCXByaXZhdGUgc3RhdGljIGZpbmFsIGNoYXJbXSBIRVhfQVJSQVkgPSAiMDEyMzQ1Njc4OUFCQ0RFRiIudG9DaGFyQXJyYXkoKTsNCglmaW5hbCBzdGF0aWMgRGVjaW1hbEZvcm1hdCBkZiA9IG5ldyBEZWNpbWFsRm9ybWF0KCIjLiMiKTsNCg0KCQ0KDQoNCglAQXV0b3dpcmVkDQoJRGF0YVNldHRpbmdQcm9wZXJ0aWVzIHByb3BlcnRpZXM7DQoNCg0KCUBBdXRvd2lyZWQNCglTZXJ2bGV0Q29udGV4dCBjb250ZXh0Ow0KCQ0KCXB1YmxpYyBVdGlscygpIHsNCgkJc3VwZXIoKTsNCgl9DQoNCgkNCgkNCiAgICANCiAgICANCiAgICANCglzdGF0aWMgZmluYWwgUGF0dGVybiBudW1lcmljUGF0aGVyID0gUGF0dGVybi5jb21waWxlKCIoWzAtOV0qKSIpOw0KCXByaXZhdGUgc3RhdGljIGZpbmFsIFBhdHRlcm4gRklMVEVSX1BBVFRFUk4gPSBQYXR0ZXJuDQoJCQkuY29tcGlsZSgiXCIoYXV0aF90b2tlbnxhcGlLZXl8QXV0aG9yaXphdGlvbilcIlxccyo6XFxzKlwiKFteXCJdKilcIiIpOw0KDQoNCg0KDQoJDQoJDQoJcHVibGljIHN0YXRpYyBib29sZWFuIGlzTnVtZXJpYyhTdHJpbmcgc3RyKSB7DQoJCWlmIChzdHIudHJpbSgpLmlzRW1wdHkoKSkgcmV0dXJuIGZhbHNlOw0KCQlyZXR1cm4gbnVtZXJpY1BhdGhlci5tYXRjaGVyKHN0cikubWF0Y2hlcygpOw0KCX0NCg0KCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGZvcm1hdENhc2UoU3RyaW5nIHMpeyAgLy8gY2FwcyBmaXJzdCBsZXR0ZXINCgkJaWYocz09bnVsbCB8fCBzLmxlbmd0aCgpPDEpIHJldHVybiBudWxsOw0KCQlyZXR1cm4gcy5yZXBsYWNlRmlyc3Qocy5zdWJzdHJpbmcoMCwgMSksIHMuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkpOw0KCX0NCg0KCXB1YmxpYyBzdGF0aWMgT2JqZWN0IG11Y2hEYXRhVHlwZShTdHJpbmcgcGFyYW1WYWwpew0KCQlpZihVdGlscy5pc051bWVyaWMocGFyYW1WYWwpKXJldHVybiBMb25nLnBhcnNlTG9uZyhwYXJhbVZhbCk7DQoJCWVsc2UgcmV0dXJuIHBhcmFtVmFsOw0KCX0NCg0KDQoJDQoNCg0KCQ0KfQ0K"},{"filepath":"comserv-parent\comserv-backend\src\main\resources\comserv-backend.properties","filecontent":"CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIERhdGFiYXNlIHNldHRpbmdzCgpqZGJjLmRyaXZlckNsYXNzTmFtZT1vcmcub3JhY2xlLkRyaXZlcgpqZGJjLnVybD1qZGJjOm9yYWNsZTovL2xvY2FsaG9zdDoxMjM0L2NvbXNlcnY/Y3JlYXRlRGF0YWJhc2VJZk5vdEV4aXN0PXRydWUKamRiYy51c2VyPWRidXNlcgpqZGJjLnBhc3M9YWRtaW4KCgo="},{"filepath":"comserv-parent\comserv-backend\src\main\resources\ESAPI.properties","filecontent":""},{"filepath":"comserv-parent\comserv-backend\src\main\resources\log4j2.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPENvbmZpZ3VyYXRpb24gbW9uaXRvckludGVydmFsPSIzMCIgc2h1dGRvd25Ib29rPSJkaXNhYmxlIgoJcGFja2FnZXM9ImNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzIj4KCTxQcm9wZXJ0aWVzPgoJCTxQcm9wZXJ0eSBuYW1lPSJyb290X2RpciI+LjwvUHJvcGVydHk+Cgk8L1Byb3BlcnRpZXM+Cgk8QXBwZW5kZXJzPgoJCTxDb25zb2xlIG5hbWU9IkNvbnNvbGUiIHRhcmdldD0iU1lTVEVNX09VVCI+CgkJCTxQYXR0ZXJuTGF5b3V0IHBhdHRlcm49IiVke0hIOm1tOnNzLlNTU30gWyV0XSAlLTVsZXZlbCAlbG9nZ2VyezM2fSAtICVtc2clbiIgLz4KCQk8L0NvbnNvbGU+CgoJCTxSb2xsaW5nRmlsZSBuYW1lPSJBdWRpdExvZyIgZmlsZU5hbWU9IiR7cm9vdF9kaXJ9L2NvbXNlcnYtYmFja2VuZC1hdWRpdC5sb2ciCgkJCWltbWVkaWF0ZUZsdXNoPSJmYWxzZSIgZmlsZVBhdHRlcm49IiR7cm9vdF9kaXJ9L2NvbXNlcnYtYmFja2VuZC1hdWRpdC0lZGF0ZXt5eXl5LU1NLWRkfS0laS5sb2cuZ3oiPgoJCQk8UGF0dGVybkxheW91dD4KCQkJCTxQYXR0ZXJuPiVkYXRle3l5eXktTU0tZGQnVCdISDptbTpzcy5TU1N9ICV0aHJlYWQgJWxldmVsICVsb2dnZXIgW3JlbW90ZUFkZHI9JW1kY3tyZW1vdGVBZGRyfSx1c2VyPSVtZGN7dXNlcn0sdGlkPSVtZGN7dGlkfSxwYXRoPSVtZGN7cGF0aH1dIC0gJW1zZyVuJXRocm93YWJsZTwvUGF0dGVybj4KCQkJPC9QYXR0ZXJuTGF5b3V0PgoJCQk8UG9saWNpZXM+CgkJCQk8VGltZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSAvPgoJCQkJPFNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kgc2l6ZT0iMjAwIE1CIiAvPgoJCQk8L1BvbGljaWVzPgoJCQk8TWF4TG9nc1N0cmF0ZWd5IG1heD0iMTAwMCIgYmFzZURpcj0iJHtyb290X2Rpcn0iCgkJCQlmaWxlTmFtZVBhdHRlcm49ImNvbXNlcnYtYmFja2VuZC1hdWRpdC0uK2d6IiBtYXhHYnM9IjEwIiAvPgoJCTwvUm9sbGluZ0ZpbGU+CgoJCTxSb2xsaW5nRmlsZSBuYW1lPSJTZXJ2ZXJMb2ciIGZpbGVOYW1lPSIke3Jvb3RfZGlyfS9jb21zZXJ2LWJhY2tlbmQtc2VydmVyLmxvZyIKCQkJaW1tZWRpYXRlRmx1c2g9ImZhbHNlIgoJCQlmaWxlUGF0dGVybj0iJHtyb290X2Rpcn0vY29tc2Vydi1iYWNrZW5kLXNlcnZlci0lZGF0ZXt5eXl5LU1NLWRkfS0laS5sb2cuZ3oiPgoJCQk8UGF0dGVybkxheW91dD4KCQkJCTxQYXR0ZXJuPiVkYXRle3l5eXktTU0tZGQnVCdISDptbTpzcy5TU1N9ICV0aHJlYWQgJWxldmVsICVsb2dnZXIgWyVjbGFzc3sxfS4lbWV0aG9kXSAtICVtc2clbiV0aHJvd2FibGU8L1BhdHRlcm4+CgkJCTwvUGF0dGVybkxheW91dD4KCQkJPFBvbGljaWVzPgoJCQkJPFRpbWVCYXNlZFRyaWdnZXJpbmdQb2xpY3kgLz4KCQkJCTxTaXplQmFzZWRUcmlnZ2VyaW5nUG9saWN5IHNpemU9IjIwMCBNQiIgLz4KCQkJPC9Qb2xpY2llcz4KCgkJCTxNYXhMb2dzU3RyYXRlZ3kgbWF4PSIxMDAwIiBiYXNlRGlyPSIke3Jvb3RfZGlyfSIKCQkJCWZpbGVOYW1lUGF0dGVybj0iY29tc2Vydi1iYWNrZW5kLXNlcnZlci0uK2d6IiBtYXhHYnM9IjEwIiAvPgoJCTwvUm9sbGluZ0ZpbGU+CgoJCTxSb2xsaW5nRmlsZSBuYW1lPSJSZXF1ZXN0TG9nIiBmaWxlTmFtZT0iJHtyb290X2Rpcn0vY29tc2Vydi1iYWNrZW5kLXJlcXVlc3QubG9nIgoJCQlpbW1lZGlhdGVGbHVzaD0iZmFsc2UiCgkJCWZpbGVQYXR0ZXJuPSIke3Jvb3RfZGlyfS9jb21zZXJ2LWJhY2tlbmQtcmVxdWVzdC0lZGF0ZXt5eXl5LU1NLWRkfS0laS5sb2cuZ3oiPgoJCQk8UGF0dGVybkxheW91dD4KCQkJCTxQYXR0ZXJuPiVkYXRle3l5eXktTU0tZGQnVCdISDptbTpzcy5TU1N9ICV0aHJlYWQgJWxldmVsICVsb2dnZXIgWyVjbGFzc3sxfS4lbWV0aG9kXSBbcmVtb3RlQWRkcj0lbWRje3JlbW90ZUFkZHJ9LHVzZXI9JW1kY3t1c2VyfSx0aWQ9JW1kY3t0aWR9LHBhdGg9JW1kY3twYXRofV0gLSAlbXNnJW4ldGhyb3dhYmxlPC9QYXR0ZXJuPgoJCQk8L1BhdHRlcm5MYXlvdXQ+CgkJCTxQb2xpY2llcz4KCQkJCTxUaW1lQmFzZWRUcmlnZ2VyaW5nUG9saWN5IC8+CgkJCQk8U2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSBzaXplPSIyMDAgTUIiIC8+CgkJCTwvUG9saWNpZXM+CgoJCQk8TWF4TG9nc1N0cmF0ZWd5IG1heD0iMTAwMCIgYmFzZURpcj0iJHtyb290X2Rpcn0iCgkJCQlmaWxlTmFtZVBhdHRlcm49ImNvbXNlcnYtYmFja2VuZC1yZXF1ZXN0LS4rZ3oiIG1heEdicz0iMTAiIC8+CgkJPC9Sb2xsaW5nRmlsZT4KCgkJPFJvbGxpbmdGaWxlIG5hbWU9IkV4dGVybmFsQWNjZXNzTG9nIiBmaWxlTmFtZT0iJHtyb290X2Rpcn0vY29tc2Vydi1iYWNrZW5kLWV4dC1hY2Nlc3MubG9nIgoJCQlpbW1lZGlhdGVGbHVzaD0iZmFsc2UiCgkJCWZpbGVQYXR0ZXJuPSIke3Jvb3RfZGlyfS9jb21zZXJ2LWJhY2tlbmQtZXh0LWFjY2Vzcy0lZGF0ZXt5eXl5LU1NLWRkfS0laS5sb2cuZ3oiPgoJCQk8UGF0dGVybkxheW91dD4KCQkJCTxQYXR0ZXJuPiVkYXRle3l5eXktTU0tZGQnVCdISDptbTpzcy5TU1N9ICVtc2clbjwvUGF0dGVybj4KCQkJPC9QYXR0ZXJuTGF5b3V0PgoJCQk8UG9saWNpZXM+CgkJCQk8VGltZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSAvPgoJCQkJPFNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kgc2l6ZT0iMjAwIE1CIiAvPgoJCQk8L1BvbGljaWVzPgoKCQkJPE1heExvZ3NTdHJhdGVneSBtYXg9IjEwMDAiIGJhc2VEaXI9IiR7cm9vdF9kaXJ9IgoJCQkJZmlsZU5hbWVQYXR0ZXJuPSJjb21zZXJ2LWJhY2tlbmQtZXh0LWFjY2Vzcy0uK2d6IiBtYXhHYnM9IjUiIC8+CgkJPC9Sb2xsaW5nRmlsZT4KCQk8Um9sbGluZ0ZpbGUgbmFtZT0iVXNlckFjY2Vzc0xvZyIgZmlsZU5hbWU9IiR7cm9vdF9kaXJ9L2NvbXNlcnYtYmFja2VuZC11c2VyLWFjY2Vzcy5sb2ciCgkJCWltbWVkaWF0ZUZsdXNoPSJmYWxzZSIKCQkJZmlsZVBhdHRlcm49IiR7cm9vdF9kaXJ9L2NvbXNlcnYtYmFja2VuZC1leHQtYWNjZXNzLSVkYXRle3l5eXktTU0tZGR9LSVpLmxvZy5neiI+CgkJCTxQYXR0ZXJuTGF5b3V0PgoJCQkJPFBhdHRlcm4+JWRhdGV7eXl5eS1NTS1kZCdUJ0hIOm1tOnNzLlNTU30gJW1zZyVuPC9QYXR0ZXJuPgoJCQk8L1BhdHRlcm5MYXlvdXQ+CgkJCTxQb2xpY2llcz4KCQkJCTxUaW1lQmFzZWRUcmlnZ2VyaW5nUG9saWN5IC8+CgkJCQk8U2l6ZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSBzaXplPSIyMDAgTUIiIC8+CgkJCTwvUG9saWNpZXM+CgoJCQk8TWF4TG9nc1N0cmF0ZWd5IG1heD0iMTAwMCIgYmFzZURpcj0iJHtyb290X2Rpcn0iCgkJCQlmaWxlTmFtZVBhdHRlcm49ImNvbXNlcnYtYmFja2VuZC11c2VyLWFjY2Vzcy0uK2d6IiBtYXhHYnM9IjUiIC8+CgkJPC9Sb2xsaW5nRmlsZT4KCTwvQXBwZW5kZXJzPgoJPExvZ2dlcnM+CgkJPExvZ2dlciBuYW1lPSJBVURJVCIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlNFUlZFUiIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlNlcnZlckxvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJDUllQVE8iIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJTZXJ2ZXJMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iQVdTLVMzIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iU2VydmVyTG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlJFUVVFU1QiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkVTQVBJIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJBVVRIIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJCQU5ORVIiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkNPVU5UUklFUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUk9MRVMiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlNQUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iT1JHUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iREVQTE9ZTUVOVFMiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlNFVFRJTkdTIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJBQ0NFU1NQT0lOVFMiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9Ik1BUktFVFMiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlVTRVJTIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJGTE9PUlMiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkJVSUxESU5HUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iSU1BR0VTIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJaT05FUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUkVQT1JUUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iU0VBUkNIIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJQQUNLQUdFIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJWT1gtUE9MTEVSIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iVk9YVERNLVBPTExFUiIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlZOQU0tREVUQUlMUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iTE9HR0lORyIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUFJPUEVSVElFUyIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iQUxFUlRFUiIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9Ik5PVElGSUNBVElPTlMiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0ib3JnLnNwcmluZ2ZyYW1ld29yayIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iU2VydmVyTG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9Im9yZy5oaWJlcm5hdGUiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlNlcnZlckxvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJvcmcuamJvc3MiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlNlcnZlckxvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJSQi1ERVRBSUxTIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJQSS1ERVRBSUxTIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iU2VydmVyTG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9Ik1TRS1ERVRBSUxTIiBsZXZlbD0iaW5mbyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJTZXJ2ZXJMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iQVBTVEFUUkVRIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJBUFNUQVRBVURJVCIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkJBTkRXSURUSCIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUE9MTEVSIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUEktUE9MTEVSIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUkVQT1JURU1BSUxCQVRDSCIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9Ik1TRVJFU1lOQ0JBVENIIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iREVMRVRFSElTVE9SWUJBVENIIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iREVMRVRFQVBTVEFUQkFUQ0giIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJBdWRpdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJNQUlMRVIiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJBdWRpdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJUUklBTFNQUyIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkJJTExBQkxFU1BTIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iVE9QTiIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iTUVUUklDU0VSVklDRSIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoKCQk8TG9nZ2VyIG5hbWU9Ik1FVFJJQ19BVVRIIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJNT1RVU1JFUSIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iTVNFUkVGIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJvcmcuYXBhY2hlLmh0dHAiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9ImNvbS5hbWF6b25hd3MiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlVUSUxTIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJTTUFMTENFTEwiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkNTT04iIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkNMSUVOVF9QT0xMRVIiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJBdWRpdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJDTElFTlQiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlZPV0lGSSIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlJlcXVlc3RMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iTkFNLURFVEFJTFMiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlJCLVNZTkMiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJTZXJ2ZXJMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iRVhULUFDQ0VTUyIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iRXh0ZXJuYWxBY2Nlc3NMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iVVNFUi1BQ0NFU1MiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IlVzZXJBY2Nlc3NMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUkdJTVBPUlRFUiIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IkNPTU1XSUZJIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJSUk1QUk9GSUxFIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCgkJPExvZ2dlciBuYW1lPSJDT01QQVJJU09OLVJFUE9SVC1VVElMSVRZIiBsZXZlbD0iZGVidWciCgkJCWFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iQ09NTU9OLVJFUE9SVCIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9Ik5PUk1BTC1SRVBPUlQtVVRJTElUWSIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlBSRVZJRVciIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgoJCTwvTG9nZ2VyPgoKCQk8TG9nZ2VyIG5hbWU9IlNOTVBNQU5BR0VSIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iQ0xPVURXSUZJIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxMb2dnZXIgbmFtZT0iUlJNIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgoJCTxSb290IGxldmVsPSJkZWJ1ZyI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkNvbnNvbGUiIC8+CgkJCTxBcHBlbmRlclJlZiByZWY9IlNlcnZlckxvZyIgLz4KCQk8L1Jvb3Q+CgoJPC9Mb2dnZXJzPgo8L0NvbmZpZ3VyYXRpb24+Cg=="},{"filepath":"comserv-parent\comserv-backend\src\main\resources\validation.properties","filecontent":""},{"filepath":"comserv-parent\comserv-backend\src\main\webapp\WEB-INF\web.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx3ZWItYXBwIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUiIHhtbG5zOndlYj0iaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlL3dlYi1hcHBfMl81LnhzZCINCiAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9qYXZhLnN1bi5jb20veG1sL25zL2phdmFlZSBodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUvd2ViLWFwcF8zXzAueHNkIiBpZD0iV2ViQXBwX0lEIiB2ZXJzaW9uPSIzLjAiPg0KDQogICAgPGRpc3BsYXktbmFtZT5TcHJpbmcgU2VjdXJpdHkgQ3VzdG9tIEFwcGxpY2F0aW9uPC9kaXNwbGF5LW5hbWU+DQoJPGRpc3BsYXktbmFtZT5jb21zZXJ2PC9kaXNwbGF5LW5hbWU+DQoJPHdlbGNvbWUtZmlsZS1saXN0Pg0KCQk8d2VsY29tZS1maWxlPmluZGV4LmpzcDwvd2VsY29tZS1maWxlPg0KCTwvd2VsY29tZS1maWxlLWxpc3Q+DQoJDQoJPGNvbnRleHQtcGFyYW0+DQogICAgICAgIDxwYXJhbS1uYW1lPmNvbnRleHRDbGFzczwvcGFyYW0tbmFtZT4NCiAgICAgICAgPHBhcmFtLXZhbHVlPg0KICAgICAgICAgICAgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuY29udGV4dC5zdXBwb3J0LkFubm90YXRpb25Db25maWdXZWJBcHBsaWNhdGlvbkNvbnRleHQNCiAgICAgIAk8L3BhcmFtLXZhbHVlPg0KICAgIDwvY29udGV4dC1wYXJhbT4NCiAgICANCgkgPGNvbnRleHQtcGFyYW0+DQogICAgICAgIDxwYXJhbS1uYW1lPmNvbnRleHRDb25maWdMb2NhdGlvbjwvcGFyYW0tbmFtZT4NCiAgICAgICAgPHBhcmFtLXZhbHVlPmNvbS5kYi5jb21zZXJ2Lm1haW4uY29uZmlnPC9wYXJhbS12YWx1ZT4NCiAgICA8L2NvbnRleHQtcGFyYW0+DQoJDQoJPCEtLSBNVVNUIFNFVCBUSElTIEZPUiBMT0dHSU5HIEFVVE8gUkVMT0FEIC0tPg0KCTxjb250ZXh0LXBhcmFtPg0KCQk8cGFyYW0tbmFtZT5sb2c0akNvbmZpZ3VyYXRpb248L3BhcmFtLW5hbWU+DQoJCTxwYXJhbS12YWx1ZT5sb2c0ajIueG1sPC9wYXJhbS12YWx1ZT4NCgk8L2NvbnRleHQtcGFyYW0+DQoJDQoJPGxpc3RlbmVyPg0KCQkJPGxpc3RlbmVyLWNsYXNzPg0KCQkJCW9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmNvbnRleHQucmVxdWVzdC5SZXF1ZXN0Q29udGV4dExpc3RlbmVyDQoJCQk8L2xpc3RlbmVyLWNsYXNzPg0KICAJIDwvbGlzdGVuZXI+IA0KDQo8L3dlYi1hcHA+DQo="},{"filepath":"comserv-parent\comserv-backend\src\test\java\com\db\comserv\main\controller\MarketControllerTest.java","filecontent":"LyoNCiAqIFRoaXMgY29tcHV0ZXIgcHJvZ3JhbSBpcyB0aGUgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGFuZCBwcm9wcmlldGFyeSB0cmFkZQ0KICogc2VjcmV0IG9mIERCLiBQb3NzZXNzaW9ucyBhbmQgdXNlIG9mIHRoaXMgcHJvZ3JhbSBtdXN0DQogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwNCiAqLw0KcGFja2FnZSBjb20uZGIuY29tc2Vydi5tYWluLmNvbnRyb2xsZXI7DQo="},{"filepath":"comserv-parent\comserv-backend\src\test\resources\log4j2.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBUaGlzIGlzIHRoZSB0ZXN0IGxvZzRqMiBjb25maWd1cmF0aW9uLCBldmVyeXRoaW5nIGdvZXMgdG8gdGhlIGNvbnNvbGUgLS0+CjxDb25maWd1cmF0aW9uIG1vbml0b3JJbnRlcnZhbD0iMzAiPgoJPEFwcGVuZGVycz4KCQk8Q29uc29sZSBuYW1lPSJDb25zb2xlIiB0YXJnZXQ9IlNZU1RFTV9PVVQiPgoJCQk8UGF0dGVybkxheW91dCBwYXR0ZXJuPSIlZGF0ZXt5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTfSAldGhyZWFkICVsZXZlbCBbcmVtb3RlQWRkcj0lbWRje3JlbW90ZUFkZHJ9LHVzZXI9JW1kY3t1c2VyfSx0aWQ9JW1kY3t0aWR9LHBhdGg9JW1kY3twYXRofV0gLSAlbXNnJW4ldGhyb3dhYmxlIiAvPgoJCTwvQ29uc29sZT4KCTwvQXBwZW5kZXJzPgoJPExvZ2dlcnM+CgkJPFJvb3QgbGV2ZWw9ImRlYnVnIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQ29uc29sZSIgLz4KCQk8L1Jvb3Q+Cgk8L0xvZ2dlcnM+CjwvQ29uZmlndXJhdGlvbj4="},{"filepath":"comserv-parent\comserv-backend\src\test\resources\mockProps.properties","filecontent":"dGVzdD12YWx1ZQpoZWxsbz1oaQoKI1ZlbmRvciBOYW1lIHNldHRpbmcKdmVuZG9yLnJlcGxhY2VkU3RyaW5ncyA9IkNPLiIsICJJTkMuIiwgIkxURC4iLCAiICIsICItIiwgIi4iCiNTaW1pbGFyaXR5IFBlcmNlbnRhZ2UgCnZlbmRvci5zaW1pbGFyaXR5ID0gODAKCiNNZWRpYSBBcHBsaWNhdGlvbnMKTWVkaWFfQXBwcz1Zb3V0dWJlLE5ldGZsaXgsSHVsdSxQYW5kb3JhLGlUdW5lcwpNZWRpYV9BcHBzX05hbWU9eW91dHViZSxuZXRmbGl4LGh1bHUscGFuZG9yYSxpdHVuZXMKCgpjU09OLnVybD0ibW9ja19jc29uX3VybCI="},{"filepath":"comserv-parent\comserv-common\pom.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgoJPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgoKCTxhcnRpZmFjdElkPmNvbXNlcnYtY29tbW9uPC9hcnRpZmFjdElkPgoJPHBhY2thZ2luZz5qYXI8L3BhY2thZ2luZz4KCQo8bmFtZT5jb21zZXJ2LWNvbW1vbjwvbmFtZT4KCgoJPHBhcmVudD4KCQk8Z3JvdXBJZD5jb20uZGIuY29tc2VydjwvZ3JvdXBJZD4KCQk8YXJ0aWZhY3RJZD5jb21zZXJ2LXBhcmVudDwvYXJ0aWZhY3RJZD4KCQk8dmVyc2lvbj4xLjguMDwvdmVyc2lvbj4KCQk8cmVsYXRpdmVQYXRoPi4uL3BvbS54bWw8L3JlbGF0aXZlUGF0aD4KCTwvcGFyZW50PgoJCgk8ZGVwZW5kZW5jaWVzPgoJCTxkZXBlbmRlbmN5PiAKICAgICAgICAJPGdyb3VwSWQ+bmV0LnNvdXJjZWZvcmdlLmZpbmRidWdzPC9ncm91cElkPiAKICAgICAgICAJPGFydGlmYWN0SWQ+YW5ub3RhdGlvbnM8L2FydGlmYWN0SWQ+IAogICAgICAgIAk8dmVyc2lvbj4xLjMuMjwvdmVyc2lvbj4gCiAgICAgICAgCTxzY29wZT5wcm92aWRlZDwvc2NvcGU+IAogICAgICAgIDwvZGVwZW5kZW5jeT4KICAgIDwvZGVwZW5kZW5jaWVzPgoKCjwvcHJvamVjdD4K"},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\model\Response.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4ubW9kZWw7CgppbXBvcnQgamF2YS5pby5TZXJpYWxpemFibGU7CgpwdWJsaWMgY2xhc3MgUmVzcG9uc2U8VD4gaW1wbGVtZW50cyBTZXJpYWxpemFibGV7CgoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxWZXJzaW9uVUlEID0gMUw7CgoJLy8gc2V0IGRlZmF1bHQgdmFsdWUgYXMgT0sKCXByaXZhdGUgU3RyaW5nIHN0YXR1c01zZyA9ICJPSyI7CgkKCXByaXZhdGUgaW50IHN0YXR1c0NvZGUgPSAyMDA7CgkKCXByaXZhdGUgVFtdIHJlc3VsdDsKCgkKCXB1YmxpYyBTdHJpbmcgZ2V0U3RhdHVzTXNnKCkgewoJCXJldHVybiBzdGF0dXNNc2c7Cgl9CgoJcHVibGljIHZvaWQgc2V0U3RhdHVzTXNnKGZpbmFsIFN0cmluZyBzdGF0dXNNZXNzYWdlKSB7CgkJdGhpcy5zdGF0dXNNc2cgPSBzdGF0dXNNZXNzYWdlOwoJfQoKCXB1YmxpYyBpbnQgZ2V0U3RhdHVzQ29kZSgpIHsKCQlyZXR1cm4gc3RhdHVzQ29kZTsKCX0KCglwdWJsaWMgdm9pZCBzZXRTdGF0dXNDb2RlKGZpbmFsIGludCBzdGF0dXNDb2RlKSB7CgkJdGhpcy5zdGF0dXNDb2RlID0gc3RhdHVzQ29kZTsKCX0KCglwdWJsaWMgVFtdIGdldFJlc3VsdCgpIHsKCQlyZXR1cm4gcmVzdWx0OwoJfQoKCUBTdXBwcmVzc1dhcm5pbmdzKCJ1bmNoZWNrZWQiKQoJcHVibGljIHZvaWQgc2V0UmVzdWx0KGZpbmFsIFQuLi4gcmVzdWx0KSB7CgkJdGhpcy5yZXN1bHQgPSByZXN1bHQ7Cgl9Cn0K"},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\AbstractPropertyFileManager.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEuaW8uRmlsZTsKaW1wb3J0IGphdmEuaW8uRmlsZUlucHV0U3RyZWFtOwppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uSW5wdXRTdHJlYW07CmltcG9ydCBqYXZhLm5ldC5VUkw7CmltcG9ydCBqYXZhLnV0aWwuTWFwOwppbXBvcnQgamF2YS51dGlsLlByb3BlcnRpZXM7CgppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dDsKCmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuYW5ub3RhdGlvbi5BdXRvd2lyZWQ7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnN0ZXJlb3R5cGUuQ29tcG9uZW50OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuY29udGV4dC5TZXJ2bGV0Q29udGV4dEF3YXJlOwoKQENvbXBvbmVudApwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQcm9wZXJ0eUZpbGVNYW5hZ2VyIGltcGxlbWVudHMgU2VydmxldENvbnRleHRBd2FyZSB7Cglwcm90ZWN0ZWQgZmluYWwgc3RhdGljIExvZ2dlciBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcigiUFJPUEVSVElFUyIpOwoJcHJvdGVjdGVkIFN0cmluZyBmaWxlbmFtZTsKCXByaXZhdGUgU3RyaW5nIHBhdGhDb25mTmFtZTsKCXByaXZhdGUgVVJMIHMzdXJsOwoJCglAQXV0b3dpcmVkCglTZXJ2bGV0Q29udGV4dCBzZXJ2bGV0Q29udGV4dDsKCQoJcHVibGljIEFic3RyYWN0UHJvcGVydHlGaWxlTWFuYWdlcihTdHJpbmcgYXBwTmFtZSkgewoKCQlzd2l0Y2goYXBwTmFtZSl7CgkJY2FzZSAiQkFDS0VORCI6CgkJCXRoaXMuZmlsZW5hbWUgPSAiY29tc2Vydi1iYWNrZW5kLnByb3BlcnRpZXMiOwoJCQlicmVhazsKCQljYXNlICJXRUIiOgoJCQl0aGlzLmZpbGVuYW1lID0gImNvbXNlcnYtd2ViLnByb3BlcnRpZXMiOwoJCQlicmVhazsKCQkKCQlkZWZhdWx0OgoJCQlicmVhazsKCQl9CgoKCX0KCQoJQE92ZXJyaWRlCglwdWJsaWMgc3luY2hyb25pemVkIHZvaWQgc2V0U2VydmxldENvbnRleHQoU2VydmxldENvbnRleHQgc2VydmxldENvbnRleHQpIHsKCQl0aGlzLnNlcnZsZXRDb250ZXh0ID0gc2VydmxldENvbnRleHQ7Cgl9CgkKCXB1YmxpYyBzeW5jaHJvbml6ZWQgUHJvcGVydGllcyBnZXRBbGxQcm9wZXJ0aWVzKCkgewoJCWlmKGZpbGVuYW1lPT1udWxsKSByZXR1cm4gbnVsbDsKCQkKCQlQcm9wZXJ0aWVzIHByb3BlcnRpZXMgPSBnZXRQcm9wZXJ0aWVzKCk7CgkJaWYgKHByb3BlcnRpZXMgPT0gbnVsbCkgewoJCQlwcm9wZXJ0aWVzID0gbG9hZFByb3BlcnRpZXMoKTsKCQl9CgkJaWYgKHByb3BlcnRpZXMgPT0gbnVsbCkgewoJCQlsb2dnZXIuZGVidWcoIkZhaWxlZCB0byByZXR1cm4gYWxsIHByb3BlcnRpZXMgZnJvbSAne30nLCBwcm9wZXJ0aWVzIG5vdCBsb2FkZWQiLCB0aGlzLmZpbGVuYW1lKTsKCQkJcmV0dXJuIG51bGw7CgkJfQoJCQoJCXJldHVybiBuZXcgUHJvcGVydGllcyhwcm9wZXJ0aWVzKTsKCX0KCQoJcHVibGljIHN5bmNocm9uaXplZCBTdHJpbmcgZ2V0SlNPTkRhdGEoZmluYWwgU3RyaW5nIHByb3BOYW1lKSB7CgkJaWYoZmlsZW5hbWU9PW51bGwpIHJldHVybiBudWxsOwoJCQoJCVByb3BlcnRpZXMgcHJvcGVydGllcyA9IGdldFByb3BlcnRpZXMoKTsKCQlpZiAocHJvcGVydGllcyA9PSBudWxsKSB7CgkJCXByb3BlcnRpZXMgPSBsb2FkUHJvcGVydGllcygpOwoJCX0KCQlpZiAocHJvcGVydGllcyA9PSBudWxsKSB7CgkJCWxvZ2dlci5kZWJ1ZygiRmFpbGVkIHRvIHJldHVybiBwcm9wZXJ0eSB2YWx1ZSBmb3IgJ3t9JyBmcm9tICd7fScsIHByb3BlcnRpZXMgbm90IGxvYWRlZCIsIHByb3BOYW1lLCB0aGlzLmZpbGVuYW1lKTsKCQkJcmV0dXJuIG51bGw7CgkJfQoJCWZpbmFsIFN0cmluZyB2YWx1ZSA9IHByb3BlcnRpZXMuZ2V0UHJvcGVydHkocHJvcE5hbWUpOwoJCWxvZ2dlci5kZWJ1ZygiUmV0dXJuaW5nICd7fScgZm9yICd7fScgZnJvbSAne30nIiwgdmFsdWUsIHByb3BOYW1lLCB0aGlzLmZpbGVuYW1lKTsKCQlyZXR1cm4gdmFsdWU7Cgl9CgoJCglwdWJsaWMgc3luY2hyb25pemVkIFN0cmluZyBnZXRWYWx1ZShmaW5hbCBTdHJpbmcgcHJvcE5hbWUpIHsKCQlyZXR1cm4gZ2V0SlNPTkRhdGEocHJvcE5hbWUpOwoJfQoJCgkKCXByaXZhdGUgUHJvcGVydGllcyBsb2FkUHJvcGVydGllcygpIHsKCQlmaW5hbCBQcm9wZXJ0aWVzIHByb3BlcnRpZXMgPSBuZXcgUHJvcGVydGllcygpOwoJCUlucHV0U3RyZWFtIGluPW51bGw7CgkJdHJ5IHsKCQkJCgkJCUZpbGUgY29uZmlnRGlyID0gbmV3IEZpbGUoU3lzdGVtLmdldFByb3BlcnR5KHRoaXMucGF0aENvbmZOYW1lKSwiIik7CgkJCUZpbGUgY29uZmlnRmlsZSA9IG5ldyBGaWxlKGNvbmZpZ0RpciwgdGhpcy5maWxlbmFtZSk7CgoJCQlpZihjb25maWdGaWxlLmV4aXN0cygpKXsKCQkJCWxvZ2dlci5kZWJ1ZygibG9hZGluZyBjdXN0b20gc2V0dGluZyBmcm9tIHt9IGZvbGRlci4uLiIsIHRoaXMucGF0aENvbmZOYW1lKTsKCQkJCWluID0gbmV3IEZpbGVJbnB1dFN0cmVhbShjb25maWdGaWxlKTsJCQkJCgkJCX1lbHNlewoJCQkJbG9nZ2VyLmRlYnVnKCJsb2FkaW5nIHNldHRpbmcgZmlsZXMgZnJvbSByZXNvdXJjZXMgZm9sZGVyLi4uIik7CgkJCQlpbiA9IGdldENsYXNzKCkuZ2V0UmVzb3VyY2VBc1N0cmVhbSgiLyIgKyB0aGlzLmZpbGVuYW1lKTsKCQkJfQoKCQkJaWYgKGluID09IG51bGwpIHsKCQkJCWxvZ2dlci5lcnJvcigiRmFpbGVkIHRvIGxvYWQgcHJvcGVydGllcywgZmlsZSAne30nICBub3QgZm91bmQiLCB0aGlzLmZpbGVuYW1lKTsKCQkJCXJldHVybiBudWxsOwoJCQl9CgkJCQoJCQlwcm9wZXJ0aWVzLmxvYWQoaW4pOwoJCQlzZXRQcm9wZXJ0aWVzKHByb3BlcnRpZXMpOwoJCQlsb2dnZXIuaW5mbygiUHJvcGVydGllcyBmaWxlICd7fScgY29udGFpbnMgJ3t9JyBlbnRyaWVzIiwgdGhpcy5maWxlbmFtZSwgcHJvcGVydGllcy5zaXplKCkpOwoJCQlmb3IgKGZpbmFsIE1hcC5FbnRyeTxPYmplY3QsIE9iamVjdD4gZW50cnkgOiBwcm9wZXJ0aWVzLmVudHJ5U2V0KCkpIHsKCQkJCWZpbmFsIFN0cmluZyB2YWx1ZSA9IGdldFZhbHVlRm9yTG9nKFN0cmluZy52YWx1ZU9mKGVudHJ5LmdldEtleSgpKSwgU3RyaW5nLnZhbHVlT2YoZW50cnkuZ2V0VmFsdWUoKSkpOwoJCQkJbG9nZ2VyLmluZm8oIiAge309e30iLCBlbnRyeS5nZXRLZXkoKSwgdmFsdWUpOwoJCQl9CgoJCQlyZXR1cm4gcHJvcGVydGllczsKCQl9IGNhdGNoIChmaW5hbCBJT0V4Y2VwdGlvbiBlKSB7CgkJCQoJCQlpZih0aGlzLmZpbGVuYW1lIT1udWxsKXsKCQkJCWxvZ2dlci5lcnJvcigiRmFpbGQgdG8gbG9hZCBwcm9wZXJ0aWVzIGZpbGUgJ3t9JyIsIHRoaXMuZmlsZW5hbWUsIGUpOwoJCQl9CgkJCQoJCQlpZih0aGlzLnMzdXJsIT1udWxsKXsKCQkJCWxvZ2dlci5lcnJvcigiRmFpbGQgdG8gbG9hZCBwcm9wZXJ0aWVzIGZpbGUgZnJvbSB1cmwgJ3t9JyIsIHRoaXMuczN1cmwsIGUpOwoJCQl9CgkJfWZpbmFsbHl7CgkJCWlmKGluICE9IG51bGwpewoJCQkJdHJ5IHsKCQkJCQlpbi5jbG9zZSgpOwoJCQkJfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgewoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gbnVsbDsKCX0KCQoJCgkKCXByaXZhdGUgdm9pZCBzZXRQcm9wZXJ0aWVzKGZpbmFsIFByb3BlcnRpZXMgcHJvcGVydGllcykgewoJCXNlcnZsZXRDb250ZXh0LnNldEF0dHJpYnV0ZSh0aGlzLmZpbGVuYW1lLCBwcm9wZXJ0aWVzKTsKCX0KCglwcml2YXRlIFByb3BlcnRpZXMgZ2V0UHJvcGVydGllcygpIHsKCQlpZihzZXJ2bGV0Q29udGV4dC5nZXRBdHRyaWJ1dGUodGhpcy5maWxlbmFtZSkhPW51bGwpCgkJCXJldHVybiAoUHJvcGVydGllcylzZXJ2bGV0Q29udGV4dC5nZXRBdHRyaWJ1dGUodGhpcy5maWxlbmFtZSk7CgkJZWxzZSByZXR1cm4gbnVsbDsKCQkKCX0KCQoJcHJvdGVjdGVkIFN0cmluZyBnZXRWYWx1ZUZvckxvZyhmaW5hbCBTdHJpbmcgbmFtZSwgZmluYWwgU3RyaW5nIHZhbHVlKSB7CgkJcmV0dXJuIHZhbHVlOwoJfQoJCn0K"},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\DataSettingProperties.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXM7CgppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zdGVyZW90eXBlLkNvbXBvbmVudDsKCkBDb21wb25lbnQKcHVibGljIGNsYXNzIERhdGFTZXR0aW5nUHJvcGVydGllcyBleHRlbmRzIEFic3RyYWN0UHJvcGVydHlGaWxlTWFuYWdlciB7CglwdWJsaWMgRGF0YVNldHRpbmdQcm9wZXJ0aWVzKCkgewoJCXN1cGVyKCJCQUNLRU5EIik7Cgl9Cn0K"},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\HttpCaller.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEuYXd0LkNvbG9yOwppbXBvcnQgamF2YS5hd3QuaW1hZ2UuQnVmZmVyZWRJbWFnZTsKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRJbnB1dFN0cmVhbTsKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLkJ5dGVBcnJheUlucHV0U3RyZWFtOwppbXBvcnQgamF2YS5pby5CeXRlQXJyYXlPdXRwdXRTdHJlYW07CmltcG9ydCBqYXZhLmlvLkRhdGFPdXRwdXRTdHJlYW07CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKaW1wb3J0IGphdmEuaW8uVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEubmV0Lkh0dHBVUkxDb25uZWN0aW9uOwppbXBvcnQgamF2YS5uZXQuVVJJU3ludGF4RXhjZXB0aW9uOwppbXBvcnQgamF2YS5uZXQuVVJMOwppbXBvcnQgamF2YS5uZXQuVW5rbm93bkhvc3RFeGNlcHRpb247CmltcG9ydCBqYXZhLnNlY3VyaXR5LktleU1hbmFnZW1lbnRFeGNlcHRpb247CmltcG9ydCBqYXZhLnNlY3VyaXR5LktleVN0b3JlRXhjZXB0aW9uOwppbXBvcnQgamF2YS5zZWN1cml0eS5Ob1N1Y2hBbGdvcml0aG1FeGNlcHRpb247CmltcG9ydCBqYXZhLnRleHQuRGVjaW1hbEZvcm1hdDsKaW1wb3J0IGphdmEudXRpbC5JdGVyYXRvcjsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLk1hcDsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47CmltcG9ydCBqYXZhLnV0aWwuemlwLkdaSVBJbnB1dFN0cmVhbTsKCmltcG9ydCBqYXZheC5pbWFnZWlvLklJT0ltYWdlOwppbXBvcnQgamF2YXguaW1hZ2Vpby5JbWFnZUlPOwppbXBvcnQgamF2YXguaW1hZ2Vpby5JbWFnZVdyaXRlUGFyYW07CmltcG9ydCBqYXZheC5pbWFnZWlvLkltYWdlV3JpdGVyOwppbXBvcnQgamF2YXguaW1hZ2Vpby5zdHJlYW0uSW1hZ2VPdXRwdXRTdHJlYW07CmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0OwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdDsKCmltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMuY29kZWMuYmluYXJ5LkJhc2U2NDsKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5KU09OQXJyYXk7CmltcG9ydCBvcmcuanNvbi5zaW1wbGUuSlNPTk9iamVjdDsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXI7CmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyRmFjdG9yeTsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5hbm5vdGF0aW9uLkF1dG93aXJlZDsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc3RlcmVvdHlwZS5Db21wb25lbnQ7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuc2VydmxldC5TZXJ2bGV0VXRpbDsKCkBDb21wb25lbnQKcHVibGljIGNsYXNzIEh0dHBDYWxsZXIgaW1wbGVtZW50cyBJSHR0cENhbGxlciB7CgoJQEF1dG93aXJlZAoJU2VydmxldENvbnRleHQgc2VydmxldENvbnRleHQ7CgoJQEF1dG93aXJlZAoJRGF0YVNldHRpbmdQcm9wZXJ0aWVzIHByb3BlcnRpZXM7CgoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBMb2dnZXIgc0xvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJSRVFVRVNUIik7CgoJQE92ZXJyaWRlCglAZWR1LnVtZC5jcy5maW5kYnVncy5hbm5vdGF0aW9ucy5TdXBwcmVzc1dhcm5pbmdzKHZhbHVlID0gIkRNX0RFRkFVTFRfRU5DT0RJTkciKQoJcHVibGljIEh0dHBSZXN1bHQgcnVuUmVxdWVzdChTdHJpbmcgdHlwZSwgU3RyaW5nIG1ldGhvZFR5cGUsIFVSTCB1cmwsCgkJCUxpc3Q8TWFwPFN0cmluZywgU3RyaW5nPj4gaGVhZGVycywgU3RyaW5nIHJlcXVlc3RCb2R5LAoJCQlTdHJpbmcgc3NsQnlQYXNzT3B0aW9uLCBpbnQgY29ublRpbWVPdXQsIGludCByZWFkVGltZW91dCxIdHRwU2VydmxldFJlcXVlc3QgcmVxKQoJCQl0aHJvd3MgS2V5TWFuYWdlbWVudEV4Y2VwdGlvbiwgTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uLAoJCQlLZXlTdG9yZUV4Y2VwdGlvbiwgVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbiwgSU9FeGNlcHRpb24sCgkJCVVua25vd25Ib3N0RXhjZXB0aW9uLCBVUklTeW50YXhFeGNlcHRpb24gewoKCQlTdHJpbmdCdWZmZXIgcmVzcG9uc2UgPSBuZXcgU3RyaW5nQnVmZmVyKCk7CgkJSHR0cFJlc3VsdCBodHRwUmVzdWx0ID0gbmV3IEh0dHBSZXN1bHQoKTsKCQlib29sZWFuIGd6aXAgPSBmYWxzZTsKCQlmaW5hbCBsb25nIHN0YXJ0TmFubyA9IFN5c3RlbS5uYW5vVGltZSgpOwoJCXRyeSB7CgkJCVVSTCBlbmNvZGVkVXJsID0gbmV3IFVSTChVdGlsaXR5LmVuY29kZVVybCh1cmwudG9TdHJpbmcoKSkpOwoJCQlIdHRwVVJMQ29ubmVjdGlvbiBjb24gPSAoSHR0cFVSTENvbm5lY3Rpb24pIGVuY29kZWRVcmwub3BlbkNvbm5lY3Rpb24oKTsKCQkJVHJ1c3RNb2RpZmllci5yZWxheEhvc3RDaGVja2luZyhjb24sIHNzbEJ5UGFzc09wdGlvbik7CgoJCQkvLyBjb25uZWN0aW9uIHRpbWVvdXQgNXMKCQkJY29uLnNldENvbm5lY3RUaW1lb3V0KGNvbm5UaW1lT3V0KTsKCgkJCS8vIHJlYWQgdGltZW91dCAxMHMKCQkJY29uLnNldFJlYWRUaW1lb3V0KHJlYWRUaW1lb3V0KmdldFF1ZXJ5Q29zdChyZXEpKTsKCgkJCW1ldGhvZFR5cGUgPSBtZXRob2RUeXBlLnRvVXBwZXJDYXNlKCk7CgkJCWNvbi5zZXRSZXF1ZXN0TWV0aG9kKG1ldGhvZFR5cGUpOwoKCQkJc0xvZy5kZWJ1ZygiUGVyZm9ybWluZyAne30nIHRvICd7fSciLCBtZXRob2RUeXBlLAoJCQkJCVNlcnZsZXRVdGlsLmZpbHRlclVybCh1cmwudG9TdHJpbmcoKSkpOwoKCQkJLy8gR2V0IGhlYWRlcnMgJiBzZXQgcmVxdWVzdCBwcm9wZXJ0eQoJCQlmb3IgKGludCBpID0gMDsgaSA8IGhlYWRlcnMuc2l6ZSgpOyBpKyspIHsKCQkJCU1hcDxTdHJpbmcsIFN0cmluZz4gaGVhZGVyID0gaGVhZGVycy5nZXQoaSk7CgkJCQljb24uc2V0UmVxdWVzdFByb3BlcnR5KGhlYWRlci5nZXQoImhlYWRlcktleSIpLnRvU3RyaW5nKCksCgkJCQkJCWhlYWRlci5nZXQoImhlYWRlclZhbHVlIikudG9TdHJpbmcoKSk7CgkJCQlzTG9nLmRlYnVnKCJTZXR0aW5nIEhlYWRlciAne30nIHdpdGggdmFsdWUgJ3t9JyIsCgkJCQkJCWhlYWRlci5nZXQoImhlYWRlcktleSIpLnRvU3RyaW5nKCksIFNlcnZsZXRVdGlsCgkJCQkJCQkJLmZpbHRlckhlYWRlclZhbHVlKGhlYWRlci5nZXQoImhlYWRlcktleSIpCgkJCQkJCQkJCQkudG9TdHJpbmcoKSwgaGVhZGVyLmdldCgiaGVhZGVyVmFsdWUiKQoJCQkJCQkJCQkJLnRvU3RyaW5nKCkpKTsKCQkJfQoKCQkJaWYgKGNvbi5nZXRSZXF1ZXN0UHJvcGVydHkoIkFjY2VwdC1FbmNvZGluZyIpID09IG51bGwpIHsKCQkJCWNvbi5zZXRSZXF1ZXN0UHJvcGVydHkoIkFjY2VwdC1FbmNvZGluZyIsICJnemlwIik7CgkJCX0KCgkJCWlmIChyZXF1ZXN0Qm9keSAhPSBudWxsICYmICFyZXF1ZXN0Qm9keS5lcXVhbHMoIiIpKSB7CgkJCQljb24uc2V0RG9PdXRwdXQodHJ1ZSk7CgkJCQlEYXRhT3V0cHV0U3RyZWFtIHdyID0gbmV3IERhdGFPdXRwdXRTdHJlYW0oCgkJCQkJCWNvbi5nZXRPdXRwdXRTdHJlYW0oKSk7CgkJCQl3ci53cml0ZShVdGlsaXR5LnRvVXRmOEJ5dGVzKHJlcXVlc3RCb2R5KSk7CgkJCQl3ci5mbHVzaCgpOwoJCQkJd3IuY2xvc2UoKTsKCgkJCX0KCgkJCS8vIHB1c2ggcmVzcG9uc2UKCQkJQnVmZmVyZWRSZWFkZXIgaW4gPSBudWxsOwoJCQlTdHJpbmcgaW5wdXRMaW5lOwoKCQkJTGlzdDxTdHJpbmc+IGNvbnRlbnRFbmNvZGluZyA9IGNvbi5nZXRIZWFkZXJGaWVsZHMoKS5nZXQoCgkJCQkJIkNvbnRlbnQtRW5jb2RpbmciKTsKCQkJaWYgKGNvbnRlbnRFbmNvZGluZyAhPSBudWxsKSB7CgkJCQlmb3IgKFN0cmluZyB2YWwgOiBjb250ZW50RW5jb2RpbmcpIHsKCQkJCQlpZiAoImd6aXAiLmVxdWFsc0lnbm9yZUNhc2UodmFsKSkgewoJCQkJCQlzTG9nLmRlYnVnKCJHemlwIGVuYWJsZWQgcmVzcG9uc2UiKTsKCQkJCQkJZ3ppcCA9IHRydWU7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJc0xvZy5kZWJ1ZygiUmVzcG9uc2U6ICd7fSB7fScgd2l0aCBoZWFkZXJzICd7fSciLAoJCQkJCWNvbi5nZXRSZXNwb25zZUNvZGUoKSwgY29uLmdldFJlc3BvbnNlTWVzc2FnZSgpLAoJCQkJCVNlcnZsZXRVdGlsLmJ1aWxkSGVhZGVyc0ZvckxvZyhjb24uZ2V0SGVhZGVyRmllbGRzKCkpKTsKCgkJCWlmIChjb24uZ2V0UmVzcG9uc2VDb2RlKCkgIT0gMjAwICYmIGNvbi5nZXRSZXNwb25zZUNvZGUoKSAhPSAyMDEpIHsKCQkJCWlmIChjb24uZ2V0RXJyb3JTdHJlYW0oKSAhPSBudWxsKSB7CgkJCQkJaWYgKGd6aXApIHsKCQkJCQkJaW4gPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKAoJCQkJCQkJCW5ldyBHWklQSW5wdXRTdHJlYW0oY29uLmdldEVycm9yU3RyZWFtKCkpLAoJCQkJCQkJCSJVVEYtOCIpKTsKCQkJCQl9IGVsc2UgewoJCQkJCQlpbiA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoCgkJCQkJCQkJY29uLmdldEVycm9yU3RyZWFtKCksICJVVEYtOCIpKTsKCQkJCQl9CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlTdHJpbmdbXSB1cmxQYXJ0cyA9IHVybC50b1N0cmluZygpLnNwbGl0KCJcXC4iKTsKCQkJCWlmICh1cmxQYXJ0cy5sZW5ndGggPiAxKSB7CgkJCQkJU3RyaW5nIGV4dCA9IHVybFBhcnRzW3VybFBhcnRzLmxlbmd0aCAtIDFdOwoJCQkJCWlmIChleHQuZXF1YWxzSWdub3JlQ2FzZSgicG5nIikKCQkJCQkJCXx8IGV4dC5lcXVhbHNJZ25vcmVDYXNlKCJqcGciKQoJCQkJCQkJfHwgZXh0LmVxdWFsc0lnbm9yZUNhc2UoImpwZWciKQoJCQkJCQkJfHwgZXh0LmVxdWFsc0lnbm9yZUNhc2UoImdpZiIpKSB7CgkJCQkJCUJ1ZmZlcmVkSW1hZ2UgaW1CdWZmOwoJCQkJCQlpZiAoZ3ppcCkgewoJCQkJCQkJaW1CdWZmID0gSW1hZ2VJTy5yZWFkKG5ldyBHWklQSW5wdXRTdHJlYW0oY29uCgkJCQkJCQkJCS5nZXRJbnB1dFN0cmVhbSgpKSk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlCdWZmZXJlZElucHV0U3RyZWFtIGJmcyA9IG5ldyBCdWZmZXJlZElucHV0U3RyZWFtKGNvbi5nZXRJbnB1dFN0cmVhbSgpKTsJCQoJCQkJCQkJaW1CdWZmID0gSW1hZ2VJTy5yZWFkKGJmcyk7CgkJCQkJCX0KCQkJCQkJQnVmZmVyZWRJbWFnZSBuZXdJbWFnZSA9IG5ldyBCdWZmZXJlZEltYWdlKAoJCQkJCQkJCWltQnVmZi5nZXRXaWR0aCgpLCBpbUJ1ZmYuZ2V0SGVpZ2h0KCksCgkJCQkJCQkJQnVmZmVyZWRJbWFnZS5UWVBFXzNCWVRFX0JHUik7CgoJCQkJCQkvLyBjb252ZXJ0aW5nIGltYWdlIHRvIGdyZXlTY2FsZQoJCQkJCQlpbnQgd2lkdGggPSBpbUJ1ZmYuZ2V0V2lkdGgoKTsKCQkJCQkJaW50IGhlaWdodCA9IGltQnVmZi5nZXRIZWlnaHQoKTsKCQkJCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBoZWlnaHQ7IGkrKykgewoJCQkJCQkJZm9yIChpbnQgaiA9IDA7IGogPCB3aWR0aDsgaisrKSB7CgkJCQkJCQkJQ29sb3IgYyA9IG5ldyBDb2xvcihpbUJ1ZmYuZ2V0UkdCKGosIGkpKTsKCQkJCQkJCQlpbnQgcmVkID0gKGludCkgKGMuZ2V0UmVkKCkgKiAwLjIxKTsKCQkJCQkJCQlpbnQgZ3JlZW4gPSAoaW50KSAoYy5nZXRHcmVlbigpICogMC43Mik7CgkJCQkJCQkJaW50IGJsdWUgPSAoaW50KSAoYy5nZXRCbHVlKCkgKiAwLjA3KTsKCQkJCQkJCQlpbnQgc3VtID0gcmVkICsgZ3JlZW4gKyBibHVlOwoJCQkJCQkJCUNvbG9yIG5ld0NvbG9yID0gbmV3IENvbG9yKHN1bSwgc3VtLCBzdW0pOwoJCQkJCQkJCW5ld0ltYWdlLnNldFJHQihqLCBpLCBuZXdDb2xvci5nZXRSR0IoKSk7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCUJ5dGVBcnJheU91dHB1dFN0cmVhbSBvdXQgPSBuZXcgQnl0ZUFycmF5T3V0cHV0U3RyZWFtKCk7CgkJCQkJCUltYWdlSU8ud3JpdGUobmV3SW1hZ2UsICJqcGciLCBvdXQpOwoJCQkJCQlieXRlW10gYnl0ZXMgPSBvdXQudG9CeXRlQXJyYXkoKTsKCgkJCQkJCWJ5dGVbXSBlbmNvZGVkQnl0ZXMgPSBCYXNlNjQuZW5jb2RlQmFzZTY0KGJ5dGVzKTsKCQkJCQkJU3RyaW5nIGJhc2U2NFNyYz1uZXcgU3RyaW5nKGVuY29kZWRCeXRlcyk7CgkJCQkJCWludCBpbWFnZVNpemUgPSgoYmFzZTY0U3JjLmxlbmd0aCgpKjMpLzQpLzEwMjQ7CgkJCQkJCWludCBpbml0aWFsSW1hZ2VTaXplID0gaW1hZ2VTaXplOwoJCQkJCQlpbnQgbWF4SW1hZ2VTaXplID0gSW50ZWdlci5wYXJzZUludChwcm9wZXJ0aWVzLmdldFZhbHVlKCJSZWR1Y2VkX0ltYWdlX1NpemUiKSk7CgkJCQkJCWZsb2F0IHF1YWxpdHk9MC45ZjsKCQkJCQkJaWYoIShpbWFnZVNpemU8PW1heEltYWdlU2l6ZSkpewoJCQkJCQkJLy9UaGlzIG1lYW5zIHRoYXQgaW1hZ2Ugc2l6ZSBpcyBncmVhdGVyIGFuZCBuZWVkcyB0byBiZSByZWR1Y2VkLgoJCQkJCQkJc0xvZy5kZWJ1ZygiSW1hZ2Ugc2l6ZSBpcyBncmVhdGVyIHRoYW4gIittYXhJbWFnZVNpemUrIiAsIGNvbXByZXNzaW5nIGltYWdlLiIpOwoJCQkJCQkJd2hpbGUoIShpbWFnZVNpemU8bWF4SW1hZ2VTaXplKSl7CgkJCQkJCQkJIGJhc2U2NFNyYz0gY29tcHJlc3MoYmFzZTY0U3JjLCBxdWFsaXR5KTsKCQkJCQkJCQkgaW1hZ2VTaXplID0oKGJhc2U2NFNyYy5sZW5ndGgoKSozKS80KS8xMDI0OwoJCQkJCQkJCXF1YWxpdHk9cXVhbGl0eS0wLjFmOwoJCQkJCQkJCURlY2ltYWxGb3JtYXQgZGYgPSBuZXcgRGVjaW1hbEZvcm1hdCgiIy4wIik7CgkJCQkJCQkJcXVhbGl0eT1GbG9hdC5wYXJzZUZsb2F0KGRmLmZvcm1hdChxdWFsaXR5KSk7CgkJCQkJCQkJaWYocXVhbGl0eTw9MC4xKXsKCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXNMb2cuZGVidWcoIkluaXRpYWwgaW1hZ2Ugc2l6ZSB3YXMgOiAiK2luaXRpYWxJbWFnZVNpemUgKyIgRmluYWwgSW1hZ2Ugc2l6ZSBpcyA6ICIraW1hZ2VTaXplKyJVcmwgaXMgOiAiK3VybCsicXVhbGl0eSBpcyA6IitxdWFsaXR5KTsKCQkJCQkJU3RyaW5nIHNyYyA9ICJkYXRhOmltYWdlLyIrdXJsUGFydHNbdXJsUGFydHMubGVuZ3RoLTFdKyI7YmFzZTY0LCIgKyBuZXcgU3RyaW5nKGJhc2U2NFNyYyk7CgkJCQkJCUpTT05PYmplY3Qgam9SZXN1bHQgPSBuZXcgSlNPTk9iamVjdCgpOwoJCQkJCQlqb1Jlc3VsdC5wdXQoIkltYWdlIiwgc3JjKTsKCQkJCQkJb3V0LmNsb3NlKCk7CgkJCQkJCWh0dHBSZXN1bHQuc2V0UmVzcG9uc2VDb2RlKGNvbi5nZXRSZXNwb25zZUNvZGUoKSk7CgkJCQkJCWh0dHBSZXN1bHQuc2V0UmVzcG9uc2VIZWFkZXIoY29uLmdldEhlYWRlckZpZWxkcygpKTsKCQkJCQkJaHR0cFJlc3VsdC5zZXRSZXNwb25zZUJvZHkoam9SZXN1bHQudG9TdHJpbmcoKSk7CgkJCQkJCWh0dHBSZXN1bHQuc2V0UmVzcG9uc2VNc2coY29uLmdldFJlc3BvbnNlTWVzc2FnZSgpKTsKCQkJCQkJcmV0dXJuIGh0dHBSZXN1bHQ7CgkJCQkJfQoJCQkJfQoKCQkJCWlmIChnemlwKSB7CgkJCQkJaW4gPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKAoJCQkJCQkJbmV3IEdaSVBJbnB1dFN0cmVhbShjb24uZ2V0SW5wdXRTdHJlYW0oKSksICJVVEYtOCIpKTsKCQkJCX0gZWxzZSB7CgkJCQkJaW4gPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKAoJCQkJCQkJY29uLmdldElucHV0U3RyZWFtKCksICJVVEYtOCIpKTsKCQkJCX0KCQkJfQoJCQlpZiAoaW4gIT0gbnVsbCkgewoJCQkJd2hpbGUgKChpbnB1dExpbmUgPSBpbi5yZWFkTGluZSgpKSAhPSBudWxsKSB7CgkJCQkJcmVzcG9uc2UuYXBwZW5kKGlucHV0TGluZSk7CgkJCQl9CgkJCQlpbi5jbG9zZSgpOwoJCQl9CgoJCQlodHRwUmVzdWx0LnNldFJlc3BvbnNlQ29kZShjb24uZ2V0UmVzcG9uc2VDb2RlKCkpOwoJCQlodHRwUmVzdWx0LnNldFJlc3BvbnNlSGVhZGVyKGNvbi5nZXRIZWFkZXJGaWVsZHMoKSk7CgkJCWh0dHBSZXN1bHQuc2V0UmVzcG9uc2VCb2R5KHJlc3BvbnNlLnRvU3RyaW5nKCkpOwoJCQlodHRwUmVzdWx0LnNldFJlc3BvbnNlTXNnKGNvbi5nZXRSZXNwb25zZU1lc3NhZ2UoKSk7CgoJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CgkJCXNMb2cuZXJyb3IoIkZhaWxlZCB0byByZWNlaXZlZCBIVFRQIHJlc3BvbnNlIGFmdGVyIHRpbWVvdXQiLCBlKTsKCgkJCQoKCQkJaHR0cFJlc3VsdC5zZXRUaW1lb3V0KHRydWUpOwoJCQlodHRwUmVzdWx0LnNldFJlc3BvbnNlQ29kZSg1MDApOwoJCQlodHRwUmVzdWx0LnNldFJlc3BvbnNlTXNnKCJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IgVGltZW91dCIpOwoJCQlyZXR1cm4gaHR0cFJlc3VsdDsKCQl9IAoKCQkKCQlyZXR1cm4gaHR0cFJlc3VsdDsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgY29tcHJlc3MoU3RyaW5nIGltYWdlU3RyaW5nLCBmbG9hdCBxdWFsaXR5KSB0aHJvd3MgSU9FeGNlcHRpb257CgkJYnl0ZVtdIGltYWdlQnl0ZT1CYXNlNjQuZGVjb2RlQmFzZTY0KGltYWdlU3RyaW5nKTsKCQlCeXRlQXJyYXlJbnB1dFN0cmVhbSBiaXMgPSBuZXcgQnl0ZUFycmF5SW5wdXRTdHJlYW0oaW1hZ2VCeXRlKTsKCQlCdWZmZXJlZEltYWdlIGltYWdlID0gSW1hZ2VJTy5yZWFkKGJpcyk7CgkgICAgYmlzLmNsb3NlKCk7CgkgICAgCgkgICAgLy8gR2V0IGEgSW1hZ2VXcml0ZXIgZm9yIGdpdmVuIGV4dGVuc2lvbiBmb3JtYXQuCgkJCgkgICAgSXRlcmF0b3I8SW1hZ2VXcml0ZXI+IHdyaXRlcnMgPSBJbWFnZUlPLmdldEltYWdlV3JpdGVyc0J5U3VmZml4KCJqcGciKTsKCSAgICBpZiAoIXdyaXRlcnMuaGFzTmV4dCgpKSB0aHJvdyBuZXcgSWxsZWdhbFN0YXRlRXhjZXB0aW9uKCJObyB3cml0ZXJzIGZvdW5kIik7CgkgICAgCgkgICAgSW1hZ2VXcml0ZXIgd3JpdGVyID0gKEltYWdlV3JpdGVyKSB3cml0ZXJzLm5leHQoKTsKCSAgICAvLyBDcmVhdGUgdGhlIEltYWdlV3JpdGVQYXJhbSB0byBjb21wcmVzcyB0aGUgaW1hZ2UuCgkgICAgSW1hZ2VXcml0ZVBhcmFtIHBhcmFtID0gd3JpdGVyLmdldERlZmF1bHRXcml0ZVBhcmFtKCk7CgkgICAgcGFyYW0uc2V0Q29tcHJlc3Npb25Nb2RlKEltYWdlV3JpdGVQYXJhbS5NT0RFX0VYUExJQ0lUKTsKCSAgICBwYXJhbS5zZXRDb21wcmVzc2lvblF1YWxpdHkocXVhbGl0eSk7CgkgICAgCgkgICAgLy8gVGhlIG91dHB1dCB3aWxsIGJlIGEgQnl0ZUFycmF5T3V0cHV0U3RyZWFtIChpbiBtZW1vcnkpCgkgICAgQnl0ZUFycmF5T3V0cHV0U3RyZWFtIGJvcyA9IG5ldyBCeXRlQXJyYXlPdXRwdXRTdHJlYW0oMzI3NjgpOwoJICAgIEltYWdlT3V0cHV0U3RyZWFtIGlvcyA9IEltYWdlSU8uY3JlYXRlSW1hZ2VPdXRwdXRTdHJlYW0oYm9zKTsKCSAgICB3cml0ZXIuc2V0T3V0cHV0KGlvcyk7CgkgICAgd3JpdGVyLndyaXRlKG51bGwsIG5ldyBJSU9JbWFnZShpbWFnZSwgbnVsbCwgbnVsbCksIHBhcmFtKTsKCSAgICBpb3MuZmx1c2goKTsgLy8gb3RoZXJ3aXNlIHRoZSBidWZmZXIgc2l6ZSB3aWxsIGJlIHplcm8hCgkgICAgYnl0ZVtdIGVuY29kZWRCeXRlcyA9IEJhc2U2NC5lbmNvZGVCYXNlNjQoIGJvcy50b0J5dGVBcnJheSgpKTsKCSAgICAKCSAgICByZXR1cm4gbmV3IFN0cmluZyhlbmNvZGVkQnl0ZXMpOwoJICAgIH0KCQoJcHJpdmF0ZSBzdGF0aWMgdm9pZCBsb2dFeHRBY2Nlc3MoZmluYWwgU3RyaW5nIHR5cGUsIGZpbmFsIFVSTCB1cmwsIGZpbmFsIFN0cmluZyBtZXRob2QsIGZpbmFsIGludCByZXNwb25zZVN0YXR1cywKCQkJZmluYWwgaW50IHJlc3BvbnNlQnl0ZXMsIGZpbmFsIGxvbmcgdGFrZW5NcykgewoJCUxvZ1V0aWwubG9nRXh0QWNjZXNzKHVybC5nZXRIb3N0KCksIHR5cGUsIG1ldGhvZCwgcmVzcG9uc2VTdGF0dXMsIHJlc3BvbnNlQnl0ZXMsIHRha2VuTXMsIAoJCQkJU2VydmxldFV0aWwuZmlsdGVyVXJsKHVybC5nZXRQYXRoKCkgKyAodXJsLmdldFF1ZXJ5KCkgPT0gbnVsbCA/ICIiIDogIj8iICsgdXJsLmdldFF1ZXJ5KCkpKSk7Cgl9CgkKCXByaXZhdGUgaW50IGdldFF1ZXJ5Q29zdChIdHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCl7CgkJaW50IG11bHRpcGxpZXIgPSAxOwoJCWlmKHJlcXVlc3QgIT0gbnVsbCl7CgkJCVN0cmluZyByZXFBY3Rpb24gPSByZXF1ZXN0LmdldE1ldGhvZCgpOwoJCQlmaW5hbCBTdHJpbmcgdXJsID0gcmVxdWVzdC5nZXRSZXF1ZXN0VVJJKCkudG9TdHJpbmcoKTsKCQkJU3RyaW5nIGRvdWJsZVJlYWRUaW1lb3V0ID0gcHJvcGVydGllcy5nZXRWYWx1ZSgiZG91YmxlUmVhZFRpbWVvdXQiKTsKCQkJU3RyaW5nIHRyaXBsZVJlYWRUaW1lb3V0ID0gcHJvcGVydGllcy5nZXRWYWx1ZSgidHJpcGxlUmVhZFRpbWVvdXQiKTsKCQkJCgkJCWlmKCJHRVQiLmVxdWFscyhyZXFBY3Rpb24udG9VcHBlckNhc2UoKSkgJiYgKHVybC5jb250YWlucygiL21ldHJpY3MiKXx8IHVybC5jb250YWlucygiL3RvcHMiKSkpewoJCQkJTG9uZyBzdGFydFRpbWUgPSBVdGlsaXR5LmZvcm1hdERhdGUocmVxdWVzdC5nZXRQYXJhbWV0ZXIoInN0YXJ0VGltZSIpKTsKCQkJCUxvbmcgZW5kVGltZSA9IFV0aWxpdHkuZm9ybWF0RGF0ZShyZXF1ZXN0LmdldFBhcmFtZXRlcigiZW5kVGltZSIpKTsKCQkJCUxvbmcgZGlmZiA9IChlbmRUaW1lLXN0YXJ0VGltZSkvKDM2MDAwMDAqMjQpOyAvLyBkaWZmIGluIGRheXMKCQkJCWlmKGRpZmYgPj0xICYmIGRpZmY8NykKCQkJCQltdWx0aXBsaWVyID0gMjsKCQkJCWVsc2UgaWYoZGlmZiA+PTcpCgkJCQkJbXVsdGlwbGllcj0zOwoJCQl9ZWxzZSB7CgkJCQlpZihtYXRjaFBhdHRlcm4odXJsLCBkb3VibGVSZWFkVGltZW91dCwgcmVxQWN0aW9uKSkKCQkJCQltdWx0aXBsaWVyPTI7CgkJCQllbHNlIGlmKG1hdGNoUGF0dGVybih1cmwsIHRyaXBsZVJlYWRUaW1lb3V0LCByZXFBY3Rpb24pKQoJCQkJCW11bHRpcGxpZXI9MzsKCQkJfQoJCX0KCgkJcmV0dXJuIG11bHRpcGxpZXI7Cgl9CgoJcHJpdmF0ZSBCb29sZWFuIG1hdGNoUGF0dGVybihmaW5hbCBTdHJpbmcgdXJsLCBTdHJpbmcgbXVsdGlwbGllclN0ciwgU3RyaW5nIG1ldGhvZCkgewoJCUpTT05BcnJheSBqc29uQXJyID0gKEpTT05BcnJheSlVdGlsaXR5LnBhcnNlKG11bHRpcGxpZXJTdHIpOwoJCWZvcihpbnQgaSA9MDsgaSA8anNvbkFyci5zaXplKCk7IGkrKyl7CgkJCUpTT05PYmplY3Qgb2JqID0gKEpTT05PYmplY3QpIGpzb25BcnIuZ2V0KGkpOwoJCQlTdHJpbmcgcmVnZXggPSBvYmouZ2V0KCJwYXRoIikudG9TdHJpbmcoKTsKCQkJU3RyaW5nIG1ldGhvZFN0ciA9IG9iai5nZXQoIm1ldGhvZCIpLnRvU3RyaW5nKCk7CgkJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShyZWdleCk7IAoJCQlNYXRjaGVyIG1hdGNoID0gcGF0dGVybi5tYXRjaGVyKHVybCk7CgkJCWJvb2xlYW4gZm91bmQ9IG1hdGNoLmZpbmQoKTsKCQkJaWYoIGZvdW5kICYmIG1ldGhvZFN0ci5jb250YWlucyhtZXRob2QpKXsKCQkJCXJldHVybiAoZm91bmQgJiYgbWV0aG9kU3RyLmNvbnRhaW5zKG1ldGhvZCkpOwoJCQl9CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KfQo="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\HttpResult.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLk1hcDsKCnB1YmxpYyBjbGFzcyBIdHRwUmVzdWx0IHsKCglwcml2YXRlIGludCByZXNwb25zZUNvZGU7Cglwcml2YXRlIFN0cmluZyByZXNwb25zZU1zZzsKCXByaXZhdGUgTWFwPFN0cmluZywgTGlzdDxTdHJpbmc+PiByZXNwb25zZUhlYWRlcjsKCXByaXZhdGUgU3RyaW5nIHJlc3BvbnNlQm9keTsKCXByaXZhdGUgYm9vbGVhbiBpc1RpbWVvdXQ7CgkKCQoJCglwdWJsaWMgaW50IGdldFJlc3BvbnNlQ29kZSgpIHsKCQlyZXR1cm4gcmVzcG9uc2VDb2RlOwoJfQoJcHVibGljIHZvaWQgc2V0UmVzcG9uc2VDb2RlKGludCByZXNwb25zZUNvZGUpIHsKCQl0aGlzLnJlc3BvbnNlQ29kZSA9IHJlc3BvbnNlQ29kZTsKCX0KCXB1YmxpYyBTdHJpbmcgZ2V0UmVzcG9uc2VNc2coKSB7CgkJcmV0dXJuIHJlc3BvbnNlTXNnOwoJfQoJcHVibGljIHZvaWQgc2V0UmVzcG9uc2VNc2coU3RyaW5nIHJlc3BvbnNlTXNnKSB7CgkJdGhpcy5yZXNwb25zZU1zZyA9IHJlc3BvbnNlTXNnOwoJfQoJcHVibGljIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gZ2V0UmVzcG9uc2VIZWFkZXIoKSB7CgkJcmV0dXJuIHJlc3BvbnNlSGVhZGVyOwoJfQoJcHVibGljIHZvaWQgc2V0UmVzcG9uc2VIZWFkZXIoTWFwPFN0cmluZywgTGlzdDxTdHJpbmc+PiByZXNwb25zZUhlYWRlcikgewoJCXRoaXMucmVzcG9uc2VIZWFkZXIgPSByZXNwb25zZUhlYWRlcjsKCX0KCXB1YmxpYyBTdHJpbmcgZ2V0UmVzcG9uc2VCb2R5KCkgewoJCXJldHVybiByZXNwb25zZUJvZHk7Cgl9CglwdWJsaWMgdm9pZCBzZXRSZXNwb25zZUJvZHkoU3RyaW5nIHJlc3BvbnNlQm9keSkgewoJCXRoaXMucmVzcG9uc2VCb2R5ID0gcmVzcG9uc2VCb2R5OwoJfQoJcHVibGljIGJvb2xlYW4gaXNUaW1lb3V0KCkgewoJCXJldHVybiBpc1RpbWVvdXQ7Cgl9CglwdWJsaWMgdm9pZCBzZXRUaW1lb3V0KGJvb2xlYW4gaXNUaW1lb3V0KSB7CgkJdGhpcy5pc1RpbWVvdXQgPSBpc1RpbWVvdXQ7Cgl9CgkKCQoJCn0K"},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\IHttpCaller.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLmlvLlVuc3VwcG9ydGVkRW5jb2RpbmdFeGNlcHRpb247CmltcG9ydCBqYXZhLm5ldC5VUklTeW50YXhFeGNlcHRpb247CmltcG9ydCBqYXZhLm5ldC5VUkw7CmltcG9ydCBqYXZhLnNlY3VyaXR5LktleU1hbmFnZW1lbnRFeGNlcHRpb247CmltcG9ydCBqYXZhLnNlY3VyaXR5LktleVN0b3JlRXhjZXB0aW9uOwppbXBvcnQgamF2YS5zZWN1cml0eS5Ob1N1Y2hBbGdvcml0aG1FeGNlcHRpb247CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5NYXA7CgppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdDsKCnB1YmxpYyBpbnRlcmZhY2UgSUh0dHBDYWxsZXIgewoKCgkgcHVibGljIEh0dHBSZXN1bHQgcnVuUmVxdWVzdChTdHJpbmcgdHlwZSwgU3RyaW5nIG1ldGhvZFR5cGUsIFVSTCB1cmwsIExpc3Q8TWFwPFN0cmluZywgU3RyaW5nPj4gaGVhZGVycywgU3RyaW5nIHJlcXVlc3RCb2R5LFN0cmluZyBzc2xCeVBhc3NPcHRpb24sCgkJCSBpbnQgY29ublRpbWVPdXQsIGludCByZWFkVGltZW91dCwgSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcSkKICAgICAgICAgICAgIHRocm93cyBLZXlNYW5hZ2VtZW50RXhjZXB0aW9uLCBOb1N1Y2hBbGdvcml0aG1FeGNlcHRpb24sIEtleVN0b3JlRXhjZXB0aW9uLCBVbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uLCBJT0V4Y2VwdGlvbiwgVVJJU3ludGF4RXhjZXB0aW9uOwp9Cg=="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\LogUtil.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEuYmVhbnMuUHJvcGVydHlDaGFuZ2VFdmVudDsKaW1wb3J0IGphdmEuYmVhbnMuUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcjsKaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uOwppbXBvcnQgamF2YS51dGlsLk1hcDsKCmltcG9ydCBvcmcuYXBhY2hlLmxvZ2dpbmcubG9nNGouTG9nTWFuYWdlcjsKaW1wb3J0IG9yZy5hcGFjaGUubG9nZ2luZy5sb2c0ai5jb3JlLkFwcGVuZGVyOwppbXBvcnQgb3JnLmFwYWNoZS5sb2dnaW5nLmxvZzRqLmNvcmUuTG9nZ2VyQ29udGV4dDsKaW1wb3J0IG9yZy5hcGFjaGUubG9nZ2luZy5sb2c0ai5jb3JlLmFwcGVuZGVyLlJvbGxpbmdGaWxlQXBwZW5kZXI7CmltcG9ydCBvcmcuYXBhY2hlLmxvZ2dpbmcubG9nNGouY29yZS5hcHBlbmRlci5yb2xsaW5nLlJvbGxpbmdGaWxlTWFuYWdlcjsKaW1wb3J0IG9yZy5hcGFjaGUubG9nZ2luZy5sb2c0ai5jb3JlLmNvbmZpZy5Db25maWd1cmF0aW9uOwppbXBvcnQgb3JnLmFwYWNoZS5sb2dnaW5nLmxvZzRqLmNvcmUuY29uZmlnLkxvZ2dlckNvbmZpZzsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXI7CmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyRmFjdG9yeTsKCnB1YmxpYyBjbGFzcyBMb2dVdGlsIHsKCXByaXZhdGUgc3RhdGljIGZpbmFsIGludCBMT0dfTElORV9MRU5HVEggPSA4MTkyOwoJCglwcm90ZWN0ZWQgZmluYWwgc3RhdGljIExvZ2dlciBsTG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoIkxPR0dJTkciKTsKCXByb3RlY3RlZCBmaW5hbCBzdGF0aWMgTG9nZ2VyIGVhTG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoIkVYVC1BQ0NFU1MiKTsKCglwdWJsaWMgc3RhdGljIFN0cmluZyBzdGlwTmV3bGluZXMoZmluYWwgU3RyaW5nIHZhbHVlKSB7CgkJcmV0dXJuIHZhbHVlLnJlcGxhY2UoIlxuIiwgIiAiKS5yZXBsYWNlKCJcciIsICIgIik7Cgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIHJlZ2lzdGVyRm9yTG9nZ2luZ0NvbmZpZ1VwZGF0ZXNBbmRMb2coKSB7CgkJLy8gcmVnaXN0ZXIgZm9yIGNvbmZpZ3VyYXRpb24gY2hhbmdlcwoJCXRyeSB7CgkJCS8vIGltcG9ydGFudCB0byBnZXQgdGhlIGNvcmUgdmVyc2lvbiBvZiBsb2dnZXIgY29udGV4dCwgdGhpcyBpcyBzb21lIG1hZ2ljCgkJCWZpbmFsIExvZ2dlckNvbnRleHQgY29udGV4dCA9IChMb2dnZXJDb250ZXh0KSBMb2dNYW5hZ2VyLmdldENvbnRleHQoVGhyZWFkLmN1cnJlbnRUaHJlYWQoKS5nZXRDb250ZXh0Q2xhc3NMb2FkZXIoKSwKCQkJCQlmYWxzZSwgbnVsbCwgbnVsbCwgIldlYmFwcENsYXNzTG9hZGVyIik7CgkJCWNvbnRleHQuYWRkUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcihuZXcgUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcigpIHsKCgkJCQlAT3ZlcnJpZGUKCQkJCXB1YmxpYyB2b2lkIHByb3BlcnR5Q2hhbmdlKGZpbmFsIFByb3BlcnR5Q2hhbmdlRXZlbnQgZXZ0KSB7CgkJCQkJaWYgKExvZ2dlckNvbnRleHQuUFJPUEVSVFlfQ09ORklHLmVxdWFscyhldnQuZ2V0UHJvcGVydHlOYW1lKCkpKSB7CgkJCQkJCWxMb2cuaW5mbygiTG9nZ2luZyBjb25maWd1cmF0aW9uIGNoYW5nZWQiKTsKCQkJCQkJbG9nTG9nZ2luZ0NvbmZpZygpOwoJCQkJCX0KCQkJCX0KCQkJCQoJCQl9KTsKCQl9IGNhdGNoIChmaW5hbCBFeGNlcHRpb24gZSkgewoJCQlsTG9nLmVycm9yKCJGYWlsZWQgdG8gcmVnaXN0ZXIgZm9yIGxvZ2dpbmcgY29uZmlndXJhdGlvbiBjaGFuZ2VzIiwgZSk7CgkJfQoJCQoJCS8vIGxvZyB3aGF0IGlzIGNvbmZpZ3VyZWQKCQlsb2dMb2dnaW5nQ29uZmlnKCk7Cgl9CgoJLy8gdGhpcyBpcyBzcGVjaWFsIHRvIGxvZzRqMgoJcHVibGljIHN0YXRpYyB2b2lkIGxvZ0xvZ2dpbmdDb25maWcoKSB7CgkJdHJ5IHsKCQkJLy8gaW1wb3J0YW50IHRvIGdldCB0aGUgY29yZSB2ZXJzaW9uIG9mIGxvZ2dlciBjb250ZXh0CgkJCWZpbmFsIExvZ2dlckNvbnRleHQgY29udGV4dCA9IChMb2dnZXJDb250ZXh0KSBMb2dNYW5hZ2VyLmdldENvbnRleHQoKTsKCQkJZmluYWwgQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uID0gY29udGV4dC5nZXRDb25maWd1cmF0aW9uKCk7CgkJCWxMb2cuaW5mbygiTG9nZ2luZyBjb25maWd1cmF0aW9uICd7fSciLCBjb25maWd1cmF0aW9uCgkJCQkJLmdldENvbmZpZ3VyYXRpb25Tb3VyY2UoKS5nZXRMb2NhdGlvbigpKTsKCgkJCWlmIChjb25maWd1cmF0aW9uLmdldFByb3BlcnRpZXMoKSAhPSBudWxsCgkJCQkJJiYgIWNvbmZpZ3VyYXRpb24uZ2V0UHJvcGVydGllcygpLmlzRW1wdHkoKSkgewoJCQkJbExvZy5pbmZvKCIgIFByb3BlcnRpZXM6Iik7CgkJCQlmb3IgKGZpbmFsIE1hcC5FbnRyeTxTdHJpbmcsIFN0cmluZz4gZW50cnkgOiBjb25maWd1cmF0aW9uCgkJCQkJCS5nZXRQcm9wZXJ0aWVzKCkuZW50cnlTZXQoKSkgewoJCQkJCWxMb2cuaW5mbygiICAgIHt9PXt9IiwgZW50cnkuZ2V0S2V5KCksIGVudHJ5LmdldFZhbHVlKCkpOwoJCQkJfQoJCQl9CgoJCQlpZiAoY29uZmlndXJhdGlvbi5nZXRBcHBlbmRlcnMoKSAhPSBudWxsCgkJCQkJJiYgIWNvbmZpZ3VyYXRpb24uZ2V0QXBwZW5kZXJzKCkuaXNFbXB0eSgpKSB7CgkJCQlsTG9nLmluZm8oIiAgQXBwZW5kZXJzOiIpOwoJCQkJZm9yIChmaW5hbCBNYXAuRW50cnk8U3RyaW5nLCBBcHBlbmRlcj4gZW50cnkgOiBjb25maWd1cmF0aW9uCgkJCQkJCS5nZXRBcHBlbmRlcnMoKS5lbnRyeVNldCgpKSB7CgkJCQkJbExvZy5pbmZvKCIgICAge30iLCBlbnRyeS5nZXRLZXkoKSk7CgkJCQkJaWYgKGVudHJ5LmdldFZhbHVlKCkgaW5zdGFuY2VvZiBSb2xsaW5nRmlsZUFwcGVuZGVyKSB7CgkJCQkJCWZpbmFsIFJvbGxpbmdGaWxlQXBwZW5kZXIgYXBwZW5kZXIgPSAoUm9sbGluZ0ZpbGVBcHBlbmRlcillbnRyeS5nZXRWYWx1ZSgpOwoJCQkJCQlmaW5hbCBSb2xsaW5nRmlsZU1hbmFnZXIgbWFuYWdlciA9IGFwcGVuZGVyLmdldE1hbmFnZXIoKTsKCQkJCQkJbExvZy5pbmZvKCIgICAgICBGaWxlIG5hbWUgJ3t9JyIsIG1hbmFnZXIuZ2V0RmlsZU5hbWUoKSk7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlpZiAoY29uZmlndXJhdGlvbi5nZXRMb2dnZXJzKCkgIT0gbnVsbAoJCQkJCSYmICFjb25maWd1cmF0aW9uLmdldExvZ2dlcnMoKS5pc0VtcHR5KCkpIHsKCQkJCWxMb2cuaW5mbygiICBMb2dnZXJzOiIpOwoJCQkJZm9yIChmaW5hbCBNYXAuRW50cnk8U3RyaW5nLCBMb2dnZXJDb25maWc+IGVudHJ5IDogY29uZmlndXJhdGlvbgoJCQkJCQkuZ2V0TG9nZ2VycygpLmVudHJ5U2V0KCkpIHsKCQkJCQlmaW5hbCBTdHJpbmcgbmFtZSA9ICIiLmVxdWFscyhlbnRyeS5nZXRLZXkoKSkgPyAiUk9PVCIgOiAgZW50cnkuZ2V0S2V5KCk7CgkJCQkJbExvZy5pbmZvKCIgICAge30iLCBuYW1lKTsKCQkJCQlsTG9nLmluZm8oIiAgICAgIExldmVsICd7fSciLCBlbnRyeS5nZXRWYWx1ZSgpLmdldExldmVsKCkpOwoJCQkJCQoJCQkJCWZpbmFsIENvbGxlY3Rpb248U3RyaW5nPiBhcHBlbmRlcnMgPSBlbnRyeS5nZXRWYWx1ZSgpLmdldEFwcGVuZGVycygpLmtleVNldCgpOwoJCQkJCWlmICghYXBwZW5kZXJzLmlzRW1wdHkoKSkgewoJCQkJCQlsTG9nLmluZm8oIiAgICAgIEFwcGVuZGVycyIpOwoJCQkJCQlmb3IgKGZpbmFsIFN0cmluZyBhcHBlbmRlciA6IGFwcGVuZGVycykgewoJCQkJCQkJbExvZy5pbmZvKCIgICAgICAgIHt9IiwgYXBwZW5kZXIpOwkKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0gY2F0Y2ggKGZpbmFsIEV4Y2VwdGlvbiBlKSB7CgkJCWxMb2cuZXJyb3IoIkZhaWxlZCB0byBsb2cgbG9nZ2luZyBjb25maWd1cmF0aW9uIiwgZSk7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgZGVidWcoZmluYWwgTG9nZ2VyIGxvZywgZmluYWwgU3RyaW5nIG1lc3NhZ2UpIHsKCQlpZiAobWVzc2FnZS5sZW5ndGgoKSA8PSBMT0dfTElORV9MRU5HVEgpIHsKCQkJbG9nLmRlYnVnKG1lc3NhZ2UpOwoJCQlyZXR1cm47CgkJfQoJCQoJCWZpbmFsIGludCBwYXJ0cyA9IChpbnQpTWF0aC5jZWlsKG1lc3NhZ2UubGVuZ3RoKCkgLyAoZmxvYXQpTE9HX0xJTkVfTEVOR1RIKTsKCQkKCQlmb3IgKGludCBwYXJ0PTE7cGFydDw9cGFydHM7cGFydCsrKSB7CgkJCWludCBzdGFydElkeCA9IChwYXJ0IC0gMSkgKiBMT0dfTElORV9MRU5HVEg7CgkJCWludCBlbmRJZHggPSBwYXJ0ICogTE9HX0xJTkVfTEVOR1RIOwoJCQlpZiAoZW5kSWR4ID4gbWVzc2FnZS5sZW5ndGgoKSkgeyAKCQkJCWVuZElkeCA9IG1lc3NhZ2UubGVuZ3RoKCk7CgkJCX0KCQkJbG9nLmRlYnVnKCIocGFydCAiICsgcGFydCArICIvIiArIHBhcnRzICsgIik6ICIgKyBtZXNzYWdlLnN1YnN0cmluZyhzdGFydElkeCwgZW5kSWR4KSk7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgdHJhY2UoZmluYWwgTG9nZ2VyIGxvZywgZmluYWwgU3RyaW5nIG1lc3NhZ2UpIHsKCQlpZiAobWVzc2FnZS5sZW5ndGgoKSA8PSBMT0dfTElORV9MRU5HVEgpIHsKCQkJbG9nLnRyYWNlKG1lc3NhZ2UpOwoJCQlyZXR1cm47CgkJfQoJCQoJCWZpbmFsIGludCBwYXJ0cyA9IChpbnQpTWF0aC5jZWlsKG1lc3NhZ2UubGVuZ3RoKCkgLyAoZmxvYXQpTE9HX0xJTkVfTEVOR1RIKTsKCQkKCQlmb3IgKGludCBwYXJ0PTE7cGFydDw9cGFydHM7cGFydCsrKSB7CgkJCWludCBzdGFydElkeCA9IChwYXJ0IC0gMSkgKiBMT0dfTElORV9MRU5HVEg7CgkJCWludCBlbmRJZHggPSBwYXJ0ICogTE9HX0xJTkVfTEVOR1RIOwoJCQlpZiAoZW5kSWR4ID4gbWVzc2FnZS5sZW5ndGgoKSkgeyAKCQkJCWVuZElkeCA9IG1lc3NhZ2UubGVuZ3RoKCk7CgkJCX0KCQkJbG9nLnRyYWNlKCIocGFydCAiICsgcGFydCArICIvIiArIHBhcnRzICsgIik6ICIgKyBtZXNzYWdlLnN1YnN0cmluZyhzdGFydElkeCwgZW5kSWR4KSk7CgkJfQoJfQoKCXB1YmxpYyBzdGF0aWMgdm9pZCBsb2dFeHRBY2Nlc3MoZmluYWwgU3RyaW5nIHJlbW90ZUFkZHIsIGZpbmFsIFN0cmluZyB0eXBlLCBmaW5hbCBTdHJpbmcgbWV0aG9kLCBmaW5hbCBpbnQgcmVzcG9uc2VTdGF0dXMsCgkJCWZpbmFsIGxvbmcgcmVzcG9uc2VCeXRlcywgZmluYWwgbG9uZyB0YWtlbk1zLCBmaW5hbCBTdHJpbmcgcGF0aCkgewoJCWVhTG9nLmluZm8oInt9IHt9IHt9IHt9IHt9IHt9IHt9IiwgcmVtb3RlQWRkciwgdHlwZSwgbWV0aG9kLCByZXNwb25zZVN0YXR1cywgcmVzcG9uc2VCeXRlcywgdGFrZW5NcywgcGF0aCk7Cgl9Cn0K"},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\MeasurementUtil.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKLyoqCiAqIFRoaXMgY2xhc3MgY29udGFpbnMgdXRpbGl0eSBtZXRob2RzIGZvciBtZWFzdXJlbWVudHMuCiAqLwpwdWJsaWMgZmluYWwgY2xhc3MgTWVhc3VyZW1lbnRVdGlsIHsKICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIGRvdWJsZSBCWVRFU19JTl9NRUdBQklUID0gMTMxMDcyOwogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgZG91YmxlIE1JTExJU0VDT05EU19JTl9TRUNPTkRTID0gMTAwMGQ7CiAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBkb3VibGUgTkFOT1NFQ09ORFNfSU5fTUlMTElTRUNPTkRTID0gMTAwMDAwMGQ7CiAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBkb3VibGUgTUlOX1BFUl9TRUNPTkRfTVMgPSAwLjAwMWQ7CiAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBkb3VibGUgTUlOX01CUFNfTVMgPSAxZDsKICAgIAogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSB0aW1lIHRha2VuLCBpbiBtaWxsaXNlY29uZHMgZnJvbSB0aGUgc3RhcnRpbmcgdGltZSAKICAgICAqIGluIG5hbm8gc2Vjb25kcy4KICAgICAqIEBwYXJhbSBzdGFydE5hbm8gdGhlIHN0YXJ0IHRpbWUgaW4gbmFubyBzZWNvbmRzLCBvYnRhaW5lZCBieSAKICAgICAqIFN5c3RlbS5uYW5vVGltZSgpCiAgICAgKiBAcmV0dXJuIHRoZSB0aW1lIHRha2VuLCBpbiBtaWxsaXNlY29uZHMsIGZyb20gdGhlIGdpdmVuIHN0YXJ0aW5nIHRpbWUKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBsb25nIHRha2VuTXMoZmluYWwgbG9uZyBzdGFydE5hbm8pIHsKICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCgoU3lzdGVtLm5hbm9UaW1lKCkgLSBzdGFydE5hbm8pL05BTk9TRUNPTkRTX0lOX01JTExJU0VDT05EUyk7CiAgICB9CiAgICAKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdGltZSwgaW4gbWlsbGlzZWNvbmRzIGZyb20gdGhlIHRpbWUgaW4gbmFub3NlY29uZHMKICAgICAqIEBwYXJhbSBzdGFydE5hbm8gdGhlIHRpbWUgaW4gbmFubyBzZWNvbmRzIAogICAgICogQHJldHVybiB0aGUgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCAKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBsb25nIHRvTXMoZmluYWwgbG9uZyBzdGFydE5hbm8pIHsKICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChzdGFydE5hbm8vTkFOT1NFQ09ORFNfSU5fTUlMTElTRUNPTkRTKTsKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgcGVyIHNlY29uZCBmcm9tIHRoZSBnaXZlbiBhbW91bnQgYW5kIHRha2VuIHRpbWUKICAgICAqIGluIG1pbGxpc2Vjb25kcy4KICAgICAqIEBwYXJhbSBhbW91bnQgdGhlIGJhc2UgYW1vdW50CiAgICAgKiBAcGFyYW0gdGFrZW5NcyB0aGUgdGltZSB0YWtlbiBpbiBtaWxsaXNlY29uZHMKICAgICAqIEByZXR1cm4gdGhlIG51bWJlciBwZXIgc2Vjb25kCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlIHBlclNlY29uZChmaW5hbCBsb25nIGFtb3VudCwgZmluYWwgbG9uZyB0YWtlbk1zKSB7CiAgICAgICAgcmV0dXJuIGFtb3VudC9NYXRoLm1heChNSU5fUEVSX1NFQ09ORF9NUywgdGFrZW5Ncy9NSUxMSVNFQ09ORFNfSU5fU0VDT05EUyk7CiAgICB9CiAgICAKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbWVnYWJpdHMgcGVyIHNlY29uZCBmcm9tIHRoZSBnaXZlbiBudW1iZXIgb2YgYnl0ZXMgb3ZlciB0aGUKICAgICAqIGdpdmVuIHRpbWUgaW4gbWlsbGlzZWNvbmRzCiAgICAgKiBAcGFyYW0gYnl0ZXMgdGhlIG51bWJlciBvZiBieXRlcwogICAgICogQHBhcmFtIHRha2VuTXMgdGhlIHRpbWUgdGFrZW4gaW4gbWlsbGlzZWNvbmRzCiAgICAgKiBAcmV0dXJuIHRoZSBtZWdhYml0cyBwZXIgc2Vjb25kCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlIHRvTWJwcyhmaW5hbCBsb25nIGJ5dGVzLCBmaW5hbCBsb25nIHRha2VuTXMpIHsKICAgICAgICByZXR1cm4gYnl0ZXMvQllURVNfSU5fTUVHQUJJVC9NYXRoLm1heChNSU5fTUJQU19NUywgdGFrZW5Ncy9NSUxMSVNFQ09ORFNfSU5fU0VDT05EUyk7CiAgICB9CiAgICAKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyBhcyB0aGUgbnVtYmVyIHBlciBzZWNvbmQgZm9yIHRoZSBnaXZlbiBhbW91bnQgYW5kCiAgICAgKiB0aGUgdGFrZW4gdGltZSBpbiBtaWxsaXNlY29uZHMuIEZvcm1hdGVkIHRvIDIgZGVjaW1hbCBwbGFjZXMgYW5kIGVuZHMgaW4KICAgICAqIC9zZWMuIAogICAgICogQHBhcmFtIGFtb3VudCB0aGUgYmFzZSBhbW91bnQKICAgICAqIEBwYXJhbSB0YWtlbk1zIHRoZSB0aW1lIHRha2VuIGluIG1pbGxpc2Vjb25kcwogICAgICogQHJldHVybiB0aGUgbnVtYmVyIHBlciBzZWNvbmQgc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nIHBlclNlY29uZFN0cmluZyhmaW5hbCBsb25nIGFtb3VudCwgZmluYWwgbG9uZyB0YWtlbk1zKSB7CiAgICAgICAgcmV0dXJuICBTdHJpbmcuZm9ybWF0KCIlLjJmL3NlYyIsIHBlclNlY29uZChhbW91bnQsIHRha2VuTXMpKTsKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBEZWZhdWx0IHByaXZhdGUgY29uc3RydWN0b3IuCiAgICAgKi8KICAgIHByaXZhdGUgTWVhc3VyZW1lbnRVdGlsKCkgewogICAgICAgIC8vIG5vLW9wCiAgICB9Cn0="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\servlet\LoggingServletFilter.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQ7CgppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47CgppbXBvcnQgamF2YXguc2VydmxldC5GaWx0ZXI7CmltcG9ydCBqYXZheC5zZXJ2bGV0LkZpbHRlckNoYWluOwppbXBvcnQgamF2YXguc2VydmxldC5GaWx0ZXJDb25maWc7CmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRFeGNlcHRpb247CmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRSZXF1ZXN0OwppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0UmVzcG9uc2U7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0OwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2U7CgppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlcjsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXJGYWN0b3J5OwppbXBvcnQgb3JnLnNsZjRqLk1EQzsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5Mb2dVdGlsOwoKcHVibGljIGNsYXNzIExvZ2dpbmdTZXJ2bGV0RmlsdGVyIGltcGxlbWVudHMgRmlsdGVyIHsKCXByb3RlY3RlZCBmaW5hbCBzdGF0aWMgTG9nZ2VyIHJMb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcigiUkVRVUVTVCIpOwoJcHJvdGVjdGVkIGZpbmFsIHN0YXRpYyBMb2dnZXIgYUxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJBVURJVCIpOwoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgTGlzdDxQYXR0ZXJuPiBGSUxURVJfVVJMUyA9IG5ldyBBcnJheUxpc3Q8UGF0dGVybj4oKTsKCXByaXZhdGUgc3RhdGljIGZpbmFsIFBhdHRlcm4gRklMVEVSX1BBVFRFUk4gPSBQYXR0ZXJuLmNvbXBpbGUoIlwiKHVzZXJuYW1lfHBhc3NwaHJhc2V8YXBpS2V5fG9sZFBhc3NwaHJhc2V8Y29udGVudClcIlxccyo6XFxzKlwiKFteXCJdKilcIiIpOwoJCgl7CgkJRklMVEVSX1VSTFMuYWRkKFBhdHRlcm4uY29tcGlsZSgiXi4rL2xvZ2luJCIpKTsKCQlGSUxURVJfVVJMUy5hZGQoUGF0dGVybi5jb21waWxlKCJeLisvc2V0UGFzc3BocmFzZSQiKSk7CgkJRklMVEVSX1VSTFMuYWRkKFBhdHRlcm4uY29tcGlsZSgiXi4rL3VzZXJzLiokIikpOwoJCUZJTFRFUl9VUkxTLmFkZChQYXR0ZXJuLmNvbXBpbGUoIl4uKy9pbWFnZXMuKiQiKSk7Cgl9CgkKCXByaXZhdGUgZmluYWwgUGF0dGVybiBsb2dSZXNwb25zZVByZWZpeDsKCQoJcHVibGljIExvZ2dpbmdTZXJ2bGV0RmlsdGVyKCkgewoJCXRoaXMobnVsbCk7Cgl9CgkKCXB1YmxpYyBMb2dnaW5nU2VydmxldEZpbHRlcihmaW5hbCBQYXR0ZXJuIGxvZ1Jlc3BvbnNlUHJlZml4KSB7CgkJdGhpcy5sb2dSZXNwb25zZVByZWZpeCA9IGxvZ1Jlc3BvbnNlUHJlZml4OwoJfQoJQE92ZXJyaWRlCglwdWJsaWMgdm9pZCBpbml0KGZpbmFsIEZpbHRlckNvbmZpZyBmaWx0ZXJDb25maWcpIHRocm93cyBTZXJ2bGV0RXhjZXB0aW9uIHsJCgkJLy8gbm8gb3AKCX0KCglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIGRvRmlsdGVyKGZpbmFsIFNlcnZsZXRSZXF1ZXN0IHNlcnZsZXRSZXF1ZXN0LCAKCQkJZmluYWwgU2VydmxldFJlc3BvbnNlIHNlcnZsZXRSZXNwb25zZSwKCQkJZmluYWwgRmlsdGVyQ2hhaW4gY2hhaW4pIHRocm93cyBJT0V4Y2VwdGlvbiwgU2VydmxldEV4Y2VwdGlvbiB7CgkJCgkJZmluYWwgbG9uZyBzdGFydE5hbm8gPSBTeXN0ZW0ubmFub1RpbWUoKTsKCQl0cnkgewoJCQkvLyBtdXN0IHdyYXAgdGhlIHJlcXVlc3Qgc28gd2UgY2FuIGFjY2VzcyB0aGUgYm9keSBtdWx0aXBsZSB0aW1lcwoJCQlmaW5hbCBNdWx0aVJlYWRhYmxlSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcXVlc3QgPSBuZXcgTXVsdGlSZWFkYWJsZUh0dHBTZXJ2bGV0UmVxdWVzdCgoSHR0cFNlcnZsZXRSZXF1ZXN0KXNlcnZsZXRSZXF1ZXN0KTsKCQkJCgkJCVNlcnZsZXRVdGlsLnNldFRyYW5zSWQocmVxdWVzdCk7CgkJCU1EQy5jbGVhcigpOwoJCQlTZXJ2bGV0VXRpbC51cGRhdGVNZGMocmVxdWVzdCk7CgkJCQoJCQlmaW5hbCBTdHJpbmcgcmVxdWVzdEhlYWRlcnMgPSBTZXJ2bGV0VXRpbC5idWlsZEhlYWRlcnNGb3JMb2cocmVxdWVzdCk7CgkJCWZpbmFsIFN0cmluZyByZXF1ZXN0Qm9keSA9IExvZ1V0aWwuc3RpcE5ld2xpbmVzKGZpbHRlckJvZHkocmVxdWVzdC5nZXRSZXF1ZXN0VVJJKCksIHJlcXVlc3QuZ2V0Qm9keUFzU3RyaW5nKCkpKTsKCQkJCgkJCWFMb2cuaW5mbygiUmVjZWl2ZWQgJ3t9JyB3aXRoIGhlYWRlcnMgJ3t9JyIsIHJlcXVlc3QuZ2V0TWV0aG9kKCksIHJlcXVlc3RIZWFkZXJzKTsKCQkJTG9nVXRpbC5kZWJ1ZyhhTG9nLCAiUmVjZWl2ZWQgYm9keSAnIiArIHJlcXVlc3RCb2R5ICsgIiciKTsKCQkJckxvZy5pbmZvKCJSZWNlaXZlZCAne30nIHdpdGggaGVhZGVycyAne30nIiwgcmVxdWVzdC5nZXRNZXRob2QoKSwgcmVxdWVzdEhlYWRlcnMpOwoJCQlMb2dVdGlsLmRlYnVnKHJMb2csICJSZWNlaXZlZCBib2R5ICciICsgcmVxdWVzdEJvZHkgKyAiJyIpOwoJCQkKCQkJLy8gbXVzdCB3cmFwIHRoZSByZXNwb25zZSBzbyB3ZSBjYW4gZ2V0IHRoZSBib2R5CgkJCWZpbmFsIFJlYWRhYmxlSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSA9IG5ldyBSZWFkYWJsZUh0dHBTZXJ2bGV0UmVzcG9uc2UoKEh0dHBTZXJ2bGV0UmVzcG9uc2Upc2VydmxldFJlc3BvbnNlKTsKCQkJcmVxdWVzdC5zZXRBdHRyaWJ1dGUoInJlcUJvZHkiLCByZXF1ZXN0LmdldEJvZHlBc1N0cmluZygpKTsKCQkJY2hhaW4uZG9GaWx0ZXIocmVxdWVzdCwgcmVzcG9uc2UpOwoJCQkKCQkJCgkJCWZpbmFsIFN0cmluZyByZXNwb25zZUhlYWRlcnMgPSBTZXJ2bGV0VXRpbC5idWlsZEhlYWRlcnNGb3JMb2cocmVzcG9uc2UpOwoJCQlmaW5hbCBib29sZWFuIHJlc3BvbnNlSXNTdHJpbmcgPSByZXNwb25zZS5pc1N0cmluZ0JvZHkoKTsKCQkJZmluYWwgU3RyaW5nIHJlc3BvbnNlQm9keSA9IExvZ1V0aWwuc3RpcE5ld2xpbmVzKGZpbHRlckJvZHkocmVxdWVzdC5nZXRSZXF1ZXN0VVJJKCksIAoJCQkJCXJlc3BvbnNlSXNTdHJpbmcgPyByZXNwb25zZS5nZXRCb2R5QXNTdHJpbmcoKSA6ICIqKkJJTkFSWSoqIikpOwoJCQkKCQkJYUxvZy5pbmZvKCJSZXBseWluZyB3aXRoIHN0YXR1cyAne30nIiwgcmVzcG9uc2UuZ2V0U3RhdHVzKCkpOwoJCQlMb2dVdGlsLmRlYnVnKGFMb2csICJIZWFkZXJzICciICsgcmVzcG9uc2VIZWFkZXJzICsgIiciKTsKCQkJTG9nVXRpbC5kZWJ1ZyhhTG9nLCAiQm9keSAnIiArIHJlc3BvbnNlQm9keSArICInIik7CgkJCXJMb2cuaW5mbygiUmVwbHlpbmcgd2l0aCBzdGF0dXMgJ3t9JyIsIHJlc3BvbnNlLmdldFN0YXR1cygpKTsKCQkJTG9nVXRpbC5kZWJ1ZyhyTG9nLCAiSGVhZGVycyAnIiArIHJlc3BvbnNlSGVhZGVycyArICInIik7CgkJCUxvZ1V0aWwuZGVidWcockxvZywgIkJvZHkgJyIgKyByZXNwb25zZUJvZHkgKyAiJyIpOwoJCQkKCQkJTURDLmNsZWFyKCk7CgkJfSBjYXRjaCAoZmluYWwgSU9FeGNlcHRpb24gaW9lKSB7CgkJCXJMb2cuZXJyb3IoIlJlY2VpdmVkIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIGZpbHRlcmluZyByZXF1ZXN0IiwgaW9lKTsKCQkJdGhyb3cgaW9lOwoJCX0KCX0KCglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIGRlc3Ryb3koKSB7CgkJLy8gbm8tb3AKCX0KCQoJcHJpdmF0ZSBTdHJpbmcgZmlsdGVyQm9keShmaW5hbCBTdHJpbmcgdXJpLCBmaW5hbCBTdHJpbmcgYm9keSkgewoJCWlmICh0aGlzLmxvZ1Jlc3BvbnNlUHJlZml4ICE9IG51bGwgJiYgIXRoaXMubG9nUmVzcG9uc2VQcmVmaXgubWF0Y2hlcih1cmkpLm1hdGNoZXMoKSkgewoJCQlyZXR1cm4gIioqU1RBVElDKioiOwoJCX0KCQkKCQlib29sZWFuIG1hdGNoZXMgPSBmYWxzZTsKCQlmb3IgKGludCBhPTA7IW1hdGNoZXMgJiYgYTxGSUxURVJfVVJMUy5zaXplKCk7YSsrKSB7CgkJCWZpbmFsIFBhdHRlcm4gcGF0dGVybiA9IEZJTFRFUl9VUkxTLmdldChhKTsKCQkJbWF0Y2hlcyA9IHBhdHRlcm4ubWF0Y2hlcih1cmkpLm1hdGNoZXMoKTsKCQl9CgkJCgkJaWYgKG1hdGNoZXMpIHsKCQkJU3RyaW5nIHJlc3VsdCA9IGJvZHk7CgkJCWludCBpbmRleCA9IDA7CgkJCWZvciAoTWF0Y2hlciBtYXRjaGVyPUZJTFRFUl9QQVRURVJOLm1hdGNoZXIocmVzdWx0KTttYXRjaGVyLmZpbmQoaW5kZXgpO21hdGNoZXI9RklMVEVSX1BBVFRFUk4ubWF0Y2hlcihyZXN1bHQpKSB7CgkJCQkvLyByZXBsYWNlIHRoZSBzZW5zaXRpdmUgdmFsdWUKCQkJCVN0cmluZyBuZXdSZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIG1hdGNoZXIuc3RhcnQoMikpICsgIioqQ09ORklERU5USUFMKioiOwoJCQkJaW5kZXggPSBuZXdSZXN1bHQubGVuZ3RoKCk7CgkJCQluZXdSZXN1bHQgKz0gcmVzdWx0LnN1YnN0cmluZyhtYXRjaGVyLmVuZCgyKSk7CgkJCQlyZXN1bHQgPSBuZXdSZXN1bHQ7CgkJCX0KCQkJcmV0dXJuIHJlc3VsdDsKCQl9CgkJcmV0dXJuIGJvZHk7Cgl9Cn0K"},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\servlet\MultiReadableHttpServletRequest.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQ7CgppbXBvcnQgamF2YS5pby5CdWZmZXJlZFJlYWRlcjsKaW1wb3J0IGphdmEuaW8uQnl0ZUFycmF5SW5wdXRTdHJlYW07CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKaW1wb3J0IGphdmEuaW8uVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbjsKCmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRJbnB1dFN0cmVhbTsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3Q7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0V3JhcHBlcjsKCmltcG9ydCBjb20uZ29vZ2xlLmNvbW1vbi5pby5CeXRlU3RyZWFtczsKCnB1YmxpYyBjbGFzcyBNdWx0aVJlYWRhYmxlSHR0cFNlcnZsZXRSZXF1ZXN0IGV4dGVuZHMgSHR0cFNlcnZsZXRSZXF1ZXN0V3JhcHBlciB7Cglwcml2YXRlIGZpbmFsIGJ5dGVbXSBib2R5OwoKCXB1YmxpYyBNdWx0aVJlYWRhYmxlSHR0cFNlcnZsZXRSZXF1ZXN0KGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KSB0aHJvd3MgSU9FeGNlcHRpb24gewoJCXN1cGVyKHJlcXVlc3QpOwoJCXRoaXMuYm9keSA9IEJ5dGVTdHJlYW1zLnRvQnl0ZUFycmF5KHJlcXVlc3QuZ2V0SW5wdXRTdHJlYW0oKSk7IAoJfQoJCglwdWJsaWMgU3RyaW5nIGdldEJvZHlBc1N0cmluZygpIHRocm93cyBVbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uIHsKCQlyZXR1cm4gU2VydmxldFV0aWwudG9TdHJpbmcodGhpcy5ib2R5LCBnZXRDb250ZW50VHlwZSgpLCBnZXRDaGFyYWN0ZXJFbmNvZGluZygpKTsKCX0KCQoJQE92ZXJyaWRlCglwdWJsaWMgQnVmZmVyZWRSZWFkZXIgZ2V0UmVhZGVyKCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKCQlyZXR1cm4gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihuZXcgQnl0ZUFycmF5SW5wdXRTdHJlYW0odGhpcy5ib2R5KSwgZ2V0Q2hhcmFjdGVyRW5jb2RpbmcoKSkpOwoJfQoKCUBPdmVycmlkZQoJcHVibGljIFNlcnZsZXRJbnB1dFN0cmVhbSBnZXRJbnB1dFN0cmVhbSgpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgkJcmV0dXJuIG5ldyBTZXJ2bGV0SW5wdXRTdHJlYW0oKSB7CgkJCXByaXZhdGUgZmluYWwgQnl0ZUFycmF5SW5wdXRTdHJlYW0gaW4gPSBuZXcgQnl0ZUFycmF5SW5wdXRTdHJlYW0oYm9keSk7CgoJCQlAT3ZlcnJpZGUKCQkJcHVibGljIGludCByZWFkKCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKCQkJCXJldHVybiB0aGlzLmluLnJlYWQoKTsKCQkJfQoJCX07Cgl9CgkKCUBPdmVycmlkZQoJcHVibGljIFN0cmluZyBnZXRDaGFyYWN0ZXJFbmNvZGluZygpIHsKCQlpZiAoc3VwZXIuZ2V0Q2hhcmFjdGVyRW5jb2RpbmcoKSAhPSBudWxsKSB7CgkJCXJldHVybiBzdXBlci5nZXRDaGFyYWN0ZXJFbmNvZGluZygpOwoJCX0KCQlyZXR1cm4gIlVURi04IjsKCX0KfQo="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\servlet\ReadableHttpServletResponse.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQ7CgppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uT3V0cHV0U3RyZWFtV3JpdGVyOwppbXBvcnQgamF2YS5pby5QcmludFdyaXRlcjsKCmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRPdXRwdXRTdHJlYW07CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZTsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlV3JhcHBlcjsKCnB1YmxpYyBjbGFzcyBSZWFkYWJsZUh0dHBTZXJ2bGV0UmVzcG9uc2UgZXh0ZW5kcyBIdHRwU2VydmxldFJlc3BvbnNlV3JhcHBlciB7Cglwcml2YXRlIGZpbmFsIFdyYXBwZWRTZXJ2bGV0T3V0cHV0U3RyZWFtIHdyYXBwZWRPdXQ7Cglwcml2YXRlIGZpbmFsIFByaW50V3JpdGVyIHdyYXBwZWRXcml0ZXI7CgkKCXB1YmxpYyBSZWFkYWJsZUh0dHBTZXJ2bGV0UmVzcG9uc2UoZmluYWwgSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkgdGhyb3dzIElPRXhjZXB0aW9uIHsKCQlzdXBlcihyZXNwb25zZSk7CgkJdGhpcy53cmFwcGVkT3V0ID0gbmV3IFdyYXBwZWRTZXJ2bGV0T3V0cHV0U3RyZWFtKHJlc3BvbnNlLmdldE91dHB1dFN0cmVhbSgpKTsKCQl0aGlzLndyYXBwZWRXcml0ZXIgPSBuZXcgUHJpbnRXcml0ZXIobmV3IE91dHB1dFN0cmVhbVdyaXRlcih0aGlzLndyYXBwZWRPdXQsIHRoaXMuZ2V0Q2hhcmFjdGVyRW5jb2RpbmcoKSkpOwoJfQoKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgZmx1c2hCdWZmZXIoKSB0aHJvd3MgSU9FeGNlcHRpb24gewoJCXRoaXMud3JhcHBlZFdyaXRlci5mbHVzaCgpOwoJCXRoaXMud3JhcHBlZE91dC5mbHVzaCgpOwoJfQoKCUBPdmVycmlkZQoJcHVibGljIFNlcnZsZXRPdXRwdXRTdHJlYW0gZ2V0T3V0cHV0U3RyZWFtKCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKCQlyZXR1cm4gdGhpcy53cmFwcGVkT3V0OwoJfQoKCUBPdmVycmlkZQoJcHVibGljIFByaW50V3JpdGVyIGdldFdyaXRlcigpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgkJcmV0dXJuIHRoaXMud3JhcHBlZFdyaXRlcjsKCX0KCgkvKioKCSAqIEdldHMgdGhlIHVuZGVybHlpbmcgaW5zdGFuY2Ugb2YgdGhlIG91dHB1dCBzdHJlYW0uCgkgKiAKCSAqIEByZXR1cm4KCSAqLwoJcHVibGljIFN0cmluZyBnZXRCb2R5QXNTdHJpbmcoKSB0aHJvd3MgSU9FeGNlcHRpb24gewoJCXJldHVybiBTZXJ2bGV0VXRpbC50b1N0cmluZyh0aGlzLndyYXBwZWRPdXQuZ2V0Qnl0ZXMoKSwgZ2V0Q29udGVudFR5cGUoKSwgZ2V0Q2hhcmFjdGVyRW5jb2RpbmcoKSk7Cgl9CgkKCS8qKgoJICogUmV0dXJucyBpZiB0aGlzIGlzIGEgc3RyaW5nIG9yIG5vdAoJICogCgkgKiBAcmV0dXJuCgkgKi8KCXB1YmxpYyBib29sZWFuIGlzU3RyaW5nQm9keSgpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgkJcmV0dXJuICF0aGlzLndyYXBwZWRPdXQuaGFzRGF0YSgpIHx8IFNlcnZsZXRVdGlsLmlzU3RyaW5nQm9keShnZXRDb250ZW50VHlwZSgpKTsKCX0KCQoJQE92ZXJyaWRlCglwdWJsaWMgU3RyaW5nIGdldENoYXJhY3RlckVuY29kaW5nKCkgewoJCWlmIChzdXBlci5nZXRDaGFyYWN0ZXJFbmNvZGluZygpICE9IG51bGwpIHsKCQkJcmV0dXJuIHN1cGVyLmdldENoYXJhY3RlckVuY29kaW5nKCk7CgkJfQoJCXJldHVybiAiVVRGLTgiOwoJfQp9Cg=="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\servlet\ServletUtil.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQ7CgppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uV3JpdGVyOwppbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKaW1wb3J0IGphdmEudXRpbC5FbnVtZXJhdGlvbjsKaW1wb3J0IGphdmEudXRpbC5IYXNoU2V0OwppbXBvcnQgamF2YS51dGlsLkxpbmtlZEhhc2hNYXA7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5NYXA7CmltcG9ydCBqYXZhLnV0aWwuU2V0OwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lk1hdGNoZXI7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKCmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0OwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2U7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlc3Npb247CmltcG9ydCBqYXZheC54bWwuYmluZC5EYXRhdHlwZUNvbnZlcnRlcjsKCmltcG9ydCBvcmcuc2xmNGouTURDOwoKaW1wb3J0IGNvbS5nb29nbGUuY29tbW9uLmlvLkNoYXJTdHJlYW1zOwoKcHVibGljIGNsYXNzIFNlcnZsZXRVdGlsIHsKCXByaXZhdGUgc3RhdGljIGZpbmFsIFBhdHRlcm4gRklMVEVSX1VSTF9QQVRURVJOID0gUGF0dGVybi5jb21waWxlKCIuKyhhdXRoX3Rva2VufGtleSk9KFteJl0rKSIpOwoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgTGlzdDxQYXR0ZXJuPiBURVhUX0NPTlRFTlRfVFlQRVMgPSBuZXcgQXJyYXlMaXN0PFBhdHRlcm4+KCk7CgkKCXN0YXRpYwoJewoJCVRFWFRfQ09OVEVOVF9UWVBFUy5hZGQoUGF0dGVybi5jb21waWxlKCJedGV4dC8uKyIpKTsKCQlURVhUX0NPTlRFTlRfVFlQRVMuYWRkKFBhdHRlcm4uY29tcGlsZSgiXmFwcGxpY2F0aW9uL2VjbWFzY3JpcHQuKiIpKTsKCQlURVhUX0NPTlRFTlRfVFlQRVMuYWRkKFBhdHRlcm4uY29tcGlsZSgiXmFwcGxpY2F0aW9uL2pzb24uKiIpKTsKCQlURVhUX0NPTlRFTlRfVFlQRVMuYWRkKFBhdHRlcm4uY29tcGlsZSgiXmFwcGxpY2F0aW9uL2phdmFzY3JpcHQuKiIpKTsKCQlURVhUX0NPTlRFTlRfVFlQRVMuYWRkKFBhdHRlcm4uY29tcGlsZSgiXmFwcGxpY2F0aW9uL3htbC4qIikpOwoJfQoKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGdldFVzZXIoZmluYWwgSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcXVlc3QpIHsKCQlpZiAocmVxdWVzdC5nZXRVc2VyUHJpbmNpcGFsKCkgPT0gbnVsbCkgewoJCQlmaW5hbCBIdHRwU2Vzc2lvbiBzZXNzaW9uID0gcmVxdWVzdC5nZXRTZXNzaW9uKGZhbHNlKTsKCQkJaWYgKHNlc3Npb24gIT0gbnVsbCkgewoJCQkJcmV0dXJuIChTdHJpbmcpKHNlc3Npb24uZ2V0QXR0cmlidXRlKCJ1c2VybmFtZSIpPT1udWxsP3JlcXVlc3QuZ2V0QXR0cmlidXRlKCJ1c2VybmFtZSIpOnNlc3Npb24uZ2V0QXR0cmlidXRlKCJ1c2VybmFtZSIpKTsKCQkJfQoJCQlyZXR1cm4gbnVsbDsKCQl9CgkJcmV0dXJuIHJlcXVlc3QuZ2V0VXNlclByaW5jaXBhbCgpLmdldE5hbWUoKTsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgZ2V0VHJhbnNJZChmaW5hbCBIdHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCkgewoJCXJldHVybiAoU3RyaW5nKXJlcXVlc3QuZ2V0QXR0cmlidXRlKCJ0aWQiKTsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgYnVpbGRQYXRoKGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KSB7CgkJZmluYWwgU3RyaW5nQnVpbGRlciBzYiA9IG5ldyBTdHJpbmdCdWlsZGVyKDEyOCk7CgkJc2IuYXBwZW5kKHJlcXVlc3QuZ2V0UmVxdWVzdFVSSSgpKTsKCQlpZiAocmVxdWVzdC5nZXRRdWVyeVN0cmluZygpICE9IG51bGwpIHsKCQkJc2IuYXBwZW5kKCI/Iik7CgkJCXNiLmFwcGVuZChyZXF1ZXN0LmdldFF1ZXJ5U3RyaW5nKCkpOwkKCQl9CgkJcmV0dXJuIHNiLnRvU3RyaW5nKCk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIGJ1aWxkSGVhZGVyc0ZvckxvZyhmaW5hbCBIdHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCkgewoJCWZpbmFsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gaGVhZGVycyA9IG5ldyBMaW5rZWRIYXNoTWFwPFN0cmluZywgTGlzdDxTdHJpbmc+PigpOwoJCWZpbmFsIFNldDxTdHJpbmc+IHByb2Nlc3NlZEhlYWRlcnMgPSBuZXcgSGFzaFNldDxTdHJpbmc+KCk7CgkJZm9yIChmaW5hbCBFbnVtZXJhdGlvbjxTdHJpbmc+IGk9cmVxdWVzdC5nZXRIZWFkZXJOYW1lcygpO2kuaGFzTW9yZUVsZW1lbnRzKCk7KSB7CgkJCWZpbmFsIFN0cmluZyBuYW1lID0gaS5uZXh0RWxlbWVudCgpOwoJCQlpZiAocHJvY2Vzc2VkSGVhZGVycy5jb250YWlucyhuYW1lKSkgewoJCQkJY29udGludWU7CgkJCX0KCQkJCgkJCWZpbmFsIExpc3Q8U3RyaW5nPiB2YWx1ZXMgPSBuZXcgQXJyYXlMaXN0PFN0cmluZz4oKTsKCQkJZm9yIChmaW5hbCBFbnVtZXJhdGlvbjxTdHJpbmc+IGo9cmVxdWVzdC5nZXRIZWFkZXJzKG5hbWUpO2ouaGFzTW9yZUVsZW1lbnRzKCk7KSB7CgkJCQl2YWx1ZXMuYWRkKGoubmV4dEVsZW1lbnQoKSk7CgkJCX0KCQkJCQoJCQloZWFkZXJzLnB1dChuYW1lLCB2YWx1ZXMpOwoJCQlwcm9jZXNzZWRIZWFkZXJzLmFkZChuYW1lKTsKCQl9CgkJCgkJcmV0dXJuIGJ1aWxkSGVhZGVyc0ZvckxvZyhoZWFkZXJzKTsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgZmlsdGVySGVhZGVyVmFsdWUoZmluYWwgU3RyaW5nIG5hbWUsIGZpbmFsIFN0cmluZyB2YWx1ZSkgewoJCWlmICgiYXV0aG9yaXphdGlvbiIuZXF1YWxzSWdub3JlQ2FzZShuYW1lKSkgewoJCQlpZiAodmFsdWUubWF0Y2hlcygiXig/aSliYXNpYy4rJCIpKSB7CgkJCQlyZXR1cm4gIioqQ09ORklERU5USUFMKioiOwoJCQl9CgkJfQoJCXJldHVybiB2YWx1ZTsKCX0KCSAJCglwdWJsaWMgc3RhdGljIFN0cmluZyBmaWx0ZXJVcmwoZmluYWwgU3RyaW5nIHVybCkgewoJCU1hdGNoZXIgbWF0Y2hlciA9IEZJTFRFUl9VUkxfUEFUVEVSTi5tYXRjaGVyKHVybCk7CgkJaWYgKG1hdGNoZXIubWF0Y2hlcygpKSB7CgkJCXJldHVybiB1cmwucmVwbGFjZShtYXRjaGVyLmdyb3VwKDIpLCAiKipDT05GSURFTlRJQUwqKiIpOwoJCX0KCQlyZXR1cm4gdXJsOwoJfQoJCglwdWJsaWMgc3RhdGljIFN0cmluZyBidWlsZEhlYWRlcnNGb3JMb2coZmluYWwgSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkgewoJCWZpbmFsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gaGVhZGVycyA9IG5ldyBMaW5rZWRIYXNoTWFwPFN0cmluZywgTGlzdDxTdHJpbmc+PigpOwoJCWZpbmFsIFNldDxTdHJpbmc+IHByb2Nlc3NlZEhlYWRlcnMgPSBuZXcgSGFzaFNldDxTdHJpbmc+KCk7CgkJZm9yIChmaW5hbCBTdHJpbmcgbmFtZSA6IHJlc3BvbnNlLmdldEhlYWRlck5hbWVzKCkpIHsKCQkJaWYgKHByb2Nlc3NlZEhlYWRlcnMuY29udGFpbnMobmFtZSkpIHsKCQkJCWNvbnRpbnVlOwoJCQl9CgkJCQoJCQloZWFkZXJzLnB1dChuYW1lLCBuZXcgQXJyYXlMaXN0PFN0cmluZz4ocmVzcG9uc2UuZ2V0SGVhZGVycyhuYW1lKSkpOwoJCQlwcm9jZXNzZWRIZWFkZXJzLmFkZChuYW1lKTsKCQl9CgkJCgkJcmV0dXJuIGJ1aWxkSGVhZGVyc0ZvckxvZyhoZWFkZXJzKTsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgYnVpbGRIZWFkZXJzRm9yTG9nKGZpbmFsIE1hcDxTdHJpbmcsIExpc3Q8U3RyaW5nPj4gaGVhZGVycykgewoJCWZpbmFsIFN0cmluZ0J1aWxkZXIgc2IgPSBuZXcgU3RyaW5nQnVpbGRlcigyNTYpOwoJCWZvciAoZmluYWwgTWFwLkVudHJ5PFN0cmluZywgTGlzdDxTdHJpbmc+PiBlbnRyeSA6IGhlYWRlcnMuZW50cnlTZXQoKSkgewoJCQlpZiAoc2IubGVuZ3RoKCkgIT0gMCkgewoJCQkJc2IuYXBwZW5kKCIsICIpOwoJCQl9CgkJCQoJCQlib29sZWFuIGZpcnN0ID0gdHJ1ZTsKCQkJZm9yIChmaW5hbCBTdHJpbmcgdmFsdWUgOiBlbnRyeS5nZXRWYWx1ZSgpKSB7CgkJCQlpZiAoIWZpcnN0KSB7CgkJCQkJc2IuYXBwZW5kKCIsICIpOwoJCQkJfQoJCQkJZmlyc3QgPSBmYWxzZTsKCQkJCXNiLmFwcGVuZChlbnRyeS5nZXRLZXkoKSk7CgkJCQlzYi5hcHBlbmQoIj0iKTsKCQkJCXNiLmFwcGVuZChmaWx0ZXJIZWFkZXJWYWx1ZShlbnRyeS5nZXRLZXkoKSwgdmFsdWUpKTsKCQkJfQoJCX0KCQkKCQlyZXR1cm4gc2IudG9TdHJpbmcoKTsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgYnVpbGRCb2R5KGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KSB0aHJvd3MgSU9FeGNlcHRpb24gewkKCQlyZXR1cm4gQ2hhclN0cmVhbXMudG9TdHJpbmcocmVxdWVzdC5nZXRSZWFkZXIoKSk7IAoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgdXBkYXRlTWRjKGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KSB7CgkJTURDLnB1dCgicmVtb3RlQWRkciIsIHJlcXVlc3QuZ2V0UmVtb3RlQWRkcigpKTsKCQlNREMucHV0KCJ0aWQiLCBnZXRUcmFuc0lkKHJlcXVlc3QpKTsKCQlNREMucHV0KCJwYXRoIiwgYnVpbGRQYXRoKHJlcXVlc3QpKTsKCQlNREMucHV0KCJ1c2VyIiwgZ2V0VXNlcihyZXF1ZXN0KSk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBzZXRUcmFuc0lkKGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KSB7CgkJaWYgKHJlcXVlc3QuZ2V0SGVhZGVyKCJYLVRSQU5TLUlEIikgIT0gbnVsbCkgewoJCQlyZXF1ZXN0LnNldEF0dHJpYnV0ZSgidGlkIiwgcmVxdWVzdC5nZXRIZWFkZXIoIlgtVFJBTlMtSUQiKSk7CgkJfSBlbHNlIHsKCQkJLy8gZ2VuZXJhdGUgaXQKCQkJcmVxdWVzdC5zZXRBdHRyaWJ1dGUoInRpZCIsIAoJCQkJCXJlcXVlc3QuZ2V0UmVtb3RlQWRkcigpKyItIityZXF1ZXN0LmdldExvY2FsQWRkcigpKyItIituZXcgT2JqZWN0KCkuaGFzaENvZGUoKSk7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIGJvb2xlYW4gaXNTdHJpbmdCb2R5KGZpbmFsIFN0cmluZyBjb250ZW50VHlwZSkgewoJCWJvb2xlYW4gaXNUZXh0ID0gZmFsc2U7CgkJaWYgKGNvbnRlbnRUeXBlICE9IG51bGwpIHsKCQkJZm9yIChmaW5hbCBQYXR0ZXJuIHBhdHRlcm4gOiBURVhUX0NPTlRFTlRfVFlQRVMpIHsKCQkJCWlmIChwYXR0ZXJuLm1hdGNoZXIoY29udGVudFR5cGUpLm1hdGNoZXMoKSkgewoJCQkJCWlzVGV4dCA9IHRydWU7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuIGlzVGV4dDsKCX0KCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoZmluYWwgYnl0ZVtdIGJ5dGVzLCBmaW5hbCBTdHJpbmcgY29udGVudFR5cGUsIGZpbmFsIFN0cmluZyBjaGFyU2V0KSB0aHJvd3MgVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbiB7CgkJaWYgKGJ5dGVzID09IG51bGwgfHwgYnl0ZXMubGVuZ3RoID09IDApIHsKCQkJcmV0dXJuICIiOwoJCX0KCQlpZiAoaXNTdHJpbmdCb2R5KGNvbnRlbnRUeXBlKSkgewoJCQlyZXR1cm4gbmV3IFN0cmluZyhieXRlcywgY2hhclNldCk7CgkJfQoJCXJldHVybiAiQkFTRTY0IEVOQ09ERUQgIiArIERhdGF0eXBlQ29udmVydGVyLnByaW50QmFzZTY0QmluYXJ5KGJ5dGVzKTsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIHdyaXRlSnNvblJlc3BvbnNlKGZpbmFsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgaHR0cFJlc3BvbnNlLCBmaW5hbCBTdHJpbmcgYm9keSkgdGhyb3dzIElPRXhjZXB0aW9uIHsKCQlodHRwUmVzcG9uc2Uuc2V0Q2hhcmFjdGVyRW5jb2RpbmcoIlVURi04Iik7CgkJaHR0cFJlc3BvbnNlLnNldENvbnRlbnRUeXBlKCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9VVRGLTgiKTsKCQlmaW5hbCBXcml0ZXIgd3JpdGVyID0gaHR0cFJlc3BvbnNlLmdldFdyaXRlcigpOwoJCXdyaXRlci53cml0ZShib2R5KTsKCQl3cml0ZXIuZmx1c2goKTsKCQlodHRwUmVzcG9uc2UuZmx1c2hCdWZmZXIoKTsKCX0KfQo="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\servlet\ValidationServletFilter.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQ7CgppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uUHJpbnRXcml0ZXI7CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0OwppbXBvcnQgamF2YS51dGlsLkl0ZXJhdG9yOwppbXBvcnQgamF2YS51dGlsLkxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTWFwOwppbXBvcnQgamF2YS51dGlsLlNldDsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKaW1wb3J0IGphdmF4LnNlcnZsZXQuRmlsdGVyOwppbXBvcnQgamF2YXguc2VydmxldC5GaWx0ZXJDaGFpbjsKaW1wb3J0IGphdmF4LnNlcnZsZXQuRmlsdGVyQ29uZmlnOwppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0RXhjZXB0aW9uOwppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0UmVxdWVzdDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldFJlc3BvbnNlOwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlOwoKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5KU09OQXJyYXk7CmltcG9ydCBvcmcuanNvbi5zaW1wbGUuSlNPTk9iamVjdDsKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5wYXJzZXIuSlNPTlBhcnNlcjsKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5wYXJzZXIuUGFyc2VFeGNlcHRpb247CmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7CgpwdWJsaWMgY2xhc3MgVmFsaWRhdGlvblNlcnZsZXRGaWx0ZXIgaW1wbGVtZW50cyBGaWx0ZXIgewoJCgkvL3ByaXZhdGUgc3RhdGljIGZpbmFsIFZhbGlkYXRvciBpbnN0YW5jZSA9IEVTQVBJLnZhbGlkYXRvcigpOwoJCglwcml2YXRlIHN0YXRpYyBmaW5hbCBQYXR0ZXJuIEhUTUxfS0VZX1BBVFRFUk4gPSBQYXR0ZXJuLmNvbXBpbGUoIl4obG9nZ2VkSW5CYW5uZXJ8bG9naW5CYW5uZXIpJCIpOwoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgUGF0dGVybiBQQVNTUEhSQVNFX0tFWV9QQVRURVJOID0gUGF0dGVybi5jb21waWxlKCJeKHBhc3NwaHJhc2V8b2xkUGFzc3BocmFzZXxuZXdQYXNzcGhyYXNlKSQiKTsKCQoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgTGlzdDxQYXR0ZXJuPiBIVE1MX1VSTFMgPSBuZXcgQXJyYXlMaXN0PFBhdHRlcm4+KCk7Cglwcml2YXRlIHN0YXRpYyBmaW5hbCBMaXN0PFBhdHRlcm4+IFBBU1NQSFJBU0VfVVJMUyA9IG5ldyBBcnJheUxpc3Q8UGF0dGVybj4oKTsKCQoJCgkKCXByaXZhdGUgc3RhdGljIGZpbmFsIFBhdHRlcm4gQ09OVEVOVF9QQVRURVJOID0gUGF0dGVybi5jb21waWxlKCIuKihkZXBsb3ltZW50c3xpbWFnZXN8YnVpbGRpbmdzfGZsb29yc3xzZXR0aW5ncykuKiIpOwoJCgl7CgkJSFRNTF9VUkxTLmFkZChQYXR0ZXJuLmNvbXBpbGUoIl4uKy9iYW5uZXIuKiQiKSk7CgkJCgkJUEFTU1BIUkFTRV9VUkxTLmFkZChQYXR0ZXJuLmNvbXBpbGUoIl4uKy9sb2dpbiQiKSk7CgkJUEFTU1BIUkFTRV9VUkxTLmFkZChQYXR0ZXJuLmNvbXBpbGUoIl4uKy9zZXRQYXNzcGhyYXNlJCIpKTsKCQlQQVNTUEhSQVNFX1VSTFMuYWRkKFBhdHRlcm4uY29tcGlsZSgiXi4rL3Nwcy4qJCIpKTsKCX0KCQoJcHJpdmF0ZSBlbnVtIFJlc3VsdCB7CgkJT0sobnVsbCksCgkJRkFJTF9JTlZBTElEKCJJbnZhbGlkIHJlcXVlc3QgZm9ybWF0IiksCgkJRkFJTF9NU0UoIlZhbHVlIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYywgc3BhY2VzLCBvciAuLC1fIT8oKUAkJiBjaGFyYWN0ZXJzIiksCgkJRkFJTF9CQVNJQygiVmFsdWUgbXVzdCBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljLCBzcGFjZXMsIG9yIC4sLV8rIT8oKUAgY2hhcmFjdGVycyIpLAoJCUZBSUxfUlJNX1BST0ZJTEUoIlZhbHVlIG11c3Qgb25seSBjb250YWluIGFscGhhbnVtZXJpYywgc3BhY2VzLCBvciAuLC1fKyE/KClAe309IGNoYXJhY3RlcnMiKSwKCQlGQUlMX1BBU1NQSFJBU0UoIlZhbHVlIG11c3Qgb25seSBjb250YWluIGFscGhhbnVtZXJpYyBvciAhQCMkJV4mKi1fPSs/LiwgY2hhcmFjdGVycyIpLAoJCUZBSUxfTkFNRV9MRU5HVEgoIk11c3QgY29udGFpbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgc3BlY2lhbCBjaGFyYWN0ZXJzIGxpa2UgXy46LCNAJiEvKygpIGFuZCBzaG91bGQgYmUgbGVzcyB0aGFuIDUwIGNoYXJhY3RlcnMiKSwKCQlGQUlMX0hUTUwoIlZhbHVlIG11c3Qgb25seSBjb250YWluIGFscGhhbnVtZXJpYywgc3BhY2VzLCBvciA+PC8uLC1fKyE/KClAJ1wiIGNoYXJhY3RlcnMuIEl0IG11c3Qgbm90IGNvbnRhaW4gc2NyaXB0cy4iKTsKCQkKCQlwcml2YXRlIGZpbmFsIFN0cmluZyBlcnJvck1zZzsKCQkKCQlwcml2YXRlIFJlc3VsdChmaW5hbCBTdHJpbmcgdGhlRXJyb3JNc2cpIHsKCQkJdGhpcy5lcnJvck1zZyA9IHRoZUVycm9yTXNnOwoJCX0KCQkKCQlwdWJsaWMgU3RyaW5nIGdldEVycm9yTXNnKCkgewoJCQlyZXR1cm4gdGhpcy5lcnJvck1zZzsKCQl9Cgl9Cglwcml2YXRlIGZpbmFsIHN0YXRpYyBMb2dnZXIgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoIlJFUVVFU1QiKTsKCQoJQE92ZXJyaWRlCglwdWJsaWMgdm9pZCBkZXN0cm95KCkgewoJCS8vIG5vLW9wCgl9CgoJQFN1cHByZXNzV2FybmluZ3MoInVuY2hlY2tlZCIpCglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIGRvRmlsdGVyKFNlcnZsZXRSZXF1ZXN0IHJlcXVlc3QsIFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSwKCQkJRmlsdGVyQ2hhaW4gY2hhaW4pIHRocm93cyBJT0V4Y2VwdGlvbiwgU2VydmxldEV4Y2VwdGlvbiB7CgoJCWZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCBodHRwUmVxdWVzdCA9IChIdHRwU2VydmxldFJlcXVlc3QpIHJlcXVlc3Q7CgkJCgkJU3RyaW5nIGNvbnRlbnRUeXBlID0gcmVxdWVzdC5nZXRDb250ZW50VHlwZSgpOwoJCQoJCVJlc3VsdCByZXN1bHQgPSB2YWxpZGF0ZVJlcXVlc3RQYXJhbWV0ZXJzKGh0dHBSZXF1ZXN0KTsgCgkJCgkJaWYocmVzdWx0ID09IFJlc3VsdC5PSyAmJiBjb250ZW50VHlwZSAhPSBudWxsICYmIGNvbnRlbnRUeXBlLmluZGV4T2YoImpzb24iKT49MCl7CgkJCQoJCQlKU09OUGFyc2VyIHBhcnNlciA9IG5ldyBKU09OUGFyc2VyKCk7CgkJCVN0cmluZyByZXFCb2R5ID0gcmVxdWVzdC5nZXRBdHRyaWJ1dGUoInJlcUJvZHkiKS50b1N0cmluZygpOwoJCQlTdHJpbmcgdXJpID0gaHR0cFJlcXVlc3QuZ2V0UmVxdWVzdFVSSSgpOwoJCQkKCQkJdHJ5IHsKCQkJCUpTT05PYmplY3Qgb2JqID0gKEpTT05PYmplY3QpIHBhcnNlci5wYXJzZShyZXFCb2R5KTsKCQkJCXJlc3VsdCA9IGNoZWNrVmFsaWRhdGlvbihvYmosIHVyaSk7CgkJCX0gY2F0Y2ggKFBhcnNlRXhjZXB0aW9uIGUpIHsKCQkJCWxvZ2dlci5kZWJ1ZygiQmFkIEpTT04gZGF0YSBmb3JtYXQiLCBlKTsKCQkJCXJlc3VsdCA9IFJlc3VsdC5GQUlMX0lOVkFMSUQ7CgkJCX0KCQkJCQoJCX0KCgkJaWYocmVzdWx0ICE9IFJlc3VsdC5PSyl7ICAgICAgICAJCQkKCQkJbG9nZ2VyLndhcm4oIkludmFsaWQgaW5wdXQgZGV0ZWN0ZWQgJ3t9JyIsIHJlc3VsdCk7CgkJCUh0dHBTZXJ2bGV0UmVzcG9uc2UgaHR0cFJlc3BvbnNlID0gKEh0dHBTZXJ2bGV0UmVzcG9uc2UpIHJlc3BvbnNlOwoJCQlodHRwUmVzcG9uc2Uuc2V0U3RhdHVzKDQwMCk7CgkJCWZpbmFsIEpTT05PYmplY3QgcmVzcG9uc2VCb2R5ID0gbmV3IEpTT05PYmplY3QoKTsKCQkJcmVzcG9uc2VCb2R5LnB1dCgic3RhdHVzQ29kZSIsIDQwMCk7CgkJCXJlc3BvbnNlQm9keS5wdXQoInN0YXR1c01zZyIsICJCYWQgUmVxdWVzdDogIiArIHJlc3VsdC5nZXRFcnJvck1zZygpKTsKCQkJcmVzcG9uc2Uuc2V0Q2hhcmFjdGVyRW5jb2RpbmcoIlVURi04Iik7CgkJCXJlc3BvbnNlLnNldENvbnRlbnRUeXBlKCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9VVRGLTgiKTsKCQkJZmluYWwgUHJpbnRXcml0ZXIgd3JpdGVyID0gcmVzcG9uc2UuZ2V0V3JpdGVyKCk7CgkJCXdyaXRlci5wcmludChyZXNwb25zZUJvZHkudG9KU09OU3RyaW5nKCkpOwoJCQl3cml0ZXIuZmx1c2goKTsKCQkJcmVzcG9uc2UuZmx1c2hCdWZmZXIoKTsKCQkJcmV0dXJuOwkJCQogICAgICAgIH0gZWxzZXsgICAgICAgIAkKICAgICAgICAJY2hhaW4uZG9GaWx0ZXIocmVxdWVzdCwgcmVzcG9uc2UpOyAgICAgICAJCiAgICAgICAgfQoJfQoKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgaW5pdChGaWx0ZXJDb25maWcgYXJnMCkgdGhyb3dzIFNlcnZsZXRFeGNlcHRpb24gewoJCS8vIG5vLW9wCgl9CgkKCUBTdXBwcmVzc1dhcm5pbmdzKHsgInJhd3R5cGVzIiB9KQoJcHJpdmF0ZSBSZXN1bHQgY2hlY2tWYWxpZGF0aW9uKEpTT05PYmplY3Qgb2JqLCBTdHJpbmcgdXJpKXsKCQkKCQlTZXQga2V5cyA9IG9iai5rZXlTZXQoKTsKCQlJdGVyYXRvciBpdCA9IGtleXMuaXRlcmF0b3IoKTsKCQlSZXN1bHQgcmVzdWx0ID0gUmVzdWx0Lk9LOwoJCXdoaWxlKHJlc3VsdCA9PSBSZXN1bHQuT0sgJiYgaXQuaGFzTmV4dCgpKSB7CgkJCVN0cmluZyBrZXkgPSBTdHJpbmcudmFsdWVPZihpdC5uZXh0KCkpOwoJCQlpZigodXJpLnNwbGl0KCIvIikubGVuZ3RoPT0zIHx8IHVyaS5zcGxpdCgiLyIpLmxlbmd0aD09NCkgJiYga2V5LmVxdWFscygiY29udGVudCIpIAoJCQkJCSYmICh1cmkuZW5kc1dpdGgoInNldHRpbmdzIikgfHwgdXJpLmVuZHNXaXRoKCJkZXBsb3ltZW50cyIpKSkKCQkJCXJlc3VsdCA9IFJlc3VsdC5PSzsKCQkJZWxzZSAKCQkJCXJlc3VsdCA9IGNoZWNrVmFsaWRhdGlvbihvYmouZ2V0KGtleSksIHVyaSwga2V5KTsKCQl9ICAgCgkJcmV0dXJuIHJlc3VsdDsKCX0KCXByaXZhdGUgUmVzdWx0IGNoZWNrVmFsaWRhdGlvbihPYmplY3Qgb2JqLCBTdHJpbmcgdXJpLCBTdHJpbmcga2V5KXsKCQlSZXN1bHQgcmVzdWx0ID0gUmVzdWx0Lk9LOwoJCWlmKG9iaiBpbnN0YW5jZW9mIEpTT05BcnJheSl7CgkJCUpTT05BcnJheSBqQXJyYXkgPSAoSlNPTkFycmF5KSBvYmo7CgkJCXJlc3VsdCA9IGNoZWNrVmFsaWRhdGlvbihqQXJyYXksIHVyaSwga2V5KTsKCQl9ZWxzZSBpZihvYmogaW5zdGFuY2VvZiBKU09OT2JqZWN0KXsKCQkJSlNPTk9iamVjdCBqT2JqID0gKEpTT05PYmplY3QpIG9iajsKCQkJcmVzdWx0ID0gY2hlY2tWYWxpZGF0aW9uKGpPYmosIHVyaSk7CgkJfWVsc2V7CgkJCVN0cmluZyB2YWx1ZSA9IFN0cmluZy52YWx1ZU9mKG9iaik7CgkJCXJlc3VsdCA9IGNoZWNrVmFsaWRhdGlvbih2YWx1ZSwgdXJpLCBrZXkpOwoJCX0KCQkKCQlyZXR1cm4gcmVzdWx0OwoJfQoJCglAU3VwcHJlc3NXYXJuaW5ncygidW5jaGVja2VkIikKCXByaXZhdGUgUmVzdWx0IGNoZWNrVmFsaWRhdGlvbihKU09OQXJyYXkgakFycmF5LCBTdHJpbmcgdXJpLCBTdHJpbmcga2V5KXsKCQlSZXN1bHQgcmVzdWx0ID0gUmVzdWx0Lk9LOwoJCUl0ZXJhdG9yPE9iamVjdD4gaXRlcmF0b3IgPSBqQXJyYXkuaXRlcmF0b3IoKTsKCQl3aGlsZSAoaXRlcmF0b3IuaGFzTmV4dCgpJiZyZXN1bHQgPT0gUmVzdWx0Lk9LKSB7CgkJCXJlc3VsdCA9IGNoZWNrVmFsaWRhdGlvbihpdGVyYXRvci5uZXh0KCksIHVyaSwga2V5KTsKCQl9CgkJcmV0dXJuIHJlc3VsdDsKCX0KCQoJcHJpdmF0ZSBSZXN1bHQgY2hlY2tWYWxpZGF0aW9uKFN0cmluZyB2YWx1ZSwgU3RyaW5nIHVybCwgU3RyaW5nIGtleSl7CgkJUmVzdWx0IHJlc3VsdCA9IFJlc3VsdC5PSzsKCQlpZiAodmFsdWUuaXNFbXB0eSgpKSB7CgkJCXJldHVybiByZXN1bHQ7CgkJfQoJCQovLwkJaWYgKGlzSHRtbChrZXksIHVybCkpewovLwkJCWlmICghKGluc3RhbmNlLmlzVmFsaWRJbnB1dCgiQklEIiwgdmFsdWUsICJTYWZlSFRNTCIsIDIwNDgsIGZhbHNlKSAmJgovLwkJCQkJaW5zdGFuY2UuaXNWYWxpZElucHV0KCJCSUQiLCB2YWx1ZSwgIkV4Y2x1ZGVTdHJpbmciLCAyMDQ4LCBmYWxzZSkpKXsKLy8JCQkJcmVzdWx0ID0gUmVzdWx0LkZBSUxfSFRNTDsgCi8vCQkJfQovLwkJfSBlbHNlIGlmIChpc1Bhc3NwaHJhc2Uoa2V5LCB1cmwpKSB7Ci8vCQkJaWYgKCFpbnN0YW5jZS5pc1ZhbGlkSW5wdXQoIkJJRCIsIHZhbHVlLCAiUGFzc3BocmFzZSIsIDEyOCwgZmFsc2UpKSB7Ci8vCQkJCXJlc3VsdCA9IFJlc3VsdC5GQUlMX1BBU1NQSFJBU0U7Ci8vCQkJfQovLwkJfQovLwkJZWxzZSBpZihpc1ZhbGlkTmFtZShrZXksdmFsdWUpKXsKLy8JCQlpZiAoIWluc3RhbmNlLmlzVmFsaWRJbnB1dCgiQklEIiwgdmFsdWUsICJTYWZlTmFtZVN0cmluZyIsIDUwLCBmYWxzZSkpIHsKLy8JCQkJcmVzdWx0ID0gUmVzdWx0LkZBSUxfTkFNRV9MRU5HVEg7Ci8vCQkJfQovLwkJfQoJCWVsc2UgaWYgKGlzVmFsaWRDb250ZW50KGtleSwgdXJsKSkgewoJCQkJcmV0dXJuIHJlc3VsdDsKCQl9IGVsc2UgewovLwkJCWlmKGlzTXNlVXJsKHVybCxrZXkpKXsKLy8JCQkJaWYgKCFpbnN0YW5jZS5pc1ZhbGlkSW5wdXQoIkJJRCIsIHZhbHVlLCAiU2FmZU1zZVN0cmluZyIsIDIwNDgsIGZhbHNlKSkgewovLwkJCQkJcmVzdWx0ID0gUmVzdWx0LkZBSUxfTVNFOwovLwkJCQl9Ci8vCQkJfQovLwkJCWVsc2UgaWYodXJsLmNvbnRhaW5zKCJycm1Qcm9maWxlcyIpICYmIGtleS5lcXVhbHMoInBhcmFtVmFsdWVzIikpewovLwkJCQkgaWYoIWluc3RhbmNlLmlzVmFsaWRJbnB1dCgiQklEIiwgdmFsdWUsICJTYWZlUHJvZmlsZVN0cmluZyIsIDIwNDgsIGZhbHNlKSl7Ci8vCQkJCQlyZXN1bHQgPSBSZXN1bHQuRkFJTF9SUk1fUFJPRklMRTsKLy8JCQkJfQovLwkJCX0KLy8JCQllbHNlIGlmICghaW5zdGFuY2UuaXNWYWxpZElucHV0KCJCSUQiLCB2YWx1ZSwgIlNhZmVTdHJpbmciLCAyMDQ4LCBmYWxzZSkpIHsKLy8JCQkJcmVzdWx0ID0gUmVzdWx0LkZBSUxfQkFTSUM7Ci8vCQkJfQoJCX0KCQlyZXR1cm4gcmVzdWx0OwoJfQoKCXByaXZhdGUgYm9vbGVhbiBpc01zZVVybChTdHJpbmcgdXJsLFN0cmluZyBrZXkpewoJCWlmKCh1cmwuZXF1YWxzKCIvYXBpL21zZVJlZnMiKSB8fCB1cmwuZXF1YWxzKCIvdjAvbXNlUmVmcyIpIHx8IHVybC5jb250YWlucygiL2FwaS9kZXBsb3ltZW50cyIpIHx8IHVybC5jb250YWlucygiL3YwL2RlcGxveW1lbnRzIikgfHx1cmwuZXF1YWxzKCIvYXBpL21zZUltYWdlcyIpIHx8IHVybC5lcXVhbHMoIi92MC9tc2VJbWFnZXMiKSkgJiYgIWtleS5lcXVhbHMoIm9mZnNldCIpICYmICFrZXkuZXF1YWxzKCJsaW1pdCIpICYmICFrZXkuZXF1YWxzKCJ0eXBlIikgJiYgIWtleS5lcXVhbHMoImFzc2lnbmVkIikgJiYgIWtleS5lcXVhbHMoImZpZWxkcyIpKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCglwcml2YXRlIGJvb2xlYW4gaXNIdG1sKFN0cmluZyBrZXksIFN0cmluZyB1cmwpIHsKCQlib29sZWFuIG1hdGNoZXMgPSBmYWxzZTsKCQlmb3IgKGludCBhPTA7IW1hdGNoZXMgJiYgYTxIVE1MX1VSTFMuc2l6ZSgpO2ErKykgewoJCQlmaW5hbCBQYXR0ZXJuIHBhdHRlcm4gPSBIVE1MX1VSTFMuZ2V0KGEpOwoJCQltYXRjaGVzID0gcGF0dGVybi5tYXRjaGVyKHVybCkubWF0Y2hlcygpOwoJCX0KCQkKCQlpZiAobWF0Y2hlcykgewoJCQlyZXR1cm4gSFRNTF9LRVlfUEFUVEVSTi5tYXRjaGVyKGtleSkubWF0Y2hlcygpOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCXByaXZhdGUgYm9vbGVhbiBpc1Bhc3NwaHJhc2UoU3RyaW5nIGtleSwgU3RyaW5nIHVybCkgewoJCWJvb2xlYW4gbWF0Y2hlcyA9IGZhbHNlOwoJCWZvciAoaW50IGE9MDshbWF0Y2hlcyAmJiBhPFBBU1NQSFJBU0VfVVJMUy5zaXplKCk7YSsrKSB7CgkJCWZpbmFsIFBhdHRlcm4gcGF0dGVybiA9IFBBU1NQSFJBU0VfVVJMUy5nZXQoYSk7CgkJCW1hdGNoZXMgPSBwYXR0ZXJuLm1hdGNoZXIodXJsKS5tYXRjaGVzKCk7CgkJfQoJCQoJCWlmIChtYXRjaGVzKSB7CgkJCXJldHVybiBQQVNTUEhSQVNFX0tFWV9QQVRURVJOLm1hdGNoZXIoa2V5KS5tYXRjaGVzKCk7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCQoJcHJpdmF0ZSBib29sZWFuIGlzVmFsaWRDb250ZW50KFN0cmluZyBrZXksIFN0cmluZyB1cmwpIHsKCQkKCQkKCQlpZihrZXkuZXF1YWxzSWdub3JlQ2FzZSgiY29udGVudCIpICYmIENPTlRFTlRfUEFUVEVSTi5tYXRjaGVyKHVybCkubWF0Y2hlcygpKQoJCQlyZXR1cm4gdHJ1ZTsKCQllbHNlCgkJCXJldHVybiBmYWxzZTsKCQkKCX0KCQoJcHJpdmF0ZSBib29sZWFuIGlzVmFsaWROYW1lKFN0cmluZyBrZXksIFN0cmluZyB1cmwpewoJCWlmKGtleS5lcXVhbHNJZ25vcmVDYXNlKCJuYW1lIikpCgkJCXJldHVybiB0cnVlOwoJCWVsc2UKCQkJcmV0dXJuIGZhbHNlOwoJfQoJCglwcml2YXRlIFJlc3VsdCB2YWxpZGF0ZVJlcXVlc3RQYXJhbWV0ZXJzKGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCBodHRwUmVxdWVzdCkgewoJCVJlc3VsdCByZXN1bHQgPSBSZXN1bHQuT0s7IAoJCWlmICghaHR0cFJlcXVlc3QuZ2V0UGFyYW1ldGVyTWFwKCkuaXNFbXB0eSgpKSB7CgkJCWZvciAoZmluYWwgTWFwLkVudHJ5PFN0cmluZywgU3RyaW5nW10+IGVudHJ5IDogaHR0cFJlcXVlc3QuZ2V0UGFyYW1ldGVyTWFwKCkuZW50cnlTZXQoKSkgewoJCQkJZm9yIChmaW5hbCBTdHJpbmcgdmFsdWUgOiBlbnRyeS5nZXRWYWx1ZSgpKSB7CgkJCQkJcmVzdWx0ID0gY2hlY2tWYWxpZGF0aW9uKHZhbHVlLCBodHRwUmVxdWVzdC5nZXRSZXF1ZXN0VVJJKCksIGVudHJ5LmdldEtleSgpKTsJCgkJCQkJaWYgKHJlc3VsdCAhPSBSZXN1bHQuT0spIHsKCQkJCQkJcmV0dXJuIHJlc3VsdDsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuIHJlc3VsdDsKCX0KfQ=="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\servlet\WrappedServletOutputStream.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQ7CgppbXBvcnQgamF2YS5pby5CeXRlQXJyYXlPdXRwdXRTdHJlYW07CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwoKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldE91dHB1dFN0cmVhbTsKCnB1YmxpYyBjbGFzcyBXcmFwcGVkU2VydmxldE91dHB1dFN0cmVhbSBleHRlbmRzIFNlcnZsZXRPdXRwdXRTdHJlYW0gewoJcHJpdmF0ZSBmaW5hbCBTZXJ2bGV0T3V0cHV0U3RyZWFtIG9yZ2luYWxPdXQ7Cglwcml2YXRlIGZpbmFsIEJ5dGVBcnJheU91dHB1dFN0cmVhbSBvdXQgPSBuZXcgQnl0ZUFycmF5T3V0cHV0U3RyZWFtKDEwMjQpOwoJcHJpdmF0ZSBib29sZWFuIGhhc0RhdGEgPSBmYWxzZTsKCXB1YmxpYyBXcmFwcGVkU2VydmxldE91dHB1dFN0cmVhbShmaW5hbCBTZXJ2bGV0T3V0cHV0U3RyZWFtIG9yaWdpbmFsT3V0KSB7CgkJdGhpcy5vcmdpbmFsT3V0ID0gb3JpZ2luYWxPdXQ7Cgl9CgoJQE92ZXJyaWRlCglwdWJsaWMgdm9pZCB3cml0ZShmaW5hbCBpbnQgYikgdGhyb3dzIElPRXhjZXB0aW9uIHsKCQl0aGlzLmhhc0RhdGEgPSB0cnVlOwoJCXRoaXMub3JnaW5hbE91dC53cml0ZShiKTsKCQl0aGlzLm91dC53cml0ZShiKTsKCX0KCQoJcHVibGljIGJvb2xlYW4gaGFzRGF0YSgpIHsKCQlyZXR1cm4gdGhpcy5oYXNEYXRhOwoJfQoJCglwdWJsaWMgYnl0ZVtdIGdldEJ5dGVzKCkgewoJCXJldHVybiB0aGlzLm91dC50b0J5dGVBcnJheSgpOwoJfQp9Cg=="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\TrustModifier.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEubmV0Lkh0dHBVUkxDb25uZWN0aW9uOwppbXBvcnQgamF2YS5zZWN1cml0eS5LZXlNYW5hZ2VtZW50RXhjZXB0aW9uOwppbXBvcnQgamF2YS5zZWN1cml0eS5LZXlTdG9yZUV4Y2VwdGlvbjsKaW1wb3J0IGphdmEuc2VjdXJpdHkuTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uOwppbXBvcnQgamF2YS5zZWN1cml0eS5jZXJ0LkNlcnRpZmljYXRlRXhjZXB0aW9uOwppbXBvcnQgamF2YS5zZWN1cml0eS5jZXJ0Llg1MDlDZXJ0aWZpY2F0ZTsKCmltcG9ydCBqYXZheC5uZXQuc3NsLkhvc3RuYW1lVmVyaWZpZXI7CmltcG9ydCBqYXZheC5uZXQuc3NsLkh0dHBzVVJMQ29ubmVjdGlvbjsKaW1wb3J0IGphdmF4Lm5ldC5zc2wuU1NMQ29udGV4dDsKaW1wb3J0IGphdmF4Lm5ldC5zc2wuU1NMU2Vzc2lvbjsKaW1wb3J0IGphdmF4Lm5ldC5zc2wuU1NMU29ja2V0RmFjdG9yeTsKaW1wb3J0IGphdmF4Lm5ldC5zc2wuVHJ1c3RNYW5hZ2VyOwppbXBvcnQgamF2YXgubmV0LnNzbC5YNTA5VHJ1c3RNYW5hZ2VyOwoKcHVibGljIGNsYXNzIFRydXN0TW9kaWZpZXIgewogICBwcml2YXRlIHN0YXRpYyBmaW5hbCBUcnVzdGluZ0hvc3RuYW1lVmVyaWZpZXIgCiAgICAgIFRSVVNUSU5HX0hPU1ROQU1FX1ZFUklGSUVSID0gbmV3IFRydXN0aW5nSG9zdG5hbWVWZXJpZmllcigpOwogICBwcml2YXRlIHN0YXRpYyBTU0xTb2NrZXRGYWN0b3J5IGZhY3Rvcnk7CgogICAvKiogQ2FsbCB0aGlzIHdpdGggYW55IEh0dHBVUkxDb25uZWN0aW9uLCBhbmQgaXQgd2lsbCAKICAgIG1vZGlmeSB0aGUgdHJ1c3Qgc2V0dGluZ3MgaWYgaXQgaXMgYW4gSFRUUFMgY29ubmVjdGlvbi4gKi8KICAgcHVibGljIHN0YXRpYyB2b2lkIHJlbGF4SG9zdENoZWNraW5nKEh0dHBVUkxDb25uZWN0aW9uIGNvbm4sU3RyaW5nIGJ5UGFzc09wdGlvbikgCiAgICAgICB0aHJvd3MgS2V5TWFuYWdlbWVudEV4Y2VwdGlvbiwgTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uLCBLZXlTdG9yZUV4Y2VwdGlvbiB7CgkgICAJYnlQYXNzT3B0aW9uPWJ5UGFzc09wdGlvbi50cmltKCk7CgkgICAgICBpZiAoY29ubiBpbnN0YW5jZW9mIEh0dHBzVVJMQ29ubmVjdGlvbiAmJiAoYnlQYXNzT3B0aW9uLmVxdWFsc0lnbm9yZUNhc2UoImhvc3ROYW1lIikgfHwgYnlQYXNzT3B0aW9uLmVxdWFsc0lnbm9yZUNhc2UoImFsbCIpKSkgewoJICAgICAgICAgIEh0dHBzVVJMQ29ubmVjdGlvbiBodHRwc0Nvbm5lY3Rpb24gPSAoSHR0cHNVUkxDb25uZWN0aW9uKSBjb25uOwoJICAgICAgICAgIGlmKGJ5UGFzc09wdGlvbi5lcXVhbHNJZ25vcmVDYXNlKCJhbGwiKSl7CgkgCSAgICAgICAgIFNTTFNvY2tldEZhY3RvcnkgZmFjdG9yeSA9IHByZXBGYWN0b3J5KGh0dHBzQ29ubmVjdGlvbik7CgkgCSAgICAgICAgIGh0dHBzQ29ubmVjdGlvbi5zZXRTU0xTb2NrZXRGYWN0b3J5KGZhY3RvcnkpOwoJICAgICAgICAgIH0KCSAgICAgICAgICBodHRwc0Nvbm5lY3Rpb24uc2V0SG9zdG5hbWVWZXJpZmllcihUUlVTVElOR19IT1NUTkFNRV9WRVJJRklFUik7CgkgICAgICAgfQogICB9CgogICBzdGF0aWMgc3luY2hyb25pemVkIFNTTFNvY2tldEZhY3RvcnkgCiAgICAgICAgICAgIHByZXBGYWN0b3J5KEh0dHBzVVJMQ29ubmVjdGlvbiBodHRwc0Nvbm5lY3Rpb24pIAogICAgICAgICAgICB0aHJvd3MgTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uLCBLZXlTdG9yZUV4Y2VwdGlvbiwgS2V5TWFuYWdlbWVudEV4Y2VwdGlvbiB7CgogICAgICBpZiAoZmFjdG9yeSA9PSBudWxsKSB7CiAgICAgICAgIFNTTENvbnRleHQgY3R4ID0gU1NMQ29udGV4dC5nZXRJbnN0YW5jZSgiVExTIik7CiAgICAgICAgIGN0eC5pbml0KG51bGwsIG5ldyBUcnVzdE1hbmFnZXJbXXsgbmV3IEFsd2F5c1RydXN0TWFuYWdlcigpIH0sIG51bGwpOwogICAgICAgICBmYWN0b3J5ID0gY3R4LmdldFNvY2tldEZhY3RvcnkoKTsKICAgICAgfQogICAgICByZXR1cm4gZmFjdG9yeTsKICAgfQogICAKICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgY2xhc3MgVHJ1c3RpbmdIb3N0bmFtZVZlcmlmaWVyIGltcGxlbWVudHMgSG9zdG5hbWVWZXJpZmllciB7CiAgICAgIHB1YmxpYyBib29sZWFuIHZlcmlmeShTdHJpbmcgaG9zdG5hbWUsIFNTTFNlc3Npb24gc2Vzc2lvbikgewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICB9CgogICBwcml2YXRlIHN0YXRpYyBjbGFzcyBBbHdheXNUcnVzdE1hbmFnZXIgaW1wbGVtZW50cyBYNTA5VHJ1c3RNYW5hZ2VyIHsKICAgICAgcHVibGljIHZvaWQgY2hlY2tDbGllbnRUcnVzdGVkKFg1MDlDZXJ0aWZpY2F0ZVtdIGFyZzAsIFN0cmluZyBhcmcxKSB0aHJvd3MgQ2VydGlmaWNhdGVFeGNlcHRpb24geyB9CiAgICAgIHB1YmxpYyB2b2lkIGNoZWNrU2VydmVyVHJ1c3RlZChYNTA5Q2VydGlmaWNhdGVbXSBhcmcwLCBTdHJpbmcgYXJnMSkgdGhyb3dzIENlcnRpZmljYXRlRXhjZXB0aW9uIHsgfQogICAgICAKICAgICAgcHVibGljIFg1MDlDZXJ0aWZpY2F0ZVtdIGdldEFjY2VwdGVkSXNzdWVycygpIHsgcmV0dXJuIG51bGw7IH0gICAgIAogICAgICAKICAgfQp9Cg=="},{"filepath":"comserv-parent\comserv-common\src\main\java\com\db\comserv\main\utilities\Utility.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLmlvLlVuc3VwcG9ydGVkRW5jb2RpbmdFeGNlcHRpb247CmltcG9ydCBqYXZhLm5ldC5NYWxmb3JtZWRVUkxFeGNlcHRpb247CmltcG9ydCBqYXZhLm5ldC5VUklTeW50YXhFeGNlcHRpb247CmltcG9ydCBqYXZhLm5ldC5VUkw7CmltcG9ydCBqYXZhLm5ldC5VUkxFbmNvZGVyOwppbXBvcnQgamF2YS50ZXh0LlNpbXBsZURhdGVGb3JtYXQ7CmltcG9ydCBqYXZhLnV0aWwuRGF0ZTsKCmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZTsKCmltcG9ydCBvcmcuanNvbi5zaW1wbGUucGFyc2VyLkpTT05QYXJzZXI7CmltcG9ydCBvcmcuanNvbi5zaW1wbGUucGFyc2VyLlBhcnNlRXhjZXB0aW9uOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlcjsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXJGYWN0b3J5OwoKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4ubW9kZWwuUmVzcG9uc2U7CgpwdWJsaWMgY2xhc3MgVXRpbGl0eSB7CgoJcHJvdGVjdGVkIGZpbmFsIHN0YXRpYyBMb2dnZXIgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoIlBST1BFUlRJRVMiKTsKCQoJcHVibGljIHN0YXRpYyA8VD4gUmVzcG9uc2U8VD4gc2V0RXJyb3IoZmluYWwgaW50IGVycm9Db2RlLCBmaW5hbCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKSB0aHJvd3MgSU9FeGNlcHRpb24gewoJCXJlc3BvbnNlLnNlbmRFcnJvcihlcnJvQ29kZSk7CQkKCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIHN0YXRpYyA8VD4gUmVzcG9uc2U8VD4gc2V0RXJyb3IoZmluYWwgaW50IGVycm9Db2RlLCBmaW5hbCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlLCBTdHJpbmcgY2F1c2UpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgkJcmVzcG9uc2Uuc2V0U3RhdHVzKGVycm9Db2RlKTsKCQlmaW5hbCBSZXNwb25zZTxUPiByZXMgPSBuZXcgUmVzcG9uc2U8VD4oKTsKCQlyZXMuc2V0U3RhdHVzQ29kZShlcnJvQ29kZSk7CgkJcmVzLnNldFN0YXR1c01zZyhjYXVzZSk7CgkJcmV0dXJuIHJlczsKCX0KCQoJcHVibGljIHN0YXRpYyA8VD4gUmVzcG9uc2U8VD4gc2V0QmFkUmVxdWVzdChmaW5hbCBTdHJpbmcgY2F1c2UsIGZpbmFsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgkJcmVzcG9uc2Uuc2V0U3RhdHVzKDQwMCk7CgkJZmluYWwgUmVzcG9uc2U8VD4gcmVzID0gbmV3IFJlc3BvbnNlPFQ+KCk7CgkJcmVzLnNldFN0YXR1c0NvZGUoNDAwKTsKCQlyZXMuc2V0U3RhdHVzTXNnKCJCYWQgUmVxdWVzdDogIiArIGNhdXNlKTsKCQlyZXR1cm4gcmVzOwoJfQoKCUBTYWZlVmFyYXJncwoJcHVibGljIHN0YXRpYyA8VD4gUmVzcG9uc2U8VD4gZ2V0UmVzcG9uc2UoZmluYWwgVC4uLnJlc3VsdCl7CgkJZmluYWwgUmVzcG9uc2U8VD4gcmVzID0gbmV3IFJlc3BvbnNlPFQ+KCk7CgkJcmVzLnNldFJlc3VsdChyZXN1bHQpOwoJCXJlcy5zZXRTdGF0dXNDb2RlKEh0dHBTZXJ2bGV0UmVzcG9uc2UuU0NfT0spOwoJCXJlcy5zZXRTdGF0dXNNc2coIk9LIik7CgkJcmV0dXJuIHJlczsKCX0KCQoJcHVibGljIHN0YXRpYyBib29sZWFuIGVxdWFsc1dpdGhOdWxsKGZpbmFsIE9iamVjdCBsaHMsIGZpbmFsIE9iamVjdCByaHMpIHsKCQlpZiAobGhzID09IG51bGwpIHsKCQkJcmV0dXJuIChyaHMgPT0gbnVsbCk7CgkJfQoJCQoJCXJldHVybiBsaHMuZXF1YWxzKHJocyk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgYnl0ZVtdIHRvVXRmOEJ5dGVzKGZpbmFsIFN0cmluZyB2YWx1ZSkgewoJCWlmICh2YWx1ZSA9PSBudWxsKSB7CgkJCXJldHVybiBuZXcgYnl0ZVswXTsKCQl9CgkJdHJ5IHsKCQkJcmV0dXJuIHZhbHVlLmdldEJ5dGVzKCJVVEYtOCIpOwoJCX0gY2F0Y2ggKGZpbmFsIFVuc3VwcG9ydGVkRW5jb2RpbmdFeGNlcHRpb24gZSkgewoJCQl0aHJvdyBuZXcgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uKCJGYWlsZWQgdG8gY29udmVydCAnIiArIHZhbHVlICsgIicgdG8gVVRGLTgiLCBlKTsKCQl9Cgl9CgkKCQoJcHVibGljIHN0YXRpYyBTdHJpbmcgZW5jb2RlVXJsKFN0cmluZyB1cmxTdHIpIHRocm93cyBVbnN1cHBvcnRlZEVuY29kaW5nRXhjZXB0aW9uLCBVUklTeW50YXhFeGNlcHRpb24sIE1hbGZvcm1lZFVSTEV4Y2VwdGlvbnsKCQkgICAgZmluYWwgVVJMIHVybD0gbmV3IFVSTCh1cmxTdHIpOwoJCSAgICBTdHJpbmdCdWZmZXIgc2IgPSBuZXcgU3RyaW5nQnVmZmVyKCk7CgkJICAgIHNiLmFwcGVuZCh1cmwuZ2V0UHJvdG9jb2woKSArICI6Ly8iICk7CgkJICAgIHNiLmFwcGVuZCh1cmwuZ2V0SG9zdCgpKTsKCQkgICAgaWYodXJsLmdldFBvcnQoKSAhPSA4MCAmJiB1cmwuZ2V0UG9ydCgpICE9IDQ0MykKCQkgICAgCXNiLmFwcGVuZCgiOiIgKyB1cmwuZ2V0UG9ydCgpKTsKCQkgICAgc2IuYXBwZW5kKFVSTEVuY29kZXIuZW5jb2RlKHVybC5nZXRQYXRoKCksICJVVEYtOCIpKTsKCQkgICAgaWYodXJsLmdldFF1ZXJ5KCkgIT1udWxsKQoJCSAgICAJc2IuYXBwZW5kKCI/IiArIHVybC5nZXRRdWVyeSgpLnJlcGxhY2UoIiAiLCAiJTIwIikpOwoJCSAgIHJldHVybiBzYi50b1N0cmluZygpLnJlcGxhY2UoIisiLCAiJTIwIikucmVwbGFjZSgiJTJGIiwgIi8iKTsKCX0KCQoJcHVibGljIHN0YXRpYyBlbnVtIEVycm9yTWVzYWdlc3sKCQlJUF9CTE9DS0VSX01FU1NBR0UoMSksIFVTRVJfQkxPQ0tFUl9NRVNTQUdFKDIpOwoJCQoJCXByaXZhdGUgaW50IHZhbHVlOwoJCQoJCXByaXZhdGUgRXJyb3JNZXNhZ2VzKGludCB2YWwpewoJCQl0aGlzLnNldFZhbHVlKHZhbCk7CgkJfQoKCQlwdWJsaWMgaW50IGdldFZhbHVlKCkgewoJCQlyZXR1cm4gdmFsdWU7CgkJfQoKCQlwdWJsaWMgdm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpIHsKCQkJdGhpcy52YWx1ZSA9IHZhbHVlOwoJCX0KCX0KIAoJcHJvdGVjdGVkIHN0YXRpYyBTdHJpbmcgZ2V0VmFsdWVGb3JMb2coZmluYWwgU3RyaW5nIG5hbWUsIGZpbmFsIFN0cmluZyB2YWx1ZSkgewoJCXJldHVybiB2YWx1ZTsKCX0KCQoJcHVibGljIHN0YXRpYyBsb25nIGZvcm1hdERhdGUoU3RyaW5nIHRpbWUpewoJCVNpbXBsZURhdGVGb3JtYXQgZiA9IG5ldyBTaW1wbGVEYXRlRm9ybWF0KCJ5eXl5LU1NLWRkJ1QnSEg6bW0iKTsKCQl0cnl7CgkJCURhdGUgZCA9IGYucGFyc2UodGltZSk7CgkJCXJldHVybiBkLmdldFRpbWUoKTsKCQl9Y2F0Y2goamF2YS50ZXh0LlBhcnNlRXhjZXB0aW9uIGUpewoJCQlsb2dnZXIuZXJyb3IoIkRhdGUgZm9ybWF0IGV4Y2VwdGlvbiAiLCBlKTsKCQkJdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oZSk7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIE9iamVjdCBwYXJzZShmaW5hbCBTdHJpbmcgaW5wdXQpIHsKCQlmaW5hbCBKU09OUGFyc2VyIHBhcnNlciA9IG5ldyBKU09OUGFyc2VyKCk7CgkJdHJ5IHsKCQkJcmV0dXJuIHBhcnNlci5wYXJzZShpbnB1dCk7CgkJfSBjYXRjaCAoUGFyc2VFeGNlcHRpb24gZSkgewoJCQl0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbihlKTsKCQl9Cgl9Cn0K"},{"filepath":"comserv-parent\comserv-common\src\main\resources\log4j2.component.properties","filecontent":"IyB0aGlzIGZpbGUgb3ZlcnJpZGVzIGxvZzRqMiBzeXN0ZW0gc2V0dGluZ3MNCiMgbXVzdCBkaXNhYmxlIHNodXRkb3duIGhvb2tzIGFuZCBqbXggdG8gcHJldmVudCB0b21jYXQgcGVybSBnZW4gbGVha3MNCmxvZzRqLnNodXRkb3duSG9va0VuYWJsZWQ9ZmFsc2UNCmxvZzRqMi5kaXNhYmxlLmpteD10cnVl"},{"filepath":"comserv-parent\comserv-common\src\test\java\com\db\comserv\main\model\ResponseTest.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4ubW9kZWw7Cgo="},{"filepath":"comserv-parent\comserv-common\src\test\resources\validation.properties","filecontent":""},{"filepath":"comserv-parent\comserv-java-formatter.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8cHJvZmlsZXMgdmVyc2lvbj0iMTIiPg0KPHByb2ZpbGUga2luZD0iQ29kZUZvcm1hdHRlclByb2ZpbGUiIG5hbWU9ImNvbXNlcnYtcHJvamVjdCIgdmVyc2lvbj0iMTIiPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfZWxsaXBzaXMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2VudW1fZGVjbGFyYXRpb25zIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV9hbm5vdGF0aW9uX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2F0X2luX2Fubm90YXRpb25fdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50Lm5ld19saW5lc19hdF9ibG9ja19ib3VuZGFyaWVzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb25fcGFyYW1ldGVycyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50Lmluc2VydF9uZXdfbGluZV9mb3JfcGFyYW1ldGVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hZnRlcl9hbm5vdGF0aW9uX29uX3BhY2thZ2UiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfcGFyZW5zX2luX2VudW1fY29uc3RhbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2FmdGVyX2ltcG9ydHMiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl93aGlsZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX3Jvb3RfdGFncyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9wYXJlbnNfaW5fYW5ub3RhdGlvbl90eXBlX21lbWJlcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfZGVjbGFyYXRpb25fdGhyb3dzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmZvcm1hdF9qYXZhZG9jX2NvbW1lbnRzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRhdGlvbi5zaXplIiB2YWx1ZT0iNCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfcG9zdGZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2Zvcl9pbmNyZW1lbnRzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl90eXBlX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2Zvcl9pbml0cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2luX2VtcHR5X2Fub255bW91c190eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9zZW1pY29sb25faW5fZm9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmRpc2FibGluZ190YWciIHZhbHVlPSJAZm9ybWF0dGVyOm9mZiIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb250aW51YXRpb25faW5kZW50YXRpb24iIHZhbHVlPSIyIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZW51bV9jb25zdGFudHMiIHZhbHVlPSIwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9pbXBvcnRzIiB2YWx1ZT0iMSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19hZnRlcl9wYWNrYWdlIiB2YWx1ZT0iMSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfYmluYXJ5X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tdWx0aXBsZV9sb2NhbF9kZWNsYXJhdGlvbnMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fZW51bV9jb25zdGFudCIgdmFsdWU9IjE2Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2FuZ2xlX2JyYWNrZXRfaW5fcGFyYW1ldGVyaXplZF90eXBlX3JlZmVyZW5jZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5pbmRlbnRfcm9vdF90YWdzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci53cmFwX2JlZm9yZV9vcl9vcGVyYXRvcl9tdWx0aWNhdGNoIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5lbmFibGluZ190YWciIHZhbHVlPSJAZm9ybWF0dGVyOm9uIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jbG9zaW5nX2JyYWNlX2luX2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfcGFyZW50aGVzaXplZF9leHByZXNzaW9uX2luX3JldHVybiIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3Rocm93c19jbGF1c2VfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX2Fubm90YXRpb25fb25fcGFyYW1ldGVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5rZWVwX3RoZW5fc3RhdGVtZW50X29uX3NhbWVfbGluZSIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hZnRlcl9hbm5vdGF0aW9uX29uX2ZpZWxkIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9leHBsaWNpdGNvbnN0cnVjdG9yY2FsbF9hcmd1bWVudHMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2luX2VtcHR5X2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9wcmVmaXhfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JldHdlZW5fdHlwZV9kZWNsYXJhdGlvbnMiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9jYXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfYW5nbGVfYnJhY2tldF9pbl90eXBlX2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX2Fubm90YXRpb25fb25fbWV0aG9kIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3N3aXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2Fub255bW91c190eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9wYXJlbnRoZXNpemVkX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLm5ldmVyX2luZGVudF9saW5lX2NvbW1lbnRzX29uX2ZpcnN0X2NvbHVtbiIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5lbnVtSWRlbnRpZmllciIgdmFsdWU9ImVycm9yIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9hbmRfaW5fdHlwZV9wYXJhbWV0ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2Zvcl9pbml0cyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfc3RhdGVtZW50c19jb21wYXJlX3RvX2Jsb2NrIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfYW5vbnltb3VzX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3F1ZXN0aW9uX2luX3dpbGRjYXJkIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fYW5ub3RhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfaW52b2NhdGlvbl9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9zd2l0Y2giIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5saW5lX2xlbmd0aCIgdmFsdWU9IjEyMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci51c2Vfb25fb2ZmX3RhZ3MiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9icmFja2V0c19pbl9hcnJheV9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9lbnVtX2NvbnN0YW50IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZXR3ZWVuX2VtcHR5X3BhcmVuc19pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2Fzc2lnbm1lbnRfb3BlcmF0b3IiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LnByZXNlcnZlX3doaXRlX3NwYWNlX2JldHdlZW5fY29kZV9hbmRfbGluZV9jb21tZW50cyIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hZnRlcl9hbm5vdGF0aW9uX29uX2xvY2FsX3ZhcmlhYmxlIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfdW5pb25fdHlwZV9pbl9tdWx0aWNhdGNoIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2ZvciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5udW1iZXJfb2ZfYmxhbmtfbGluZXNfYXRfYmVnaW5uaW5nX29mX21ldGhvZF9ib2R5IiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3R5cGVfYXJndW1lbnRzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmtlZXBfZWxzZV9zdGF0ZW1lbnRfb25fc2FtZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9iaW5hcnlfZXhwcmVzc2lvbiIgdmFsdWU9IjE2Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9wYXJhbWV0ZXJpemVkX3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tdWx0aXBsZV9maWVsZF9kZWNsYXJhdGlvbnMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9hbm5vdGF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2FyZ3VtZW50c19pbl9leHBsaWNpdF9jb25zdHJ1Y3Rvcl9jYWxsIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fYW5ub3RhdGlvbl9kZWNsYXJhdGlvbl9oZWFkZXIiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9zdXBlcmludGVyZmFjZXMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9kZWZhdWx0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfcXVlc3Rpb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Jsb2NrIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2xhbWJkYV9ib2R5IiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tcGFjdF9lbHNlX2lmIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX3R5cGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX2NhdGNoIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIucHV0X2VtcHR5X3N0YXRlbWVudF9vbl9uZXdfbGluZSIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9wYXJhbWV0ZXJzX2luX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9pbnZvY2F0aW9uX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2FyZ3VtZW50c19pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9IjE2Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfdGhyb3dzX2NsYXVzZV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9IjE2Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5hc3NlcnRJZGVudGlmaWVyIiB2YWx1ZT0iZXJyb3IiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5jbGVhcl9ibGFua19saW5lc19pbl9ibG9ja19jb21tZW50IiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jYXRjaF9pbl90cnlfc3RhdGVtZW50IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fdHJ5IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hdF9lbmRfb2ZfZmlsZV9pZl9taXNzaW5nIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmNsZWFyX2JsYW5rX2xpbmVzX2luX2phdmFkb2NfY29tbWVudCIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2JpbmFyeV9vcGVyYXRvciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3VuYXJ5X29wZXJhdG9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2V4cHJlc3Npb25zX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuZm9ybWF0X2xpbmVfY29tbWVudF9zdGFydGluZ19vbl9maXJzdF9jb2x1bW4iIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLm51bWJlcl9vZl9lbXB0eV9saW5lc190b19wcmVzZXJ2ZSIgdmFsdWU9IjEiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2Nhc2UiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9lbGxpcHNpcyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9zZW1pY29sb25faW5fdHJ5X3Jlc291cmNlcyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2Fzc2VydCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5faWYiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fdHlwZV9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfYW5kX2luX3R5cGVfcGFyYW1ldGVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3BhcmVudGhlc2l6ZWRfZXhwcmVzc2lvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5mb3JtYXRfbGluZV9jb21tZW50cyIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2xhYmVsZWRfc3RhdGVtZW50IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWduX3R5cGVfbWVtYmVyc19vbl9jb2x1bW5zIiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hc3NpZ25tZW50IiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfaW5fZW1wdHlfbWV0aG9kX2JvZHkiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fdHlwZV9oZWFkZXIiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZXR3ZWVuX2VtcHR5X3BhcmVuc19pbl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX2VudW1fY29uc3RhbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3Jfc3VwZXJpbnRlcmZhY2VzX2luX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSIxNiIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfZmlyc3RfY2xhc3NfYm9keV9kZWNsYXJhdGlvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9jb25kaXRpb25hbF9leHByZXNzaW9uIiB2YWx1ZT0iODAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jbG9zaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uX3BhcmFtZXRlcnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmZvcm1hdF9ndWFyZGlhbl9jbGF1c2Vfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5faWYiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX2Fubm90YXRpb25fb25fdHlwZSIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fYmxvY2siIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2VudW1fZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfYmxvY2tfaW5fY2FzZSIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5mb3JtYXRfaGVhZGVyIiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl93aGlsZSIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmNvZGVnZW4uaW5saW5lSnNyQnl0ZWNvZGUiIHZhbHVlPSJlbmFibGVkIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9zd2l0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5qb2luX3dyYXBwZWRfbGluZXMiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9wYXJlbnNfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zd2l0Y2hzdGF0ZW1lbnRzX2NvbXBhcmVfdG9fY2FzZXMiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19icmFja2V0X2luX2FycmF5X2FsbG9jYXRpb25fZXhwcmVzc2lvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX3N5bmNocm9uaXplZCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5uZXdfbGluZXNfYXRfamF2YWRvY19ib3VuZGFyaWVzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfYW5ub3RhdGlvbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9mb3IiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9yZXNvdXJjZXNfaW5fdHJ5IiB2YWx1ZT0iODAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIudXNlX3RhYnNfb25seV9mb3JfbGVhZGluZ19pbmRlbnRhdGlvbnMiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3NlbGVjdG9yX2luX21ldGhvZF9pbnZvY2F0aW9uIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIubmV2ZXJfaW5kZW50X2Jsb2NrX2NvbW1lbnRzX29uX2ZpcnN0X2NvbHVtbiIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuc291cmNlIiB2YWx1ZT0iMS44Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3N5bmNocm9uaXplZCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uX3Rocm93cyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci50YWJ1bGF0aW9uLnNpemUiIHZhbHVlPSI0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV9lbnVtX2NvbnN0YW50IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfYnJhY2tldF9pbl9hcnJheV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb2xvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmZvcm1hdF9zb3VyY2VfY29kZSIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl90cnkiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9zZW1pY29sb25faW5fdHJ5X3Jlc291cmNlcyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfZmllbGQiIHZhbHVlPSIwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9hdF9pbl9hbm5vdGF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb250aW51YXRpb25faW5kZW50YXRpb25fZm9yX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iMiIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfcXVlc3Rpb25faW5fd2lsZGNhcmQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9tZXRob2QiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3Jfc3VwZXJjbGFzc19pbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9zdXBlcmludGVyZmFjZXNfaW5fZW51bV9kZWNsYXJhdGlvbiIgdmFsdWU9IjE2Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfcGFyZW50aGVzaXplZF9leHByZXNzaW9uX2luX3Rocm93IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fbGFiZWxlZF9zdGF0ZW1lbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuY29kZWdlbi50YXJnZXRQbGF0Zm9ybSIgdmFsdWU9IjEuOCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3Jfc3dpdGNoIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9zdXBlcmludGVyZmFjZXMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tZXRob2RfZGVjbGFyYXRpb25fcGFyYW1ldGVycyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYWZ0ZXJfdHlwZV9hbm5vdGF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fcGFyZW50aGVzaXplZF9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmZvcm1hdF9odG1sIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfYXRfaW5fYW5ub3RhdGlvbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3R5cGVfcGFyYW1ldGVycyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2NvbXBhY3RfaWYiIHZhbHVlPSIxNiIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfZW1wdHlfbGluZXMiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX3BhcmFtZXRlcml6ZWRfdHlwZV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl91bmFyeV9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX2VudW1fY29uc3RhbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYXJndW1lbnRzX2luX2Fubm90YXRpb24iIHZhbHVlPSIxNiIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2VudW1fZGVjbGFyYXRpb25zIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2VtcHR5X2FycmF5X2luaXRpYWxpemVyX29uX29uZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X3N3aXRjaHN0YXRlbWVudHNfY29tcGFyZV90b19zd2l0Y2giIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9iZWZvcmVfZWxzZV9pbl9pZl9zdGF0ZW1lbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfYXNzaWdubWVudF9vcGVyYXRvciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9uZXdfY2h1bmsiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hZnRlcl9sYWJlbCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fZW51bV9kZWNsYXJhdGlvbl9oZWFkZXIiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2JyYWNrZXRfaW5fYXJyYXlfYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYW5nbGVfYnJhY2tldF9pbl9wYXJhbWV0ZXJpemVkX3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYW5nbGVfYnJhY2tldF9pbl90eXBlX2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2Nhc3QiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fYXNzZXJ0IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9tZW1iZXJfdHlwZSIgdmFsdWU9IjEiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV93aGlsZV9pbl9kb19zdGF0ZW1lbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFja2V0X2luX2FycmF5X3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYW5nbGVfYnJhY2tldF9pbl9wYXJhbWV0ZXJpemVkX3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2FyZ3VtZW50c19pbl9xdWFsaWZpZWRfYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX29wZW5pbmdfYnJhY2VfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV9lbnVtX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9icmVha3NfY29tcGFyZV90b19jYXNlcyIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5faWYiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfc2VtaWNvbG9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3Bvc3RmaXhfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3RyeSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2FuZ2xlX2JyYWNrZXRfaW5fdHlwZV9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX2Nhc3QiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmNvbW1lbnQuZm9ybWF0X2Jsb2NrX2NvbW1lbnRzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2xhbWJkYV9hcnJvdyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmtlZXBfaW1wbGVfaWZfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fZW51bV9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3BhcmFtZXRlcnNfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMTYiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fYnJhY2tldHNfaW5fYXJyYXlfdHlwZV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19hbmdsZV9icmFja2V0X2luX3R5cGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9zZW1pY29sb25faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fbWV0aG9kX2RlY2xhcmF0aW9uX3Rocm93cyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2tldF9pbl9hcnJheV9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zdGF0ZW1lbnRzX2NvbXBhcmVfdG9fYm9keSIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9tdWx0aXBsZV9maWVsZHMiIHZhbHVlPSIxNiIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fZW51bV9jb25zdGFudF9hcmd1bWVudHMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9wcmVmaXhfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLndyYXBfYmVmb3JlX2JpbmFyeV9vcGVyYXRvciIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fdHlwZV9wYXJhbWV0ZXJzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9jYXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb21wbGlhbmNlIiB2YWx1ZT0iMS44Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19icmFja2V0X2luX2FycmF5X3JlZmVyZW5jZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2Fubm90YXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9lbnVtX2NvbnN0YW50X2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfYnJhY2VzX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbG9uX2luX2Nhc2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fbXVsdGlwbGVfbG9jYWxfZGVjbGFyYXRpb25zIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fYW5ub3RhdGlvbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFja2V0X2luX2FycmF5X3JlZmVyZW5jZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIud3JhcF9vdXRlcl9leHByZXNzaW9uc193aGVuX25lc3RlZCIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2Nsb3NpbmdfcGFyZW5faW5fY2FzdCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfZW51bV9jb25zdGFudCIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYmxhbmtfbGluZXNfYmVmb3JlX3BhY2thZ2UiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9mb3IiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX3N5bmNocm9uaXplZCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2Zvcl9pbmNyZW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fYW5ub3RhdGlvbl90eXBlX21lbWJlcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fd2hpbGUiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9lbnVtX2NvbnN0YW50IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2V4cGxpY2l0Y29uc3RydWN0b3JjYWxsX2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2Fubm90YXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2FuZ2xlX2JyYWNrZXRfaW5fdHlwZV9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYm9keV9kZWNsYXJhdGlvbnNfY29tcGFyZV90b19lbnVtX2NvbnN0YW50X2hlYWRlciIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2xhbWJkYV9hcnJvdyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl90aHJvd3MiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmpvaW5fbGluZXNfaW5fY29tbWVudHMiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3R5cGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9xdWVzdGlvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmluZGVudF9wYXJhbWV0ZXJfZGVzY3JpcHRpb24iIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9iZWZvcmVfZmluYWxseV9pbl90cnlfc3RhdGVtZW50IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci50YWJ1bGF0aW9uLmNoYXIiIHZhbHVlPSJzcGFjZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX211bHRpcGxlX2ZpZWxkX2RlY2xhcmF0aW9ucyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYmxhbmtfbGluZXNfYmV0d2Vlbl9pbXBvcnRfZ3JvdXBzIiB2YWx1ZT0iMSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5saW5lU3BsaXQiIHZhbHVlPSIxMjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fYW5ub3RhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX3N3aXRjaCIgdmFsdWU9Imluc2VydCIvPg0KPC9wcm9maWxlPg0KPC9wcm9maWxlcz4NCg=="},{"filepath":"comserv-parent\comserv-javascript-formatter.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8cHJvZmlsZXMgdmVyc2lvbj0iMTEiPg0KPHByb2ZpbGUga2luZD0iQ29kZUZvcm1hdHRlclByb2ZpbGUiIG5hbWU9ImNvbXNlcnYtSlMiIHZlcnNpb249IjExIj4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2JpbmFyeV9leHByZXNzaW9uIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9ibG9jayIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19hbmdsZV9icmFja2V0X2luX3R5cGVfYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fZW51bV9kZWNsYXJhdGlvbnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2VudW1fZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fcGFyYW1ldGVyaXplZF90eXBlX3JlZmVyZW5jZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fcGFyYW1ldGVyaXplZF90eXBlX3JlZmVyZW5jZSIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX2Fubm90YXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIubmV2ZXJfaW5kZW50X2Jsb2NrX2NvbW1lbnRzX29uX2ZpcnN0X2NvbHVtbiIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5mb3JtYXRfaGVhZGVyIiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl90aHJvd3MiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuY29tcGFjdF9lbHNlX2lmIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmNvbW1lbnQuY2xlYXJfYmxhbmtfbGluZXNfaW5famF2YWRvY19jb21tZW50IiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19hbmdsZV9icmFja2V0X2luX3BhcmFtZXRlcml6ZWRfdHlwZV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2ZvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fc3luY2hyb25pemVkIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25fdHlwZV9tZW1iZXJzX29uX2NvbHVtbnMiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9maXJzdF9jbGFzc19ib2R5X2RlY2xhcmF0aW9uIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tdWx0aXBsZV9maWVsZF9kZWNsYXJhdGlvbnMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2Vsc2Vfc3RhdGVtZW50X29uX3NhbWVfbGluZSIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX3doaWxlIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIubnVtYmVyX29mX2JsYW5rX2xpbmVzX2F0X2JlZ2lubmluZ19vZl9tZXRob2RfYm9keSIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2FyZ3VtZW50c19pbl9leHBsaWNpdF9jb25zdHJ1Y3Rvcl9jYWxsIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb2xvbl9pbl9vYmplY3RfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX3R5cGVfYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hZnRlcl9jb21tYV9pbl9vYmpsaXRfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fc3dpdGNoIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9mb3JfaW5jcmVtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fYW5ub3RhdGlvbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfcGFyZW5zX2luX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLndyYXBfYmVmb3JlX2JpbmFyeV9vcGVyYXRvciIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLnB1dF9lbXB0eV9zdGF0ZW1lbnRfb25fbmV3X2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfdGhyb3dzX2NsYXVzZV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2FsbG9jYXRpb25fZXhwcmVzc2lvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX3R5cGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfdW5hcnlfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fZW51bV9jb25zdGFudCIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19hbmdsZV9icmFja2V0X2luX3R5cGVfYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudGF0aW9uLnNpemUiIHZhbHVlPSIyIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Fubm90YXRpb25fdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9lbnVtX2NvbnN0YW50X2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fc3dpdGNoIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYXNzaWdubWVudCIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9mb3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fZW51bV9jb25zdGFudCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX211bHRpcGxlX2ZpZWxkcyIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3NlbGVjdG9yX2luX21ldGhvZF9pbnZvY2F0aW9uIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9hbmRfaW5fdHlwZV9wYXJhbWV0ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50Lmluc2VydF9uZXdfbGluZV9mb3JfcGFyYW1ldGVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2Zvcl9pbml0cyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2VudW1fY29uc3RhbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5jb21waWxlci5jb21wbGlhbmNlIiB2YWx1ZT0iMS41Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfYnJhY2VzX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfcGFyYW1ldGVyc19pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYWZ0ZXJfb3BlbmluZ19icmFjZV9pbl9vYmpsaXRfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19hZnRlcl9wYWNrYWdlIiB2YWx1ZT0iMSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9tZXRob2QiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tdWx0aXBsZV9sb2NhbF9kZWNsYXJhdGlvbnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfYnJhY2tldHNfaW5fYXJyYXlfYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2FuZ2xlX2JyYWNrZXRfaW5fdHlwZV9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5hc3NlcnRJZGVudGlmaWVyIiB2YWx1ZT0iZXJyb3IiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9wYXJlbnNfaW5fYW5ub3RhdGlvbl90eXBlX21lbWJlcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fYW5ub3RhdGlvbl90eXBlX21lbWJlcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci50YWJ1bGF0aW9uLnNpemUiIHZhbHVlPSIyIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2Fubm90YXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3NlbWljb2xvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19icmFja2V0X2luX2FycmF5X3JlZmVyZW5jZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fYW5ub3RhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2F0X2luX2Fubm90YXRpb25fdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fc3luY2hyb25pemVkIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tZXRob2RfaW52b2NhdGlvbl9hcmd1bWVudHMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbG9uX2luX2RlZmF1bHQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9zdXBlcmNsYXNzX2luX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSIwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2VudW1fY29uc3RhbnQiIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmNvbW1lbnQuZm9ybWF0X3NvdXJjZV9jb2RlIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zdGF0ZW1lbnRzX2NvbXBhcmVfdG9fYmxvY2siIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2F0X2luX2Fubm90YXRpb25fdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fcGFyZW50aGVzaXplZF9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9jYXRjaCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tdWx0aXBsZV9sb2NhbF9kZWNsYXJhdGlvbnMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl93aGlsZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbG9uX2luX2ZvciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3Jfc3VwZXJpbnRlcmZhY2VzX2luX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSIwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2Nsb3NpbmdfYW5nbGVfYnJhY2tldF9pbl90eXBlX3BhcmFtZXRlcnMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5jb250aW51YXRpb25faW5kZW50YXRpb24iIHZhbHVlPSIyIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2Fubm90YXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl9wYXJhbWV0ZXJzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX21ldGhvZF9pbnZvY2F0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfcGFyZW50aGVzaXplZF9leHByZXNzaW9uX2luX3Rocm93IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9jYXNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2FmdGVyX2ltcG9ydHMiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIua2VlcF9lbXB0eV9vYmpsaXRfaW5pdGlhbGl6ZXJfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZXhwcmVzc2lvbnNfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSI0OSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zd2l0Y2hzdGF0ZW1lbnRzX2NvbXBhcmVfdG9fc3dpdGNoIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmtlZXBfdGhlbl9zdGF0ZW1lbnRfb25fc2FtZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfaW5fZW1wdHlfbWV0aG9kX2JvZHkiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX2Vsc2VfaW5faWZfc3RhdGVtZW50IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9iaW5hcnlfb3BlcmF0b3IiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZXR3ZWVuX2ltcG9ydF9ncm91cHMiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX29wZW5pbmdfYnJhY2VfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb25fcGFyYW1ldGVycyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9leHBsaWNpdGNvbnN0cnVjdG9yY2FsbF9hcmd1bWVudHMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3BhcmVudGhlc2l6ZWRfZXhwcmVzc2lvbl9pbl9yZXR1cm4iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfZmllbGQiIHZhbHVlPSIwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fZW51bV9jb25zdGFudF9oZWFkZXIiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2xhYmVsZWRfc3RhdGVtZW50IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5jb21waWxlci5zb3VyY2UiIHZhbHVlPSIxLjUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2NvbmRpdGlvbmFsX2V4cHJlc3Npb24iIHZhbHVlPSIwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9iaW5hcnlfb3BlcmF0b3IiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50Lmluc2VydF9uZXdfbGluZV9iZWZvcmVfcm9vdF90YWdzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fcGFyZW50aGVzaXplZF9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmNvbW1lbnQuZm9ybWF0X2Jsb2NrX2NvbW1lbnRzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9iZWZvcmVfY2F0Y2hfaW5fdHJ5X3N0YXRlbWVudCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmZvcm1hdF9odG1sIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb25fdGhyb3dzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9wYWNrYWdlIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV9hbm9ueW1vdXNfdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fbWV0aG9kX2RlY2xhcmF0aW9uX3BhcmFtZXRlcnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2luX2VtcHR5X3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9wYXJlbnNfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFja2V0X2luX2FycmF5X3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9vYmpsaXRfaW5pdGlhbGl6ZXIiIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fZXhwbGljaXRjb25zdHJ1Y3RvcmNhbGxfYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9lbnVtX2NvbnN0YW50IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9hc3NpZ25tZW50X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5faWYiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fY2F0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX3R5cGVfYXJndW1lbnRzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX2ZvciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYXJndW1lbnRzX2luX2FsbG9jYXRpb25fZXhwcmVzc2lvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2Fubm90YXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fcXVhbGlmaWVkX2FsbG9jYXRpb25fZXhwcmVzc2lvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fZm9yX2luY3JlbWVudHMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2VtcHR5X2FycmF5X2luaXRpYWxpemVyX29uX29uZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYm9keV9kZWNsYXJhdGlvbnNfY29tcGFyZV90b19lbnVtX2RlY2xhcmF0aW9uX2hlYWRlciIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3R5cGVfYXJndW1lbnRzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fYW5ub3RhdGlvbl9kZWNsYXJhdGlvbl9oZWFkZXIiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYmxhbmtfbGluZXNfYmVmb3JlX25ld19jaHVuayIgdmFsdWU9IjEiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX2ZpbmFsbHlfaW5fdHJ5X3N0YXRlbWVudCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2ZvciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZXR3ZWVuX2JyYWNrZXRzX2luX2FycmF5X3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fbXVsdGlwbGVfZmllbGRfZGVjbGFyYXRpb25zIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9ibG9jayIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2Nsb3NpbmdfcGFyZW5faW5fY2FzdCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9lbXB0eV9saW5lcyIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX3doaWxlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9tZW1iZXJfdHlwZSIgdmFsdWU9IjEiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYnJlYWtzX2NvbXBhcmVfdG9fY2FzZXMiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYmxhbmtfbGluZXNfYmVmb3JlX2ltcG9ydHMiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2Fub255bW91c190eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfaW52b2NhdGlvbl9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbG9uX2luX29iamVjdF9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2tldF9pbl9hcnJheV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9zdXBlcmludGVyZmFjZXMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX3R5cGVfcGFyYW1ldGVycyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfdW5hcnlfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX2lmIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYmxhbmtfbGluZXNfYmV0d2Vlbl90eXBlX2RlY2xhcmF0aW9ucyIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfc3dpdGNoc3RhdGVtZW50c19jb21wYXJlX3RvX2Nhc2VzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZXR3ZWVuX2VtcHR5X3BhcmVuc19pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9zeW5jaHJvbml6ZWQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX3N3aXRjaCIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3NlbWljb2xvbl9pbl9mb3IiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfc3RhdGVtZW50c19jb21wYXJlX3RvX2JvZHkiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2Nhc2UiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX3doaWxlX2luX2RvX3N0YXRlbWVudCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfaW5fZW1wdHlfYmxvY2siIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2Zvcl9pbml0cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmNsZWFyX2JsYW5rX2xpbmVzX2luX2Jsb2NrX2NvbW1lbnQiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19icmFja2V0X2luX2FycmF5X2FsbG9jYXRpb25fZXhwcmVzc2lvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYW5nbGVfYnJhY2tldF9pbl90eXBlX2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfaW5fZW1wdHlfZW51bV9jb25zdGFudCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jbG9zaW5nX2JyYWNlX2luX2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fdHlwZV9oZWFkZXIiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2F0X2VuZF9vZl9maWxlX2lmX21pc3NpbmciIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Fub255bW91c190eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX2Nsb3NpbmdfYnJhY2VfaW5fb2JqbGl0X2luaXRpYWxpemVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5pbmRlbnRfcm9vdF90YWdzIiB2YWx1ZT0idHJ1ZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fYXNzZXJ0IiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9xdWVzdGlvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Jsb2NrX2luX2Nhc2UiIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9wb3N0Zml4X29wZXJhdG9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9pZiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fc3dpdGNoIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5mb3JtYXRfamF2YWRvY19jb21tZW50cyIgdmFsdWU9InRydWUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2FyZ3VtZW50c19pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYW5nbGVfYnJhY2tldF9pbl90eXBlX3BhcmFtZXRlcnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2Fzc2VydCIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9zdXBlcmludGVyZmFjZXMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfaW5fZW1wdHlfYW5ub3RhdGlvbl9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9jYXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb25fdGhyb3dzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuY29udGludWF0aW9uX2luZGVudGF0aW9uX2Zvcl9vYmpsaXRfaW5pdGlhbGl6ZXIiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29sb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYW5nbGVfYnJhY2tldF9pbl9wYXJhbWV0ZXJpemVkX3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmZvcm1hdF9ndWFyZGlhbl9jbGF1c2Vfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmNvbW1lbnQuZm9ybWF0X2xpbmVfY29tbWVudHMiIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2VudW1fY29uc3RhbnQiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmNvbXBpbGVyLmNvZGVnZW4udGFyZ2V0UGxhdGZvcm0iIHZhbHVlPSIxLjUiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYnJhY2tldF9pbl9hcnJheV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9zZW1pY29sb25faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIubGluZVNwbGl0IiB2YWx1ZT0iMTAwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLnRhYnVsYXRpb24uY2hhciIgdmFsdWU9InNwYWNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2VudW1fZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfYXRfaW5fYW5ub3RhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3Rocm93c19jbGF1c2VfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV9lbnVtX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3Bvc3RmaXhfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIua2VlcF9pbXBsZV9pZl9vbl9vbmVfbGluZSIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl90aHJvd3MiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9jYXN0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfZWxsaXBzaXMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfYnJhY2tldF9pbl9hcnJheV9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIudXNlX3RhYnNfb25seV9mb3JfbGVhZGluZ19pbmRlbnRhdGlvbnMiIHZhbHVlPSJmYWxzZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19hbmdsZV9icmFja2V0X2luX3R5cGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fY2FzdCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jbG9zaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3F1ZXN0aW9uX2luX2NvbmRpdGlvbmFsIiB2YWx1ZT0iaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX2Fubm90YXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfZWxsaXBzaXMiIHZhbHVlPSJpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fcGFyZW50aGVzaXplZF9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9zd2l0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9sYWJlbGVkX3N0YXRlbWVudCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2VudW1fY29uc3RhbnRzIiB2YWx1ZT0iMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfYXNzaWdubWVudF9vcGVyYXRvciIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFja2V0X2luX2FycmF5X2FsbG9jYXRpb25fZXhwcmVzc2lvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2NvbXBhY3RfaWYiIHZhbHVlPSIwIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5saW5lX2xlbmd0aCIgdmFsdWU9IjEwMCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3BhcmFtZXRlcml6ZWRfdHlwZV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9wYXJhbWV0ZXJzX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfcHJlZml4X29wZXJhdG9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmNvbnRpbnVhdGlvbl9pbmRlbnRhdGlvbl9mb3JfYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSIxIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIubnVtYmVyX29mX2VtcHR5X2xpbmVzX3RvX3ByZXNlcnZlIiB2YWx1ZT0iMSIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9lbnVtX2RlY2xhcmF0aW9ucyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9lbnVtX2NvbnN0YW50X2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPg0KPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLndzdC5qc2R0LmNvcmUuZm9ybWF0dGVyLm5ldmVyX2luZGVudF9saW5lX2NvbW1lbnRzX29uX2ZpcnN0X2NvbHVtbiIgdmFsdWU9ImZhbHNlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9zdXBlcmludGVyZmFjZXNfaW5fZW51bV9kZWNsYXJhdGlvbiIgdmFsdWU9IjAiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3ByZWZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCjxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS53c3QuanNkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LmluZGVudF9wYXJhbWV0ZXJfZGVzY3JpcHRpb24iIHZhbHVlPSJ0cnVlIi8+DQo8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2Uud3N0LmpzZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfcGFyZW5zX2luX2VudW1fY29uc3RhbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQo8L3Byb2ZpbGU+DQo8L3Byb2ZpbGVzPg0K"},{"filepath":"comserv-parent\comserv-web\pom.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgoJPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgoKCTxhcnRpZmFjdElkPmNvbXNlcnYtd2ViPC9hcnRpZmFjdElkPgoJPHBhY2thZ2luZz53YXI8L3BhY2thZ2luZz4KCgk8cGFyZW50PgoJCTxncm91cElkPmNvbS5kYi5jb21zZXJ2PC9ncm91cElkPgoJCTxhcnRpZmFjdElkPmNvbXNlcnYtcGFyZW50PC9hcnRpZmFjdElkPgoJCTx2ZXJzaW9uPjEuOC4wPC92ZXJzaW9uPgoJCTxyZWxhdGl2ZVBhdGg+Li4vcG9tLnhtbDwvcmVsYXRpdmVQYXRoPgoJPC9wYXJlbnQ+CgoJPG5hbWU+Y29tc2Vydi13ZWI8L25hbWU+CgoJPGRlcGVuZGVuY2llcz4KCQk8ZGVwZW5kZW5jeT4KCQkJPGdyb3VwSWQ+Y29tLmRiLmNvbXNlcnY8L2dyb3VwSWQ+CgkJCTxhcnRpZmFjdElkPmNvbXNlcnYtY29tbW9uPC9hcnRpZmFjdElkPgoJCQk8dmVyc2lvbj4ke3ZlcnNpb259PC92ZXJzaW9uPgoJCTwvZGVwZW5kZW5jeT4KPGRlcGVuZGVuY3k+Cjxncm91cElkPmNvbS52aXZpZHNvbHV0aW9uczwvZ3JvdXBJZD4KPGFydGlmYWN0SWQ+anRzPC9hcnRpZmFjdElkPgo8dmVyc2lvbj4xLjEzPC92ZXJzaW9uPgo8L2RlcGVuZGVuY3k+CgoJCTxkZXBlbmRlbmN5PgoJCQk8Z3JvdXBJZD5qYXZheC5zZXJ2bGV0LmpzcDwvZ3JvdXBJZD4KCQkJPGFydGlmYWN0SWQ+anNwLWFwaTwvYXJ0aWZhY3RJZD4KCQkJPHZlcnNpb24+JHtqc3AtYXBpLnZlcnNpb259PC92ZXJzaW9uPgoJCQk8c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPgoJCTwvZGVwZW5kZW5jeT4KCQkKCQkKCQkKCTwvZGVwZW5kZW5jaWVzPgoKCTxidWlsZD4KCQk8ZmluYWxOYW1lPiR7bmFtZX08L2ZpbmFsTmFtZT4KCQkKICAgICAgICA8cmVzb3VyY2VzPgogICAgICAgICAgICA8cmVzb3VyY2U+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5PnNyYy9tYWluL3Jlc291cmNlczwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGZpbHRlcmluZz50cnVlPC9maWx0ZXJpbmc+CiAgICAgICAgICAgIDwvcmVzb3VyY2U+CiAgICAgICAgICAgIAogICAgICAgICAgICA8cmVzb3VyY2U+CiAgICAgICAgICAgICAgICA8ZGlyZWN0b3J5PiR7cHJvamVjdC5iYXNlZGlyfS8uLi9idWlsZDwvZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgPGZpbHRlcmluZz50cnVlPC9maWx0ZXJpbmc+CiAgICAgICAgICAgICAgICA8aW5jbHVkZXM+CiAgICAgICAgICAgICAgICAgICAgPGluY2x1ZGU+QlVJTERfTlVNQkVSPC9pbmNsdWRlPgogICAgICAgICAgICAgICAgPC9pbmNsdWRlcz4KICAgICAgICAgICAgPC9yZXNvdXJjZT4KICAgICAgICA8L3Jlc291cmNlcz4KICAgICAgICAKCQk8cGx1Z2lucz4KCQkJPHBsdWdpbj4KCQkJCTxncm91cElkPm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4KCQkJCTxhcnRpZmFjdElkPm1hdmVuLXdhci1wbHVnaW48L2FydGlmYWN0SWQ+CgkJCQk8Y29uZmlndXJhdGlvbj4KCQkJCQk8ZmFpbE9uTWlzc2luZ1dlYlhtbD5mYWxzZTwvZmFpbE9uTWlzc2luZ1dlYlhtbD4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAoJCQkJPC9jb25maWd1cmF0aW9uPgoJCQk8L3BsdWdpbj4KCgkJCTxwbHVnaW4+CgkJCQk8Z3JvdXBJZD5vcmcuYXBhY2hlLnRvbWNhdC5tYXZlbjwvZ3JvdXBJZD4KCQkJCTxhcnRpZmFjdElkPnRvbWNhdDctbWF2ZW4tcGx1Z2luPC9hcnRpZmFjdElkPgoJCQkJPHZlcnNpb24+Mi4yPC92ZXJzaW9uPgoJCQkJPGNvbmZpZ3VyYXRpb24+CgkJCQkJPHVybD5odHRwOi8vbG9jYWxob3N0OjgwODAvbWFuYWdlci90ZXh0PC91cmw+CgkJCQkJPHNlcnZlcj5Ub21jYXRTZXJ2ZXI8L3NlcnZlcj4KCQkJCQk8cGF0aD4vJHtuYW1lfTwvcGF0aD4KCQkJCTwvY29uZmlndXJhdGlvbj4KCQkJPC9wbHVnaW4+CgoJCQkKCQkJCgkJCQoKCQkJCgkJCQoJCQk8cGx1Z2luPgogICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgogICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4td2FyLXBsdWdpbjwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgICAgIDx2ZXJzaW9uPiR7bWF2ZW4td2FyLXBsdWdpbi52ZXJzaW9ufTwvdmVyc2lvbj4KICAgICAgICAgICAgICAgIDxleGVjdXRpb25zPgogICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpZD5wcmVwYXJlLXdhcjwvaWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwaGFzZT5wcmVwYXJlLXBhY2thZ2U8L3BoYXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8Z29hbHM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbD5leHBsb2RlZDwvZ29hbD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nb2Fscz4KICAgICAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbj4KICAgICAgICAgICAgICAgIDwvZXhlY3V0aW9ucz4KICAgICAgICAgICAgPC9wbHVnaW4+CiAgICAgICAgICAgIAoJCQkKCQk8L3BsdWdpbnM+CgkJPHBsdWdpbk1hbmFnZW1lbnQ+CgkJCTxwbHVnaW5zPgoJCQkJPCEtLVRoaXMgcGx1Z2luJ3MgY29uZmlndXJhdGlvbiBpcyB1c2VkIHRvIHN0b3JlIEVjbGlwc2UgbTJlIHNldHRpbmdzIG9ubHkuIEl0IGhhcyBubyBpbmZsdWVuY2Ugb24gdGhlIE1hdmVuIGJ1aWxkIGl0c2VsZi4tLT4KCQkJCTxwbHVnaW4+CgkJCQkJPGdyb3VwSWQ+b3JnLmVjbGlwc2UubTJlPC9ncm91cElkPgoJCQkJCTxhcnRpZmFjdElkPmxpZmVjeWNsZS1tYXBwaW5nPC9hcnRpZmFjdElkPgoJCQkJCTx2ZXJzaW9uPjEuMC4wPC92ZXJzaW9uPgoJCQkJCTxjb25maWd1cmF0aW9uPgoJCQkJCQk8bGlmZWN5Y2xlTWFwcGluZ01ldGFkYXRhPgoJCQkJCQkJPHBsdWdpbkV4ZWN1dGlvbnM+CgkJCQkJCQkJPHBsdWdpbkV4ZWN1dGlvbj4KCQkJCQkJCQkJPHBsdWdpbkV4ZWN1dGlvbkZpbHRlcj4KCQkJCQkJCQkJCTxncm91cElkPgoJCQkJCQkJCQkJCWNvbS5naXRodWIua2xpZWJlcgoJCQkJCQkJCQkJPC9ncm91cElkPgoJCQkJCQkJCQkJPGFydGlmYWN0SWQ+CgkJCQkJCQkJCQkJcGhhbnRvbWpzLW1hdmVuLXBsdWdpbgoJCQkJCQkJCQkJPC9hcnRpZmFjdElkPgoJCQkJCQkJCQkJPHZlcnNpb25SYW5nZT4KCQkJCQkJCQkJCQlbMC40LCkKCQkJCQkJCQkJCTwvdmVyc2lvblJhbmdlPgoJCQkJCQkJCQkJPGdvYWxzPgoJCQkJCQkJCQkJCTxnb2FsPmluc3RhbGw8L2dvYWw+CgkJCQkJCQkJCQk8L2dvYWxzPgoJCQkJCQkJCQk8L3BsdWdpbkV4ZWN1dGlvbkZpbHRlcj4KCQkJCQkJCQkJPGFjdGlvbj4KCQkJCQkJCQkJCTxpZ25vcmU+PC9pZ25vcmU+CgkJCQkJCQkJCTwvYWN0aW9uPgoJCQkJCQkJCTwvcGx1Z2luRXhlY3V0aW9uPgoJCQkJCQkJPC9wbHVnaW5FeGVjdXRpb25zPgoJCQkJCQk8L2xpZmVjeWNsZU1hcHBpbmdNZXRhZGF0YT4KCQkJCQk8L2NvbmZpZ3VyYXRpb24+CgkJCQk8L3BsdWdpbj4KCQkJPC9wbHVnaW5zPgoJCTwvcGx1Z2luTWFuYWdlbWVudD4KCTwvYnVpbGQ+CgoJPGdyb3VwSWQ+Y29tc2Vydi13ZWI8L2dyb3VwSWQ+CjwvcHJvamVjdD4K"},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\config\Initializer.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5jb25maWc7CgppbXBvcnQgamF2YS5pby5GaWxlOwppbXBvcnQgamF2YS5uZXQuVVJMOwppbXBvcnQgamF2YS51dGlsLkVudW1TZXQ7CmltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsKaW1wb3J0IGphdmEudXRpbC5MaW5rZWRIYXNoTWFwOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47CgppbXBvcnQgamF2YXguc2VydmxldC5EaXNwYXRjaGVyVHlwZTsKaW1wb3J0IGphdmF4LnNlcnZsZXQuRmlsdGVyUmVnaXN0cmF0aW9uOwppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHRFdmVudDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHRMaXN0ZW5lcjsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldEV4Y2VwdGlvbjsKaW1wb3J0IGphdmF4LnNlcnZsZXQuU2VydmxldFJlZ2lzdHJhdGlvbi5EeW5hbWljOwoKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXI7CmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyRmFjdG9yeTsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLldlYkFwcGxpY2F0aW9uSW5pdGlhbGl6ZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5jb250ZXh0LnN1cHBvcnQuQW5ub3RhdGlvbkNvbmZpZ1dlYkFwcGxpY2F0aW9uQ29udGV4dDsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQuRGlzcGF0Y2hlclNlcnZsZXQ7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5maWx0ZXIuQ3NyZkNoZWNrRmlsdGVyOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuTG9nVXRpbDsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQuTG9nZ2luZ1NlcnZsZXRGaWx0ZXI7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5zZXJ2bGV0LlZhbGlkYXRpb25TZXJ2bGV0RmlsdGVyOwogIApwdWJsaWMgY2xhc3MgSW5pdGlhbGl6ZXIgaW1wbGVtZW50cyBXZWJBcHBsaWNhdGlvbkluaXRpYWxpemVyIHsgIAoJcHJvdGVjdGVkIGZpbmFsIHN0YXRpYyBMb2dnZXIgYUxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJBVURJVCIpOwoJcHJvdGVjdGVkIGZpbmFsIHN0YXRpYyBMb2dnZXIgc0xvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJTRVJWRVIiKTsKCQogICAgQE92ZXJyaWRlICAKICAgIHB1YmxpYyB2b2lkIG9uU3RhcnR1cChmaW5hbCBTZXJ2bGV0Q29udGV4dCBzZXJ2bGV0Q29udGV4dCkgdGhyb3dzIFNlcnZsZXRFeGNlcHRpb24geyAgCiAgICAJCiAgICAJLy8gU2V0IG91ciBUTFMgZGVmYXVsdHMKICAgIAlpZiAoU3lzdGVtLmdldFByb3BlcnR5KCJodHRwcy5wcm90b2NvbHMiKSA9PSBudWxsKSB7CgkJCVN5c3RlbS5zZXRQcm9wZXJ0eSgiaHR0cHMucHJvdG9jb2xzIiwgIlRMU3YxLjIiKTsKCQl9CiAgICAJaWYgKFN5c3RlbS5nZXRQcm9wZXJ0eSgiaHR0cHMuY2lwaGVyU3VpdGVzIikgPT0gbnVsbCkgewogICAgCQlTeXN0ZW0uc2V0UHJvcGVydHkoImh0dHBzLmNpcGhlclN1aXRlcyIsIAogICAgCQkJCSJUTFNfUlNBX1dJVEhfQUVTXzEyOF9DQkNfU0hBMjU2LFRMU19ESEVfUlNBX1dJVEhfQUVTXzEyOF9DQkNfU0hBMjU2Iik7CiAgICAJfQogICAgCQogICAgCWFMb2cuaW5mbygiU3RhcnRpbmciKTsKICAgIAlzTG9nLmluZm8oIlN0YXJ0aW5nIik7CiAgICAJCiAgICAJc2VydmxldENvbnRleHQuc2V0QXR0cmlidXRlKCJhY3RpdmVVc2Vyc0xvY2siLCBuZXcgT2JqZWN0KCkpOwogICAgCXNlcnZsZXRDb250ZXh0LnNldEF0dHJpYnV0ZSgiYWN0aXZlVXNlcnMiLCBuZXcgSGFzaE1hcCgpKTsKICAgIAlzZXJ2bGV0Q29udGV4dC5zZXRBdHRyaWJ1dGUoImFjdGl2ZUlwc0xvY2siLCBuZXcgT2JqZWN0KCkpOwogICAgCXNlcnZsZXRDb250ZXh0LnNldEF0dHJpYnV0ZSgiYWN0aXZlaXBzIiwgbmV3IExpbmtlZEhhc2hNYXAoKSk7CiAgICAJCiAgICAJc2VydmxldENvbnRleHQuYWRkTGlzdGVuZXIobmV3IFNlcnZsZXRDb250ZXh0TGlzdGVuZXIoKSB7CgoJCQlAT3ZlcnJpZGUKCQkJcHVibGljIHZvaWQgY29udGV4dEluaXRpYWxpemVkKFNlcnZsZXRDb250ZXh0RXZlbnQgc2NlKSB7CgkJCQlhTG9nLmluZm8oIkluaXRpYWxpemVkIik7CgkJCQlzTG9nLmluZm8oIkluaXRpYWxpemVkIik7CgkJCX0KCgkJCUBPdmVycmlkZQoJCQlwdWJsaWMgdm9pZCBjb250ZXh0RGVzdHJveWVkKFNlcnZsZXRDb250ZXh0RXZlbnQgc2NlKSB7CgkJCQlhTG9nLmluZm8oIkRlc3Ryb3llZCIpOwoJCQkJc0xvZy5pbmZvKCJEZXN0cm95ZWQiKTsKCQkJfQogICAgCQkKICAgIAl9KTsKICAgIAkKICAgIAkKCiAgICAJLy8gcmVnaXN0ZXIgYW5kIGxvZyBsb2dnaW5nIGNvbmZpZ3VyYXRpb24KICAgIAlMb2dVdGlsLnJlZ2lzdGVyRm9yTG9nZ2luZ0NvbmZpZ1VwZGF0ZXNBbmRMb2coKTsKCQkKICAgIAlmaW5hbCBGaWx0ZXJSZWdpc3RyYXRpb24uRHluYW1pYyBmaWx0ZXJSZWdpc3RyYXRpb24gPSAKICAgIAkJCXNlcnZsZXRDb250ZXh0LmFkZEZpbHRlcigiTG9nZ2luZ0ZpbHRlciIsIG5ldyBMb2dnaW5nU2VydmxldEZpbHRlcihQYXR0ZXJuLmNvbXBpbGUoIl4uKi9hcGkvLiokIikpKTsKICAgIAlmaWx0ZXJSZWdpc3RyYXRpb24uYWRkTWFwcGluZ0ZvclVybFBhdHRlcm5zKEVudW1TZXQub2YoRGlzcGF0Y2hlclR5cGUuUkVRVUVTVCksIGZhbHNlLCAiKiIpOwogICAgCQogICAgCS8vcmVnaXN0ZXIgY3NyZiBmaWx0ZXIKICAgIAlmaW5hbCBGaWx0ZXJSZWdpc3RyYXRpb24uRHluYW1pYyBjc3JmRmlsdGVyUmVnaXN0cmF0aW9uID0gCiAgICAJCQlzZXJ2bGV0Q29udGV4dC5hZGRGaWx0ZXIoIkNzcmZDaGVja0ZpbHRlciIsIG5ldyBDc3JmQ2hlY2tGaWx0ZXIoKSk7CiAgICAJY3NyZkZpbHRlclJlZ2lzdHJhdGlvbi5hZGRNYXBwaW5nRm9yVXJsUGF0dGVybnMoRW51bVNldC5vZihEaXNwYXRjaGVyVHlwZS5SRVFVRVNUKSwgZmFsc2UsICIvYXBpLyoiKTsKICAgIAkKICAgIAlmaW5hbCBGaWx0ZXJSZWdpc3RyYXRpb24uRHluYW1pYyB2YWxpZGF0aW9uRmlsdGVyUmVnaXN0cmF0aW9uID0gCgkJCSAgICBzZXJ2bGV0Q29udGV4dC5hZGRGaWx0ZXIoIlZhbGlkYXRpb25GaWx0ZXIiLCBuZXcgVmFsaWRhdGlvblNlcnZsZXRGaWx0ZXIoKSk7CgkJdmFsaWRhdGlvbkZpbHRlclJlZ2lzdHJhdGlvbi5hZGRNYXBwaW5nRm9yVXJsUGF0dGVybnMoRW51bVNldC5vZihEaXNwYXRjaGVyVHlwZS5SRVFVRVNUKSwgZmFsc2UsICIvKiIpOwogICAgCQoJCgoJCQoJCQogICAgICAgIEFubm90YXRpb25Db25maWdXZWJBcHBsaWNhdGlvbkNvbnRleHQgY3R4ID0gbmV3IEFubm90YXRpb25Db25maWdXZWJBcHBsaWNhdGlvbkNvbnRleHQoKTsgIAogICAgICAgIGN0eC5yZWdpc3RlcihNdmNDb25maWd1cmF0aW9uLmNsYXNzKTsgIAogICAgICAgICAgCiAgICAgICAgY3R4LnNldFNlcnZsZXRDb250ZXh0KHNlcnZsZXRDb250ZXh0KTsgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAKICAgICAgICBEeW5hbWljIHNlcnZsZXQgPSBzZXJ2bGV0Q29udGV4dC5hZGRTZXJ2bGV0KCJkaXNwYXRjaGVyIiwgbmV3IERpc3BhdGNoZXJTZXJ2bGV0KGN0eCkpOyAgCiAgICAgICAgc2VydmxldC5hZGRNYXBwaW5nKCIvIik7ICAKICAgICAgICBzZXJ2bGV0LnNldExvYWRPblN0YXJ0dXAoMSk7CiAgICB9ICAKfSAg"},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\config\MvcConfiguration.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5jb25maWc7CgppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dDsKCmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuSW5pdGlhbGl6aW5nQmVhbjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5hbm5vdGF0aW9uLkF1dG93aXJlZDsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuY29udGV4dC5hbm5vdGF0aW9uLkJlYW47CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmNvbnRleHQuYW5ub3RhdGlvbi5Db21wb25lbnRTY2FuOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5jb250ZXh0LmFubm90YXRpb24uQ29uZmlndXJhdGlvbjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQuVmlld1Jlc29sdmVyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC5jb25maWcuYW5ub3RhdGlvbi5FbmFibGVXZWJNdmM7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LmNvbmZpZy5hbm5vdGF0aW9uLlJlc291cmNlSGFuZGxlclJlZ2lzdHJ5OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC5jb25maWcuYW5ub3RhdGlvbi5XZWJNdmNDb25maWd1cmVyQWRhcHRlcjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQucmVzb3VyY2UuUGF0aFJlc291cmNlUmVzb2x2ZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LnZpZXcuSW50ZXJuYWxSZXNvdXJjZVZpZXdSZXNvbHZlcjsKCmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5EYXRhU2V0dGluZ1Byb3BlcnRpZXM7CgpARW5hYmxlV2ViTXZjCkBDb25maWd1cmF0aW9uCkBDb21wb25lbnRTY2FuKGJhc2VQYWNrYWdlcz0iY29tLmRiLmNvbXNlcnYubWFpbiIpCnB1YmxpYyBjbGFzcyBNdmNDb25maWd1cmF0aW9uIGV4dGVuZHMgV2ViTXZjQ29uZmlndXJlckFkYXB0ZXIgaW1wbGVtZW50cyBJbml0aWFsaXppbmdCZWFuewoJQEF1dG93aXJlZAoJU2VydmxldENvbnRleHQgc2VydmxldENvbnRleHQ7CglAQXV0b3dpcmVkCglEYXRhU2V0dGluZ1Byb3BlcnRpZXMgZHNQcm9wczsKCQoJQEJlYW4KCXB1YmxpYyBWaWV3UmVzb2x2ZXIgZ2V0Vmlld1Jlc29sdmVyKCl7CgkJSW50ZXJuYWxSZXNvdXJjZVZpZXdSZXNvbHZlciByZXNvbHZlciA9IG5ldyBJbnRlcm5hbFJlc291cmNlVmlld1Jlc29sdmVyKCk7CgkJcmVzb2x2ZXIuc2V0UHJlZml4KCIvV0VCLUlORi92aWV3cy8iKTsKCQlyZXNvbHZlci5zZXRTdWZmaXgoIi5qc3AiKTsKCQlyZXR1cm4gcmVzb2x2ZXI7Cgl9CgkKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgYWRkUmVzb3VyY2VIYW5kbGVycyhSZXNvdXJjZUhhbmRsZXJSZWdpc3RyeSByZWdpc3RyeSkgewoJCXJlZ2lzdHJ5LmFkZFJlc291cmNlSGFuZGxlcigiL3Jlc291cmNlcy8qKiIpCgkJCS5hZGRSZXNvdXJjZUxvY2F0aW9ucygiL3Jlc291cmNlcy8iKQoJCQkuc2V0Q2FjaGVQZXJpb2QoMzYwMCkKCQkJLnJlc291cmNlQ2hhaW4odHJ1ZSkKCQkJLmFkZFJlc29sdmVyKG5ldyBQYXRoUmVzb3VyY2VSZXNvbHZlcigpKTsKCQkKCQlyZWdpc3RyeS5hZGRSZXNvdXJjZUhhbmRsZXIoIi9yb2JvdHMudHh0IikKCQkJLmFkZFJlc291cmNlTG9jYXRpb25zKCIvcmVzb3VyY2VzL3JvYm90cy50eHQiKQoJCQkuc2V0Q2FjaGVQZXJpb2QoMzYwMCkKCQkJLnJlc291cmNlQ2hhaW4odHJ1ZSkKCQkJLmFkZFJlc29sdmVyKG5ldyBQYXRoUmVzb3VyY2VSZXNvbHZlcigpKTsKCX0KCglAT3ZlcnJpZGUKCXB1YmxpYyB2b2lkIGFmdGVyUHJvcGVydGllc1NldCgpIHRocm93cyBFeGNlcHRpb24gewoJCWlmIChkc1Byb3BzLmdldFZhbHVlKCJjb29raWUuZG9tYWluIikgIT0gbnVsbCkgewoJCQlzZXJ2bGV0Q29udGV4dC5nZXRTZXNzaW9uQ29va2llQ29uZmlnKCkuc2V0RG9tYWluKGRzUHJvcHMuZ2V0VmFsdWUoImNvb2tpZS5kb21haW4iKSk7CgkJfQoJfQp9Cg=="},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\controller\AbstractController.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uY29udHJvbGxlcjsKCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5TZXJpYWxpemFibGU7CgppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2U7CgppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlcjsKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXJGYWN0b3J5OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zdGVyZW90eXBlLkNvbnRyb2xsZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uRXhjZXB0aW9uSGFuZGxlcjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmJpbmQuYW5ub3RhdGlvbi5SZXNwb25zZUJvZHk7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi5tb2RlbC5SZXNwb25zZTsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLlV0aWxpdHk7CgpAQ29udHJvbGxlcgpwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RDb250cm9sbGVyIHsKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgTG9nZ2VyIHJMb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcigiUkVRVUVTVCIpOwoJCglARXhjZXB0aW9uSGFuZGxlcihFeGNlcHRpb24uY2xhc3MpCglwdWJsaWMgQFJlc3BvbnNlQm9keSBSZXNwb25zZTxTZXJpYWxpemFibGU+IGhhbmRsZUFsbEV4Y2VwdGlvbnMoZmluYWwgRXhjZXB0aW9uIGV4LAoJCQlmaW5hbCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKSB0aHJvd3MgSU9FeGNlcHRpb24gewoJCXJMb2cuZXJyb3IoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gcHJvY2Vzc2luZyByZXF1ZXN0IiwgZXgpOwoJCQogICAgCXJldHVybiBVdGlsaXR5LnNldEVycm9yKDUwMCwgcmVzcG9uc2UpOwoJfQp9Cg=="},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\controller\ExceptionController.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4uY29udHJvbGxlcjsKCgppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zdGVyZW90eXBlLkNvbnRyb2xsZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uUmVxdWVzdE1hcHBpbmc7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uUmVzcG9uc2VCb2R5OwoKIApAQ29udHJvbGxlcgpAUmVxdWVzdE1hcHBpbmcoIi9lcnJvcnMiKQpwdWJsaWMgY2xhc3MgRXhjZXB0aW9uQ29udHJvbGxlciBleHRlbmRzIEFic3RyYWN0Q29udHJvbGxlcnsKICAgIEBSZXF1ZXN0TWFwcGluZygiZGVmYXVsdCIpCiAgICBwdWJsaWMgQFJlc3BvbnNlQm9keSBTdHJpbmcgZGVmYXVsdEVycm9yKCkgIHsKIAkJcmV0dXJuICIiOwogICAgfQp9Cg=="},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\controller\MainController.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5jb250cm9sbGVyOwoKaW1wb3J0IGphdmEuaW8uVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEubmV0LlVSTDsKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLk1hcDsKCmltcG9ydCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRDb250ZXh0OwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkNvb2tpZTsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3Q7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZTsKaW1wb3J0IGphdmF4LnhtbC5iaW5kLkRhdGF0eXBlQ29udmVydGVyOwoKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5hbm5vdGF0aW9uLkF1dG93aXJlZDsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuaHR0cC5IdHRwU3RhdHVzOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zdGVyZW90eXBlLkNvbnRyb2xsZXI7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uUmVxdWVzdE1hcHBpbmc7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uUmVxdWVzdE1ldGhvZDsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmJpbmQuYW5ub3RhdGlvbi5SZXNwb25zZUJvZHk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uUmVzcG9uc2VTdGF0dXM7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LkhhbmRsZXJNYXBwaW5nOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC5Nb2RlbEFuZFZpZXc7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuRGF0YVNldHRpbmdQcm9wZXJ0aWVzOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuSHR0cFJlc3VsdDsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLklIdHRwQ2FsbGVyOwppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuU2Vzc2lvbk1hbmFnZXI7CmltcG9ydCBjb20uZGIuY29tc2Vydi5tYWluLnV0aWxpdGllcy5VdGlsczsKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLnNlcnZsZXQuU2VydmxldFV0aWw7CgpAQ29udHJvbGxlcgpwdWJsaWMgY2xhc3MgTWFpbkNvbnRyb2xsZXIgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2xsZXIgewoKICAgIEBBdXRvd2lyZWQKICAgIFNlc3Npb25NYW5hZ2VyIHNtOwogICAgQEF1dG93aXJlZAogICAgU2VydmxldENvbnRleHQgc2VydmxldENvbnRleHQ7CiAgIAogICAgQEF1dG93aXJlZAogICAgRGF0YVNldHRpbmdQcm9wZXJ0aWVzIHByb3BlcnRpZXM7CiAgICBAQXV0b3dpcmVkCiAgICBJSHR0cENhbGxlciBodHRwQ2FsbGVyOwoKICAgIEBSZXF1ZXN0TWFwcGluZyh2YWx1ZSA9IHsgIi8iLCAiL3BvbGljeSIsICIvcG9saWN5LyoqIiB9LCBtZXRob2QgPSBSZXF1ZXN0TWV0aG9kLkdFVCkKICAgIHB1YmxpYyBNb2RlbEFuZFZpZXcgbWFpblBhZ2UoSHR0cFNlcnZsZXRSZXF1ZXN0IGh0dHBSZXF1ZXN0LCBIdHRwU2VydmxldFJlc3BvbnNlIGh0dHBSZXNwb25zZSkgewogICAgICAgIC8vIHNlbmQgY3NyZiBUb2tlbiBhcyBjb29raWUKICAgICAgICBzZXRDc3JmVG9rZW5BbmRIc3RzKGh0dHBSZXF1ZXN0LCBodHRwUmVzcG9uc2UpOwogICAgICAgIE1vZGVsQW5kVmlldyBtb2RlbCA9IG5ldyBNb2RlbEFuZFZpZXcoKTsKICAgICAgICBtb2RlbC5zZXRWaWV3TmFtZSgibWFpbiIpOwoKICAgICAgICByZXR1cm4gbW9kZWw7CiAgICB9CgogICAgQFJlcXVlc3RNYXBwaW5nKHZhbHVlID0geyAiL2FwaS9sb2dvdXQiIH0sIG1ldGhvZCA9IFJlcXVlc3RNZXRob2QuR0VUKQogICAgQFJlc3BvbnNlU3RhdHVzKHZhbHVlID0gSHR0cFN0YXR1cy5PSykKICAgIHB1YmxpYyB2b2lkIGxvZ291dChIdHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCwgSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFN0cmluZyB1c2VybmFtZSA9IHJlcXVlc3QuZ2V0U2Vzc2lvbigpLmdldEF0dHJpYnV0ZSgidXNlcm5hbWUiKSA9PSBudWxsID8gbnVsbCA6IHJlcXVlc3QuZ2V0U2Vzc2lvbigpCiAgICAgICAgICAgICAgICAgICAgLmdldEF0dHJpYnV0ZSgidXNlcm5hbWUiKS50b1N0cmluZygpOwogICAgICAgICAgICBzbS5yZW1vdmVBY3RpdmVTZXNzaW9uKHVzZXJuYW1lLCByZXF1ZXN0LmdldFNlc3Npb24oKSk7CiAgICAgICAgfSBjYXRjaCAoSWxsZWdhbFN0YXRlRXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgckxvZy53YXJuKCJMb2dvdXQgZXJyb3I6IHNlc3Npb24gaGFzIGFscmVhZHkgZXhwaXJlZCAiLCBlKTsKICAgICAgICB9CiAgICAgICAgcmVzZXRTZXNzaW9uKHJlcXVlc3QsIHJlc3BvbnNlKTsKICAgIH0KCiAgICAKCiAgICAKCiAgIAoKICAgIEBSZXF1ZXN0TWFwcGluZyh2YWx1ZSA9ICIvYXBpLyoqIikKICAgIHB1YmxpYyBAUmVzcG9uc2VCb2R5IFN0cmluZyBSZXN0QVBJcyhIdHRwU2VydmxldFJlcXVlc3QgcmVxLCBIdHRwU2VydmxldFJlc3BvbnNlIGh0dHBSZXNwb25zZSkgdGhyb3dzIEV4Y2VwdGlvbiB7CgogICAgICAgIHNldE5vQ2FjaGUoaHR0cFJlc3BvbnNlKTsKCiAgICAgICAgLy8gY2hlY2sgaWYgdmFsaWQgc2Vzc2lvbgogICAgICAgIGlmIChyZXEuZ2V0U2Vzc2lvbihmYWxzZSkgPT0gbnVsbCkgewogICAgICAgICAgICByTG9nLndhcm4oIlNlc3Npb24gSUQgaW52YWxpZCIpOwogICAgICAgICAgICBodHRwUmVzcG9uc2Uuc2V0U3RhdHVzKDQwMSk7CiAgICAgICAgICAgIHJldHVybiAie1wic3RhdHVzQ29kZVwiOjQwMSxcInN0YXR1c01zZ1wiOlwiVW5hdXRob3JpemVkXCIsXCJyZXN1bHRcIjpbXX0iOwogICAgICAgIH0KICAgICAgICAvLyBjaGVjayBhdXRob3JpemF0aW9uCiAgICAgICAgZWxzZSBpZiAocmVxLmdldFNlc3Npb24oKS5nZXRBdHRyaWJ1dGUoInN0YXR1cyIpID09IG51bGwgfHwgIXJlcS5nZXRTZXNzaW9uKCkuZ2V0QXR0cmlidXRlKCJzdGF0dXMiKS50b1N0cmluZygpCiAgICAgICAgICAgICAgICAuZXF1YWxzKCIyMDAiKSB8fCByZXEuZ2V0U2Vzc2lvbigpLmdldEF0dHJpYnV0ZSgiYWN0aXZlVXJsIikgPT0gbnVsbCkgewogICAgICAgICAgICByTG9nLndhcm4oIlNlc3Npb24gdW5hdXRob3JpemVkIik7CiAgICAgICAgICAgIGh0dHBSZXNwb25zZS5zZXRTdGF0dXMoNDAxKTsKICAgICAgICAgICAgcmV0dXJuICJ7XCJzdGF0dXNDb2RlXCI6NDAxLFwic3RhdHVzTXNnXCI6XCJVbmF1dGhvcml6ZWRcIixcInJlc3VsdFwiOltdfSI7CgogICAgICAgIH0KICAgICAgICAvLyBjaGVjayBhYnNvbHV0ZSB0aW1lb3V0CiAgICAgICAgZWxzZSBpZiAoc20uaXNTZXNzaW9uRXhwaXJlZChyZXEuZ2V0U2Vzc2lvbigpKSkgewogICAgICAgICAgICByTG9nLndhcm4oIkFic29sdXRlIHNlc3Npb24gdGltZW91dCIpOwogICAgICAgICAgICBodHRwUmVzcG9uc2Uuc2V0U3RhdHVzKDQwMCk7CiAgICAgICAgICAgIHJldHVybiAie1wic3RhdHVzQ29kZVwiOjQwMCxcInN0YXR1c01zZ1wiOlwiQmFkIFJlcXVlc3RbVGltZW91dF1cIixcInJlc3VsdFwiOltdfSI7CiAgICAgICAgfQoKICAgICAgICAvLyByZXRyaWV2ZSByZWwgVVJMCiAgICAgICAgU3RyaW5nIHJlbFVybCA9IHJlcS5nZXRBdHRyaWJ1dGUoCiAgICAgICAgICAgICAgICBIYW5kbGVyTWFwcGluZy5QQVRIX1dJVEhJTl9IQU5ETEVSX01BUFBJTkdfQVRUUklCVVRFKQogICAgICAgICAgICAgICAgLnRvU3RyaW5nKCkucmVwbGFjZUZpcnN0KCJhcGkiLCAidjAiKTsKICAgICAgICBpZiAocmVxLmdldFF1ZXJ5U3RyaW5nKCkgIT0gbnVsbCkgewogICAgICAgICAgICByZWxVcmwgPSByZWxVcmwgKyAiPyIgKyByZXEuZ2V0UXVlcnlTdHJpbmcoKTsKICAgICAgICB9CgogICAgICAgIFN0cmluZyBtZXRob2RlVHlwZSA9IHJlcS5nZXRNZXRob2QoKTsgLy8gZ2V0IG1ldGhvZCB0eXBlCgogICAgICAgIHJMb2cuZGVidWcoIlByb3h5aW5nIHRvICd7fScgd2l0aCBtZXRob2QgJ3t9JyIsIHJlbFVybCwgbWV0aG9kZVR5cGUpOwoKICAgICAgICAvLyBHZXQgUG9zdCBCb2R5IGZyb20gdXNlcgogICAgICAgIFN0cmluZyBib2R5ID0gbnVsbDsKICAgICAgICBpZiAocmVxLmdldEhlYWRlcigiQ29udGVudC1UeXBlIikgIT0gbnVsbCAmJiByZXEuZ2V0SGVhZGVyKCJDb250ZW50LVR5cGUiKS5jb250YWlucygianNvbiIpKSB7CiAgICAgICAgICAgIGJvZHkgPSBTZXJ2bGV0VXRpbC5idWlsZEJvZHkocmVxKTsKICAgICAgICB9CiAgICAgICAgckxvZy5kZWJ1ZygiVXNpbmcgYm9keSAne30nIiwgYm9keSk7CiAgICAgICAgU3RyaW5nIGFjdGl2ZUlxVXJsID0gcmVxLmdldFNlc3Npb24oKS5nZXRBdHRyaWJ1dGUoImFjdGl2ZVVybCIpLnRvU3RyaW5nKCkuY29uY2F0KHJlbFVybCk7CiAgICAgICAgSHR0cFJlc3VsdCBodHRwUmVzdWx0ID0gaHR0cENhbGxlci5ydW5SZXF1ZXN0KCJXRUItQkFDS0VORCIsIG1ldGhvZGVUeXBlLCBuZXcgVVJMKGFjdGl2ZUlxVXJsKSwKICAgICAgICAgICAgICAgIGdldEhlYWRlckxpc3QocmVxLCB0cnVlKSwgYm9keSwgIm5vbmUiLAogICAgICAgICAgICAgICAgSW50ZWdlci5wYXJzZUludChwcm9wZXJ0aWVzLmdldFZhbHVlKCJodHRwY29uLmNvbm5lY3Rpb24udGltZW91dCIpKSwKICAgICAgICAgICAgICAgIEludGVnZXIucGFyc2VJbnQocHJvcGVydGllcy5nZXRWYWx1ZSgiaHR0cGNvbi5yZWFkLnRpbWVvdXQiKSksIHJlcSk7CgogICAgICAgCiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgICAqIHRoaXMgaXMgbm90IGEgc3BlY2lmaWMgaGFuZGxpbmcgZm9yIHRoZSBlcnJvciByZXNwb25zZS4gVGhpcyBpcyBhIGdlbmVyaWMgaGFuZGxpbmcgd2hlbiByZXNwb25zZSBib2R5IGlzIG51bGwKICAgICAgICAgKioqKioqKioqKioqKioqKiovCiAgICAgICAgaWYgKGh0dHBSZXN1bHQuZ2V0UmVzcG9uc2VCb2R5KCkgPT0gbnVsbCkgewogICAgICAgICAgICBodHRwUmVzcG9uc2Uuc2V0U3RhdHVzKGh0dHBSZXN1bHQuZ2V0UmVzcG9uc2VDb2RlKCkpOwogICAgICAgICAgICByZXR1cm4gIntcInN0YXR1c01zZ1wiOlwiRXJyb3IgUmV0cmVpdmluZyBEYXRhXCIsXCJyZXN1bHRcIjpbXX0iOwogICAgICAgIH0KCiAgICAgICAgc3dpdGNoIChodHRwUmVzdWx0LmdldFJlc3BvbnNlQ29kZSgpKSB7CiAgICAgICAgICAgIGNhc2UgMjAwOgogICAgICAgICAgICBjYXNlIDQwMDoKICAgICAgICAgICAgY2FzZSA0MDE6CiAgICAgICAgICAgIGNhc2UgNDA0OgogICAgICAgICAgICAgICAgaHR0cFJlc3BvbnNlLnNldFN0YXR1cyhodHRwUmVzdWx0LmdldFJlc3BvbnNlQ29kZSgpKTsKICAgICAgICAgICAgICAgIHJldHVybiBodHRwUmVzdWx0LmdldFJlc3BvbnNlQm9keSgpOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgaHR0cFJlc3BvbnNlLnNldFN0YXR1cyg1MDApOwogICAgICAgICAgICAgICAgcmV0dXJuICJ7XCJzdGF0dXNDb2RlXCI6NTAwLFwic3RhdHVzTXNnXCI6XCJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcIixcInJlc3VsdFwiOltdfSI7CiAgICAgICAgfQogICAgfQoKICAKCiAgICBwcml2YXRlIExpc3Q8TWFwPFN0cmluZywgU3RyaW5nPj4gZ2V0SGVhZGVyTGlzdChIdHRwU2VydmxldFJlcXVlc3QgcmVxLCBib29sZWFuIGluY2x1ZGVBdXRoKQogICAgICAgICAgICB0aHJvd3MgVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbiB7CgogICAgICAgIExpc3Q8TWFwPFN0cmluZywgU3RyaW5nPj4gaGVhZGVyTGlzdCA9IG5ldyBBcnJheUxpc3Q8TWFwPFN0cmluZywgU3RyaW5nPj4oKTsKCiAgICAgICAgLy8gZ2V0IG9ubHkgY29udGVudCB0eXBlCiAgICAgICAgaWYgKHJlcS5nZXRDb250ZW50VHlwZSgpICE9IG51bGwpIHsKICAgICAgICAgICAgTWFwPFN0cmluZywgU3RyaW5nPiBtYXBoZWFkZXIgPSBuZXcgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4oKTsKICAgICAgICAgICAgbWFwaGVhZGVyLnB1dCgiaGVhZGVyS2V5IiwgIkNvbnRlbnQtVHlwZSIpOwogICAgICAgICAgICBtYXBoZWFkZXIucHV0KCJoZWFkZXJWYWx1ZSIsIHJlcS5nZXRDb250ZW50VHlwZSgpKTsKICAgICAgICAgICAgaGVhZGVyTGlzdC5hZGQobWFwaGVhZGVyKTsKICAgICAgICB9CgogICAgICAgIC8vIHNldCB0cmFuc2FjdGlvbiBJZCBoZWFkZXIKICAgICAgICBNYXA8U3RyaW5nLCBTdHJpbmc+IHRyYW5zYWN0aW9uSGVhZGVyID0gbmV3IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+KCk7CiAgICAgICAgdHJhbnNhY3Rpb25IZWFkZXIucHV0KCJoZWFkZXJLZXkiLCAiWC1UUkFOUy1JRCIpOwogICAgICAgIHRyYW5zYWN0aW9uSGVhZGVyLnB1dCgiaGVhZGVyVmFsdWUiLCByZXEuZ2V0QXR0cmlidXRlKCJ0aWQiKS50b1N0cmluZygpKTsKICAgICAgICBoZWFkZXJMaXN0LmFkZCh0cmFuc2FjdGlvbkhlYWRlcik7CgogICAgICAgIC8vIHNldCBjbGllbnQgSVAgaGVhZGVyCiAgICAgICAgTWFwPFN0cmluZywgU3RyaW5nPiBjbGllbnRJcEhlYWRlciA9IG5ldyBIYXNoTWFwPFN0cmluZywgU3RyaW5nPigpOwogICAgICAgIGNsaWVudElwSGVhZGVyLnB1dCgiaGVhZGVyS2V5IiwgIlgtQ0xJRU5ULUlQIik7CiAgICAgICAgY2xpZW50SXBIZWFkZXIucHV0KCJoZWFkZXJWYWx1ZSIsIGdldENsaWVudElwKHJlcSkpOwogICAgICAgIGhlYWRlckxpc3QuYWRkKGNsaWVudElwSGVhZGVyKTsKCiAgICAgICAgLy8gc2V0IGF1dGhlbnRpY2F0aW9uIGhlYWRlcgogICAgICAgIGlmIChpbmNsdWRlQXV0aCkgewogICAgICAgICAgICBNYXA8U3RyaW5nLCBTdHJpbmc+IGF1dGhoZWFkZXIgPSBuZXcgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4oKTsKICAgICAgICAgICAgYXV0aGhlYWRlci5wdXQoImhlYWRlcktleSIsICJBdXRob3JpemF0aW9uIik7CiAgICAgICAgICAgIGF1dGhoZWFkZXIucHV0KAogICAgICAgICAgICAgICAgICAgICJoZWFkZXJWYWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgIkJhc2ljICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgRGF0YXR5cGVDb252ZXJ0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaW50QmFzZTY0QmluYXJ5KChyZXEuZ2V0U2Vzc2lvbigpLmdldEF0dHJpYnV0ZSgidXNlcm5hbWUiKSArICI6IiArIHJlcQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRTZXNzaW9uKCkuZ2V0QXR0cmlidXRlKCJhcGlLZXkiKSkuZ2V0Qnl0ZXMoIlVTLUFTQ0lJIikpKTsKICAgICAgICAgICAgaGVhZGVyTGlzdC5hZGQoYXV0aGhlYWRlcik7CiAgICAgICAgfQogICAgICAgIHJldHVybiBoZWFkZXJMaXN0OwogICAgfQoKICAgIHByaXZhdGUgdm9pZCBzZXRDc3JmVG9rZW5BbmRIc3RzKGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0LCBmaW5hbCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKSB7CgogICAgICAgIC8vIGhhbmRsZSBDU1JGCiAgICAgICAgLy8gdGhpcyB3aWxsIHJlcGxhY2UgdGhlIG9sZCBvbmUKICAgICAgICBTdHJpbmcgY3NyZlRva2VuID0gVXRpbHMuZ2V0Q3NyZlRva2VuKCk7CiAgICAgICAgcmVxdWVzdC5nZXRTZXNzaW9uKCkuc2V0QXR0cmlidXRlKCJYU1JGLVRPS0VOIiwgY3NyZlRva2VuKTsKICAgICAgICBDb29raWUgeHNyZkNvb2tpZSA9IG5ldyBDb29raWUoIlhTUkYtVE9LRU4iLCBjc3JmVG9rZW4pOwogICAgICAgIHhzcmZDb29raWUuc2V0U2VjdXJlKHRydWUpOwogICAgICAgIHhzcmZDb29raWUuc2V0SHR0cE9ubHkodHJ1ZSk7CiAgICAgICAgeHNyZkNvb2tpZS5zZXRQYXRoKHNlcnZsZXRDb250ZXh0LmdldENvbnRleHRQYXRoKCkuaXNFbXB0eSgpID8gIi8iIDogc2VydmxldENvbnRleHQuZ2V0Q29udGV4dFBhdGgoKSk7CiAgICAgICAgaWYgKHNlcnZsZXRDb250ZXh0LmdldFNlc3Npb25Db29raWVDb25maWcoKS5nZXREb21haW4oKSAhPSBudWxsKSB7CiAgICAgICAgICAgIHhzcmZDb29raWUuc2V0RG9tYWluKHNlcnZsZXRDb250ZXh0LmdldFNlc3Npb25Db29raWVDb25maWcoKS5nZXREb21haW4oKSk7CiAgICAgICAgfQogICAgICAgIC8vIHNldCBkb21haW4gY29va2llCiAgICAgICAgcmVzcG9uc2UuYWRkQ29va2llKHhzcmZDb29raWUpOwoKICAgICAgICAvLyBoYW5kbGUgSFNUUyAoaHR0cHM6Ly93d3cub3dhc3Aub3JnL2luZGV4LnBocC9IVFRQX1N0cmljdF9UcmFuc3BvcnRfU2VjdXJpdHkpCiAgICAgICAgZmluYWwgU3RyaW5nIGhzdHNWYWx1ZSA9IHByb3BlcnRpZXMuZ2V0VmFsdWUoImhzdHMudmFsdWUiKTsKICAgICAgICBpZiAoaHN0c1ZhbHVlICE9IG51bGwpIHsKICAgICAgICAgICAgcmVzcG9uc2UuYWRkSGVhZGVyKCJTdHJpY3QtVHJhbnNwb3J0LVNlY3VyaXR5IiwgaHN0c1ZhbHVlKTsKICAgICAgICB9CiAgICB9CgogICAgcHJpdmF0ZSB2b2lkIHJlc2V0U2Vzc2lvbihmaW5hbCBIdHRwU2VydmxldFJlcXVlc3QgcmVxdWVzdCwgZmluYWwgSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkgewogICAgICAgIC8vIGludmFsaWRhdGUgdGhlIG9sZCBzZXNzaW9uCiAgICAgICAgcmVxdWVzdC5nZXRTZXNzaW9uKCkuaW52YWxpZGF0ZSgpOwogICAgICAgIC8vIGNyZWF0ZSB0aGUgbmV3IHNlc3Npb24KICAgICAgICAvLyB0aGlzIHdpbGwgdXBkYXRlIHRoZSBjb29raWUKICAgICAgICByZXF1ZXN0LmdldFNlc3Npb24odHJ1ZSk7CiAgICAgICAgLy8gc2V0IHRoZSBuZXcgQ1NSRiB0b2tlbiBhbmQgSFNUUwogICAgICAgIHNldENzcmZUb2tlbkFuZEhzdHMocmVxdWVzdCwgcmVzcG9uc2UpOwogICAgfQoKICAgIHByaXZhdGUgU3RyaW5nIGdldENsaWVudElwKGZpbmFsIEh0dHBTZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KSB7CiAgICAgICAgLy8gaWYgdGhlIHJlcXVlc3QgY29udGFpbnMgdGhlIHgtcmVhbC1pcCBoZWFkZXIsIHVzZSB0aGF0CiAgICAgICAgU3RyaW5nIGNsaWVudElwID0gcmVxdWVzdC5nZXRSZW1vdGVBZGRyKCk7CiAgICAgICAgaWYgKHJlcXVlc3QuZ2V0SGVhZGVyKCJYLVJlYWwtSVAiKSAhPSBudWxsKSB7CiAgICAgICAgICAgIGNsaWVudElwID0gcmVxdWVzdC5nZXRIZWFkZXIoIlgtUmVhbC1JUCIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gY2xpZW50SXA7CiAgICB9CgogICAgcHJpdmF0ZSB2b2lkIHNldE5vQ2FjaGUoZmluYWwgSHR0cFNlcnZsZXRSZXNwb25zZSByZXNwb25zZSkgewogICAgICAgIHJlc3BvbnNlLnNldEhlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJuby1zdG9yZSIpOwogICAgICAgIHJlc3BvbnNlLnNldEhlYWRlcigiUHJhZ21hIiwgIm5vLWNhY2hlIik7CiAgICB9Cn0K"},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\filter\CsrfCheckFilter.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi5maWx0ZXI7CgppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKCmltcG9ydCBqYXZheC5zZXJ2bGV0LkZpbHRlckNoYWluOwppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0RXhjZXB0aW9uOwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkNvb2tpZTsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3Q7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZTsKCmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5maWx0ZXIuT25jZVBlclJlcXVlc3RGaWx0ZXI7CgpwdWJsaWMgY2xhc3MgQ3NyZkNoZWNrRmlsdGVyIGV4dGVuZHMgT25jZVBlclJlcXVlc3RGaWx0ZXIgewoKCXByb3RlY3RlZCBmaW5hbCBzdGF0aWMgTG9nZ2VyIHJMb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcigiUkVRVUVTVCIpOwoKCS8qCgkgKiAobm9uLUphdmFkb2MpCgkgKiAKCSAqIEBzZWUKCSAqIG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmZpbHRlci5PbmNlUGVyUmVxdWVzdEZpbHRlciNkb0ZpbHRlckludGVybmFsKAoJICogamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwKCSAqIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlLCBqYXZheC5zZXJ2bGV0LkZpbHRlckNoYWluKQoJICovCglAT3ZlcnJpZGUKCXByb3RlY3RlZCB2b2lkIGRvRmlsdGVySW50ZXJuYWwoSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcXVlc3QsCgkJCUh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UsIEZpbHRlckNoYWluIGZpbHRlckNoYWluKQoJCQl0aHJvd3MgU2VydmxldEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24gewoJCQoJCWlmICghIkdFVCIuZXF1YWxzSWdub3JlQ2FzZShyZXF1ZXN0LmdldE1ldGhvZCgpKSkgewoJCQlTdHJpbmcgcmVxdWVzdFRva2VuID0gbnVsbDsKCQkJaWYocmVxdWVzdC5nZXRDb29raWVzKCkgIT0gbnVsbCl7CgkJCQlDb29raWVbXSBjb29raWVzID0gcmVxdWVzdC5nZXRDb29raWVzKCk7CgkJCQlmb3IoQ29va2llIGMgOiBjb29raWVzKXsKCQkJCQlpZihjLmdldE5hbWUoKS5lcXVhbHMoIlhTUkYtVE9LRU4iKSl7CgkJCQkJCXJlcXVlc3RUb2tlbiA9IGMuZ2V0VmFsdWUoKTsKCQkJCQl9CgkJCQl9CgkJCQlyTG9nLmRlYnVnKCJSZXF1ZXN0IFRva2VuIGlzIDogIityZXF1ZXN0VG9rZW4pOwoJCQl9CgkJCQoJCQlTdHJpbmcgc2Vzc2lvblRva2VuID0gbnVsbDsKCQkJaWYgKHJlcXVlc3QuZ2V0U2Vzc2lvbihmYWxzZSkgIT0gbnVsbCkgewoJCQkJc2Vzc2lvblRva2VuID0gcmVxdWVzdC5nZXRTZXNzaW9uKCkuZ2V0QXR0cmlidXRlKCJYU1JGLVRPS0VOIikgPT0gbnVsbCA/IG51bGwKCQkJCQkJOiByZXF1ZXN0LmdldFNlc3Npb24oKS5nZXRBdHRyaWJ1dGUoIlhTUkYtVE9LRU4iKQoJCQkJCQkJCS50b1N0cmluZygpOwoJCQl9IGVsc2UgewoJCQkJckxvZy53YXJuKCJDU1JGIENoZWNrIGZhaWxlZDogbm8gc2Vzc2lvbiBmb3VuZCIpOwoJCQkJcmVzcG9uc2Uuc2V0U3RhdHVzKDQwMSk7CgkJCQlyZXR1cm47CgkJCX0KCQkJCgkJCXJMb2cuZGVidWcoIlNlc3Npb24gVG9rZW4gaXMgOiAiK3Nlc3Npb25Ub2tlbik7CgkJCQoJCQlpZiAoc2Vzc2lvblRva2VuID09IG51bGwpIHsKCQkJCXJlcXVlc3QuZ2V0U2Vzc2lvbihmYWxzZSkuaW52YWxpZGF0ZSgpOwoJCQkJckxvZy53YXJuKCJDU1JGIENoZWNrIGZhaWxlZDogbm8gc2Vzc2lvbiB0b2tlbiBmb3VuZCIpOwoJCQkJcmVzcG9uc2Uuc2V0U3RhdHVzKDQwMyk7CgkJCQlyZXR1cm47CgkJCX0gZWxzZSBpZiAocmVxdWVzdFRva2VuID09IG51bGwpIHsKCQkJCXJlcXVlc3QuZ2V0U2Vzc2lvbihmYWxzZSkuaW52YWxpZGF0ZSgpOwoJCQkJckxvZy53YXJuKCJQb3RlbnRpYWwgQ1NSRiBhdHRhY2s6IG1pc3NpbmcgQ1NSRiB0b2tlbiIpOwoJCQkJcmVzcG9uc2Uuc2V0U3RhdHVzKDQwMyk7CgkJCQlyZXR1cm47CgkJCX0gZWxzZSBpZiAoIXNlc3Npb25Ub2tlbi5lcXVhbHMocmVxdWVzdFRva2VuKSkgewoJCQkJcmVxdWVzdC5nZXRTZXNzaW9uKGZhbHNlKS5pbnZhbGlkYXRlKCk7CgkJCQlyTG9nLndhcm4oIlBvdGVudGlhbCBDU1JGIGF0dGFjazogdG9rZW4gbWlzbWF0Y2ggb24gc2Vzc2lvbiAne30nIiwKCQkJCQkJcmVxdWVzdC5nZXRTZXNzaW9uKCkuZ2V0SWQoKSk7CgkJCQlyZXNwb25zZS5zZXRTdGF0dXMoNDAzKTsKCQkJCXJldHVybjsKCQkJfQoJCX0KCQlyZXNwb25zZS5hZGRIZWFkZXIoIkNhY2hlLUNvbnRyb2wiLCAibm8tY2FjaGU9XCJTZXQtQ29va2llLCBTZXQtQ29va2llMlwiIik7CgkJZmlsdGVyQ2hhaW4uZG9GaWx0ZXIocmVxdWVzdCwgcmVzcG9uc2UpOwoJfQp9Cg=="},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\utilities\DataSettingProperties.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsuc3RlcmVvdHlwZS5Db21wb25lbnQ7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuQWJzdHJhY3RQcm9wZXJ0eUZpbGVNYW5hZ2VyOwoKQENvbXBvbmVudApwdWJsaWMgY2xhc3MgRGF0YVNldHRpbmdQcm9wZXJ0aWVzIGV4dGVuZHMgQWJzdHJhY3RQcm9wZXJ0eUZpbGVNYW5hZ2VyIHsKCXB1YmxpYyBEYXRhU2V0dGluZ1Byb3BlcnRpZXMoKSB7CgkJc3VwZXIoIldFQiIpOwoJfQoJCglAT3ZlcnJpZGUKCXByb3RlY3RlZCBTdHJpbmcgZ2V0VmFsdWVGb3JMb2coZmluYWwgU3RyaW5nIG5hbWUsIGZpbmFsIFN0cmluZyB2YWx1ZSkgewoJCWlmICgiamRiYy5wYXNzIi5lcXVhbHMobmFtZSkpIHsKCQkJcmV0dXJuICIqKkNPTkZJREVOVElBTCoqIjsKCQl9CgkJcmV0dXJuIHZhbHVlOwoJfQoJCn0K"},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\utilities\SessionListener.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uOwppbXBvcnQgamF2YS51dGlsLk1hcDsKCmltcG9ydCBqYXZheC5zZXJ2bGV0LmFubm90YXRpb24uV2ViTGlzdGVuZXI7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlc3Npb247CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlc3Npb25FdmVudDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2Vzc2lvbkxpc3RlbmVyOwoKaW1wb3J0IG9yZy5zbGY0ai5Mb2dnZXI7CmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyRmFjdG9yeTsKCkBXZWJMaXN0ZW5lcgpwdWJsaWMgY2xhc3MgU2Vzc2lvbkxpc3RlbmVyIGltcGxlbWVudHMgSHR0cFNlc3Npb25MaXN0ZW5lciB7CgoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBMb2dnZXIgc0xvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCJTRVNTSU9OIik7CgoJQE92ZXJyaWRlCglwdWJsaWMgdm9pZCBzZXNzaW9uQ3JlYXRlZChIdHRwU2Vzc2lvbkV2ZW50IGV2ZW50KSB7CgkJc0xvZy5kZWJ1ZygiU2Vzc2lvbiB3aXRoIGlkICd7fScgd2FzIGNyZWF0ZWQiLCBldmVudC5nZXRTZXNzaW9uKCkKCQkJCS5nZXRJZCgpKTsKCX0KCglAU3VwcHJlc3NXYXJuaW5ncygidW5jaGVja2VkIikKCUBPdmVycmlkZQoJcHVibGljIHZvaWQgc2Vzc2lvbkRlc3Ryb3llZChIdHRwU2Vzc2lvbkV2ZW50IGV2ZW50KSB7CgkJc0xvZy5kZWJ1ZygiU2Vzc2lvbiB3aXRoIGlkICd7fScgd2FzIGRlc3Ryb3llZCIsIGV2ZW50LmdldFNlc3Npb24oKQoJCQkJLmdldElkKCkpOwoJCXN5bmNocm9uaXplZCAoZXZlbnQuZ2V0U2Vzc2lvbigpLmdldFNlcnZsZXRDb250ZXh0KCkKCQkJCS5nZXRBdHRyaWJ1dGUoImFjdGl2ZVVzZXJzTG9jayIpKSB7CgkJCU1hcDxTdHJpbmcsIENvbGxlY3Rpb248SHR0cFNlc3Npb24+PiBhYyA9IChNYXA8U3RyaW5nLCBDb2xsZWN0aW9uPEh0dHBTZXNzaW9uPj4pIGV2ZW50LmdldFNlc3Npb24oKS5nZXRTZXJ2bGV0Q29udGV4dCgpCgkJCQkJLmdldEF0dHJpYnV0ZSgiYWN0aXZlVXNlcnMiKTsKCQkJaWYgKGFjICE9IG51bGwpIHsKCQkJCUNvbGxlY3Rpb248SHR0cFNlc3Npb24+IHNlc3Npb25MaXN0ID0gKENvbGxlY3Rpb248SHR0cFNlc3Npb24+KSBhYwoJCQkJCQkuZ2V0KGV2ZW50LmdldFNlc3Npb24oKS5nZXRBdHRyaWJ1dGUoInVzZXJuYW1lIikpOwoJCQkJaWYgKHNlc3Npb25MaXN0ICE9IG51bGwKCQkJCQkJJiYgc2Vzc2lvbkxpc3QuY29udGFpbnMoZXZlbnQuZ2V0U2Vzc2lvbigpKSkgewoJCQkJCXNlc3Npb25MaXN0LnJlbW92ZShldmVudC5nZXRTZXNzaW9uKCkpOwoJCQkJCXNMb2cuZGVidWcoCgkJCQkJCQkiU2Vzc2lvbiB3aXRoIGlkICd7fScgd2FzIHJlbW92ZWQgZnJvbSB1c2VyICd7fSciLAoJCQkJCQkJZXZlbnQuZ2V0U2Vzc2lvbigpLmdldElkKCksIGV2ZW50LmdldFNlc3Npb24oKQoJCQkJCQkJCQkuZ2V0QXR0cmlidXRlKCJ1c2VybmFtZSIpKTsKCQkJCX0KCQkJfQoJCX0KCX0KCn0K"},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\utilities\SessionManager.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCgpwYWNrYWdlIGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzOwoKaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uOwppbXBvcnQgamF2YS51dGlsLkRhdGU7CmltcG9ydCBqYXZhLnV0aWwuSXRlcmF0b3I7CmltcG9ydCBqYXZhLnV0aWwuTGlua2VkSGFzaFNldDsKaW1wb3J0IGphdmEudXRpbC5NYXA7CgppbXBvcnQgamF2YXguc2VydmxldC5TZXJ2bGV0Q29udGV4dDsKaW1wb3J0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2Vzc2lvbjsKCmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuYW5ub3RhdGlvbi5BdXRvd2lyZWQ7CmltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLnN0ZXJlb3R5cGUuQ29tcG9uZW50OwoKaW1wb3J0IGNvbS5kYi5jb21zZXJ2Lm1haW4udXRpbGl0aWVzLkRhdGFTZXR0aW5nUHJvcGVydGllczsKCkBDb21wb25lbnQKcHVibGljIGNsYXNzIFNlc3Npb25NYW5hZ2VyIHsKCglAQXV0b3dpcmVkCglTZXJ2bGV0Q29udGV4dCBzZXJ2bGV0Q29udGV4dDsKCQoJQEF1dG93aXJlZAoJRGF0YVNldHRpbmdQcm9wZXJ0aWVzIHByb3BlcnRpZXM7CgkKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgTG9nZ2VyIHNMb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcigiU0VTU0lPTiIpOwoJCglAU3VwcHJlc3NXYXJuaW5ncygidW5jaGVja2VkIikKCXB1YmxpYyBTdHJpbmcgYWRkU2Vzc2lvbihTdHJpbmcgdXNlcm5hbWUsIEh0dHBTZXNzaW9uIHNlc3Npb24pIHsKCgkJc3luY2hyb25pemVkIChzZXJ2bGV0Q29udGV4dC5nZXRBdHRyaWJ1dGUoImFjdGl2ZVVzZXJzTG9jayIpKSB7CgoJCQlzTG9nLmRlYnVnKAoJCQkJCSJBdHRlbXB0aW5nIHRvIGFkZCB1c2VyICd7fScgd2l0aCBzZXNzaW9uSWQgJ3t9JyB0byB0aGUgc2Vzc2lvbiBtYXAiLAoJCQkJCXVzZXJuYW1lLCBzZXNzaW9uLmdldElkKCkpOwoJCQkKCQkJaWYgKHNlcnZsZXRDb250ZXh0LmdldEF0dHJpYnV0ZSgiYWN0aXZlVXNlcnMiKSAhPSBudWxsKSB7CgkJCQkvLyBzeW5jaHJvbml6ZWQgKHNlcnZsZXRDb250ZXh0LmdldEF0dHJpYnV0ZSgiYWN0aXZlVXNlcnMiKSkgewoJCQkJTWFwPFN0cmluZywgQ29sbGVjdGlvbjxIdHRwU2Vzc2lvbj4+IHNlc3Npb25NYXAgPSAoTWFwPFN0cmluZywgQ29sbGVjdGlvbjxIdHRwU2Vzc2lvbj4+KSBzZXJ2bGV0Q29udGV4dAoJCQkJCQkuZ2V0QXR0cmlidXRlKCJhY3RpdmVVc2VycyIpOwoKCQkJCWlmIChzZXNzaW9uTWFwLmNvbnRhaW5zS2V5KHVzZXJuYW1lKSkgewoJCQkJCUNvbGxlY3Rpb248SHR0cFNlc3Npb24+IHNlc3Npb25MaXN0ID0gKENvbGxlY3Rpb248SHR0cFNlc3Npb24+KSBzZXNzaW9uTWFwCgkJCQkJCQkuZ2V0KHVzZXJuYW1lKTsKCQkJCQlpZiAoc2Vzc2lvbkxpc3QuY29udGFpbnMoc2Vzc2lvbikpIHsKCQkJCQkJLy8gcmV2YWxpZGF0ZWQKCQkJCQkJc2Vzc2lvbkxpc3QucmVtb3ZlKHNlc3Npb24pOwoJCQkJCQlzZXNzaW9uTGlzdC5hZGQoc2Vzc2lvbik7CgkJCQkJCXNMb2cuZGVidWcoCgkJCQkJCQkJIlVzZXIgJ3t9JyB3aXRoIHNlc3Npb25JZCAne30nIGFscmVhZHkgZXhpc3RzOiByZXZhbGlkYXRpbmcgc2Vzc2lvbiIsCgkJCQkJCQkJdXNlcm5hbWUsIHNlc3Npb24uZ2V0SWQoKSk7CgkJCQkJCXJldHVybiAiU3VjY2VzczogU2Vzc2lvbiByZXZhbGlkYXRlZCI7CgkJCQkJfQoJCQkJCWlmIChzZXNzaW9uTGlzdC5zaXplKCkgPCBJbnRlZ2VyLnBhcnNlSW50KHByb3BlcnRpZXMKCQkJCQkJCS5nZXRWYWx1ZSgic2Vzc2lvbnMuY29uY3VycmVudC5tYXgiKSkpIHsKCQkJCQkJc2Vzc2lvbkxpc3QuYWRkKHNlc3Npb24pOwoJCQkJCQlzZXNzaW9uTWFwLnB1dCh1c2VybmFtZSwgc2Vzc2lvbkxpc3QpOwoJCQkJCQlzZXJ2bGV0Q29udGV4dC5zZXRBdHRyaWJ1dGUoInNlc3Npb25Db3VudCIsIHNlc3Npb25NYXApOwoJCQkJCQlzTG9nLmRlYnVnKAoJCQkJCQkJCSJTdWNjZXNzZnVsbHkgYWRkZWQgdXNlciAne30nIHdpdGggc2Vzc2lvbklkICd7fSciLAoJCQkJCQkJCXVzZXJuYW1lLCBzZXNzaW9uLmdldElkKCkpOwoJCQkJCQlyZXR1cm4gIlN1Y2Nlc3MiOwoJCQkJCX0gZWxzZSBpZiAoaW52YWxpZGF0ZU9sZGVzdFNlc3Npb24odXNlcm5hbWUpKSB7CgkJCQkJCXJldHVybiBhZGRTZXNzaW9uKHVzZXJuYW1lLCBzZXNzaW9uKTsKCQkJCQl9IGVsc2UgewoJCQkJCQlyZXR1cm4gIkVycm9yOiBDb3VsZCBub3QgaW52YWxpZGF0ZSI7CgkJCQkJfQoKCQkJCX0gZWxzZSB7CgkJCQkJLy8gaWYgbm8gdXNlciBleGlzdHMgY3JlYXRlIGFuIGVudHJ5IGZvciB0aGVtCgkJCQkJc2Vzc2lvbk1hcC5wdXQodXNlcm5hbWUsIG5ldyBMaW5rZWRIYXNoU2V0PEh0dHBTZXNzaW9uPigpKTsKCQkJCQlzZXJ2bGV0Q29udGV4dC5zZXRBdHRyaWJ1dGUoImFjdGl2ZVVzZXJzIiwgc2Vzc2lvbk1hcCk7CgkJCQkJcmV0dXJuIGFkZFNlc3Npb24odXNlcm5hbWUsIHNlc3Npb24pOwoJCQkJfQoKCQkJfSBlbHNlIHsKCQkJCXJldHVybiAiRVJST1I6IE1hcCB3YXMgbmV2ZXIgaW5pdGlhbGl6ZWQiOwoJCQl9CgkJfQoJfQoJCglwcml2YXRlIGJvb2xlYW4gaW52YWxpZGF0ZU9sZGVzdFNlc3Npb24oU3RyaW5nIHVzZXJuYW1lKSB7CgkJc3luY2hyb25pemVkIChzZXJ2bGV0Q29udGV4dC5nZXRBdHRyaWJ1dGUoImFjdGl2ZVVzZXJzTG9jayIpKSB7CgkJCWlmIChzZXJ2bGV0Q29udGV4dC5nZXRBdHRyaWJ1dGUoImFjdGl2ZVVzZXJzIikgIT0gbnVsbCkgewoJCQkJQFN1cHByZXNzV2FybmluZ3MoInVuY2hlY2tlZCIpCgkJCQlNYXA8U3RyaW5nLCBDb2xsZWN0aW9uPEh0dHBTZXNzaW9uPj4gc2Vzc2lvbk1hcCA9IChNYXA8U3RyaW5nLCBDb2xsZWN0aW9uPEh0dHBTZXNzaW9uPj4pIHNlcnZsZXRDb250ZXh0CgkJCQkJCS5nZXRBdHRyaWJ1dGUoImFjdGl2ZVVzZXJzIik7CgkJCQlpZiAoc2Vzc2lvbk1hcC5jb250YWluc0tleSh1c2VybmFtZSkpIHsKCQkJCQlpZiAoISgoQ29sbGVjdGlvbjxIdHRwU2Vzc2lvbj4pIHNlc3Npb25NYXAuZ2V0KHVzZXJuYW1lKSkKCQkJCQkJCS5pc0VtcHR5KCkpIHsKCQkJCQkJSXRlcmF0b3I8SHR0cFNlc3Npb24+IHNlc3Npb25JdGVyID0gKChDb2xsZWN0aW9uPEh0dHBTZXNzaW9uPikgc2Vzc2lvbk1hcC5nZXQodXNlcm5hbWUpKS5pdGVyYXRvcigpOwoJCQkJCQlIdHRwU2Vzc2lvbiB0ZW1wU2Vzc2lvbiA9IHNlc3Npb25JdGVyLm5leHQoKTsKCQkJCQkJc2Vzc2lvbkl0ZXIucmVtb3ZlKCk7CgkJCQkJCQoJCQkJCQlzTG9nLmRlYnVnKCJSZW1vdmluZyBvbGRlc3Qgc2Vzc2lvbiAne30nIGZyb20gdXNlciAne30nICIsIHRlbXBTZXNzaW9uLmdldElkKCksIHVzZXJuYW1lKTsKLy8JCQkJCQl0ZW1wU2Vzc2lvbi5pbnZhbGlkYXRlKCk7CgkJCQkJCVV0aWxzLndpcGVTZXNzaW9uKHRlbXBTZXNzaW9uKTsKCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJfQoJCQkJCXNMb2cuZXJyb3IoIk9sZGVzdCBzZXNzaW9uIGZvciB1c2VyICd7fScgY291bGQgbm90IGJlIHJlbW92ZWQ6IHNlc3Npb24gbGlzdCBpcyBlbXB0eSIsIHVzZXJuYW1lKTsKCQkJCX0KCQkJCS8vIG5vIHN1Y2ggdXNlcnMKCQkJfQoJCQkvLyBubyBhY3RpdmUgdXNlcnMKCQkJc0xvZy5lcnJvcigiQ2Fubm90IGludmFsaWRhdGUgb2xkZXN0IHNlc3Npb24gZm9yIHVzZXIgJ3t9JzogVXNlciBkb2VzIG5vdCBleGlzdCIsIHVzZXJuYW1lKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCQoJcHVibGljIHZvaWQgcmVtb3ZlQWN0aXZlU2Vzc2lvbihTdHJpbmcgdXNlcm5hbWUsIEh0dHBTZXNzaW9uIGh0dHBTZXNzaW9uKXsKCQlzeW5jaHJvbml6ZWQgKHNlcnZsZXRDb250ZXh0LmdldEF0dHJpYnV0ZSgiYWN0aXZlVXNlcnNMb2NrIikpIHsKCQkJaWYgKHNlcnZsZXRDb250ZXh0LmdldEF0dHJpYnV0ZSgiYWN0aXZlVXNlcnMiKSAhPSBudWxsKSB7CgkJCQlAU3VwcHJlc3NXYXJuaW5ncygidW5jaGVja2VkIikKCQkJCU1hcDxTdHJpbmcsIENvbGxlY3Rpb248SHR0cFNlc3Npb24+PiBzZXNzaW9uTWFwID0gKE1hcDxTdHJpbmcsIENvbGxlY3Rpb248SHR0cFNlc3Npb24+Pikgc2VydmxldENvbnRleHQKCQkJCQkJLmdldEF0dHJpYnV0ZSgiYWN0aXZlVXNlcnMiKTsKCQkJCWlmIChzZXNzaW9uTWFwLmNvbnRhaW5zS2V5KHVzZXJuYW1lKSkgewoJCQkJCWlmICghKChDb2xsZWN0aW9uPEh0dHBTZXNzaW9uPikgc2Vzc2lvbk1hcC5nZXQodXNlcm5hbWUpKQoJCQkJCQkJLmlzRW1wdHkoKSkgewoJCQkJCQlpZihzZXNzaW9uTWFwLmdldCh1c2VybmFtZSkucmVtb3ZlKGh0dHBTZXNzaW9uKSl7CgkJCQkJCQlVdGlscy53aXBlU2Vzc2lvbihodHRwU2Vzc2lvbik7CgkJCQkJCQlzTG9nLmRlYnVnKCJSZW1vdmluZyBzZXNzaW9uICd7fScgZnJvbSB1c2VyICd7fScgIiwgaHR0cFNlc3Npb24uZ2V0SWQoKSwgdXNlcm5hbWUpOwoJCQkJCQkJcmV0dXJuOwoJCQkJCQl9CgkJCQkJCXNMb2cuZXJyb3IoIlNlc3Npb24gJ3t9JyBkb2VzIG5vdCBleGlzdCBmb3IgdXNlciAne30nICIsIGh0dHBTZXNzaW9uLmdldElkKCksIHVzZXJuYW1lKTsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCQkJCQlzTG9nLmVycm9yKCJTZXNzaW9uICd7fScgZm9yIHVzZXIgJ3t9JyBjb3VsZCBub3QgYmUgcmVtb3ZlZDogc2Vzc2lvbiBsaXN0IGlzIGVtcHR5IixodHRwU2Vzc2lvbi5nZXRJZCgpLCB1c2VybmFtZSk7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQkJLy8gbm8gc3VjaCB1c2VycwoJCQl9CgkJCS8vIG5vIGFjdGl2ZSB1c2VycwoJCQlzTG9nLmVycm9yKCJDYW5ub3QgcmVtb3ZlIHNlc3Npb24gZm9yIHVzZXIgJ3t9JzogVXNlciBkb2VzIG5vdCBleGlzdCIsIHVzZXJuYW1lKTsKCQkJcmV0dXJuOwoJCX0KCQkKCX0KCQoJcHVibGljIGJvb2xlYW4gaXNTZXNzaW9uRXhwaXJlZChIdHRwU2Vzc2lvbiBzZXNzaW9uKXsKCQlEYXRlIGV4cGlyZXMgPSBuZXcgRGF0ZShzZXNzaW9uLmdldENyZWF0aW9uVGltZSgpICsgTG9uZy5wYXJzZUxvbmcocHJvcGVydGllcy5nZXRKU09ORGF0YSgic2Vzc2lvbnMudGltZW91dC5hYnNvbHV0ZSIpLnRyaW0oKSkgKiA2MCAqIDYwICogMTAwMCk7IC8vMSBociBleHBpcmUgdGltZQoJCURhdGUgbm93ID0gIG5ldyBEYXRlKFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpKTsKCQlpZihleHBpcmVzLmJlZm9yZShub3cpKXsKCQkJc0xvZy5pbmZvKCJTZXNzaW9uICd7fScgZXhwaXJlZCBkdWUgdG8gYWJzb2x1dGUgdGltZW91dCIsIHNlc3Npb24uZ2V0SWQoKSk7CgkJCXNlc3Npb24uaW52YWxpZGF0ZSgpOwoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJc0xvZy50cmFjZSgiU2Vzc2lvbiAne30nIGlzIHZhbGlkOiBFeHBpcmVzIGluICd7fScgIiwgc2Vzc2lvbi5nZXRJZCgpLCAoZXhwaXJlcy5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpKSAvICg2MC4wICogNjAuMCAqIDEwMDAuMCkpOwoJCXJldHVybiBmYWxzZTsKCQkKCX0KCn0="},{"filepath":"comserv-parent\comserv-web\src\main\java\com\db\comserv\main\utilities\Utils.java","filecontent":"LyoKICogVGhpcyBjb21wdXRlciBwcm9ncmFtIGlzIHRoZSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gYW5kIHByb3ByaWV0YXJ5IHRyYWRlCiAqIHNlY3JldCBvZiBEQi4gUG9zc2Vzc2lvbnMgYW5kIHVzZSBvZiB0aGlzIHByb2dyYW0gbXVzdAogKiBjb25mb3JtIHN0cmljdGx5IHRvIHRoZSBsaWNlbnNlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCBEQiwKICovCnBhY2thZ2UgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXM7CgppbXBvcnQgamF2YS5pby5GaWxlOwppbXBvcnQgamF2YS5pby5GaWxlSW5wdXRTdHJlYW07CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbTsKaW1wb3J0IGphdmEubWF0aC5CaWdJbnRlZ2VyOwppbXBvcnQgamF2YS5zZWN1cml0eS5TZWN1cmVSYW5kb207CmltcG9ydCBqYXZhLnV0aWwuUHJvcGVydGllczsKCmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlc3Npb247CgppbXBvcnQgb3JnLmpzb24uc2ltcGxlLkpTT05BcnJheTsKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5wYXJzZXIuSlNPTlBhcnNlcjsKaW1wb3J0IG9yZy5qc29uLnNpbXBsZS5wYXJzZXIuUGFyc2VFeGNlcHRpb247CmltcG9ydCBvcmcuc2xmNGouTG9nZ2VyOwppbXBvcnQgb3JnLnNsZjRqLkxvZ2dlckZhY3Rvcnk7CgppbXBvcnQgY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMuVXRpbGl0eTsKCnB1YmxpYyBjbGFzcyBVdGlscyB7CgkKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgTG9nZ2VyIHNMb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcigiU0VTU0lPTiIpOwoJCglwdWJsaWMgc3RhdGljIFN0cmluZyBnZXRDc3JmVG9rZW4oKXsKCQlTZWN1cmVSYW5kb20gcmFuZG9tID0gbmV3IFNlY3VyZVJhbmRvbSgpOwoJCVN0cmluZyB0b2tlbiA9IG5ldyBCaWdJbnRlZ2VyKDI1NiwgcmFuZG9tKS50b1N0cmluZygzMik7CgkJcmV0dXJuIHRva2VuOwoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgd2lwZVNlc3Npb24oSHR0cFNlc3Npb24gaHR0cFNlc3Npb24pewoJCXRyeXsKCQkJaHR0cFNlc3Npb24ucmVtb3ZlQXR0cmlidXRlKCJ1c2VybmFtZSIpOwoJCQlodHRwU2Vzc2lvbi5yZW1vdmVBdHRyaWJ1dGUoInN0YXR1cyIpOwoJCX0KCQljYXRjaChJbGxlZ2FsU3RhdGVFeGNlcHRpb24gZSl7CgkJCXNMb2cudHJhY2UoIkVycm9yIHdpcGluZyBzZXNzaW9uIChzZXNzaW9uIGlzIGludmFsaWQpIiwgZSk7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIEpTT05BcnJheSBwYXJzZUpzb24oU3RyaW5nIHN0cikgdGhyb3dzIFBhcnNlRXhjZXB0aW9uewoJSlNPTlBhcnNlciBwYXJzZXIgPSBuZXcgSlNPTlBhcnNlcigpOwoJSlNPTkFycmF5IGpPYmogPSAoSlNPTkFycmF5KSAKCQkJcGFyc2VyLnBhcnNlKHN0cik7CgkJcmV0dXJuIGpPYmo7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgUHJvcGVydGllcyBsb2FkUHJvcGVydGllcyhTdHJpbmcgZmlsZW5hbWUpIHsKCQlmaW5hbCBQcm9wZXJ0aWVzIHByb3BlcnRpZXMgPSBuZXcgUHJvcGVydGllcygpOwoJCUlucHV0U3RyZWFtIGluPW51bGw7CgkJdHJ5IHsKCQkJU3RyaW5nIHBhdGhDb25mTmFtZSA9ICJDT01TRVJWX1dFQl9DT05GX0ZJTEUiOwoJCQlGaWxlIGNvbmZpZ0RpciA9IG5ldyBGaWxlKFN5c3RlbS5nZXRQcm9wZXJ0eShwYXRoQ29uZk5hbWUpLCIiKTsKCQkJRmlsZSBjb25maWdGaWxlID0gbmV3IEZpbGUoY29uZmlnRGlyLCBmaWxlbmFtZSk7CgkJCWlmKGNvbmZpZ0ZpbGUuZXhpc3RzKCkpewoJCQkJc0xvZy5kZWJ1ZygibG9hZGluZyBjdXN0b20gc2V0dGluZyBmcm9tIHt9IGZvbGRlci4uLiIsIHBhdGhDb25mTmFtZSk7CgkJCQlpbiA9IG5ldyBGaWxlSW5wdXRTdHJlYW0oY29uZmlnRmlsZSk7CQkJCQoJCQl9ZWxzZXsKCQkJCXNMb2cuZGVidWcoImxvYWRpbmcgc2V0dGluZyBmaWxlcyBmcm9tIHJlc291cmNlcyBmb2xkZXIuLi4iKTsKCQkJCWluID0gVXRpbGl0eS5jbGFzcy5nZXRSZXNvdXJjZUFzU3RyZWFtKCIvIiArIGZpbGVuYW1lKTsKCQkJfQoJCQkKCQkJCgkJCWlmIChpbiA9PSBudWxsKSB7CgkJCQlzTG9nLmVycm9yKCJGYWlsZWQgdG8gbG9hZCBwcm9wZXJ0aWVzLCBmaWxlICd7fScgIG5vdCBmb3VuZCIsIGZpbGVuYW1lKTsKCQkJCXJldHVybiBudWxsOwoJCQl9CgkJCQoJCQlwcm9wZXJ0aWVzLmxvYWQoaW4pOwoJCQlyZXR1cm4gcHJvcGVydGllczsKCQl9IAoJCWNhdGNoIChmaW5hbCBJT0V4Y2VwdGlvbiBlKQoJCXsKCQkJc0xvZy5lcnJvcigiRmFpbGQgdG8gbG9hZCBwcm9wZXJ0aWVzIGZpbGUgJ3t9JyIsIGZpbGVuYW1lLCBlKTsKCQl9ZmluYWxseXsKCQkJaWYoaW4gIT0gbnVsbCl7CgkJCQl0cnkgewoJCQkJCWluLmNsb3NlKCk7CgkJCQl9IGNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiBudWxsOwoJfQp9Cg=="},{"filepath":"comserv-parent\comserv-web\src\main\resources\comserv-web.properties","filecontent":"IzEwLjIwMi4xMS45OCA9IGRldiBzZXJ2ZXIKCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFkZHJlc3Mgc2V0dGluZ3MgCiMgQkFDS0VORCBFbmdpbmUgYWRkcmVzcyBmb3IgdGhlIGRldiBzZXJ2ZXIgaXMgPSBodHRwOi8vMTAuMjAyLjExLjk4OjgwODAKQkFDS0VOREVuZ2luZS5hZGRyZXNzID0gaHR0cDovL2xvY2FsaG9zdDo4MDgwCgoKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgaHR0cCBjb25uZWN0aW9uIHRpbWVvdXRzCiMgKGxvbmcpIG1pbGlzZWNvbmRzCmh0dHBjb24uY29ubmVjdGlvbi50aW1lb3V0ID0gNTAwMAoKIyAobG9uZykgbWlsaXNlY29uZHMKaHR0cGNvbi5yZWFkLnRpbWVvdXQgPSA2NTAwMAoKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU2Vzc2lvbiBTZXR0aW5ncwojTWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMoc2Vzc2lvbnMpIG9uZSB1c2VyIGNhbiBoYXZlIApzZXNzaW9ucy5jb25jdXJyZW50Lm1heCA9IDEKCiNUaW1lb3V0IGZvciBhYnNvbHV0ZSB0aW1lciwgdGhlIHNlc3Npb24gd2lsbCBlbmQgcmVnYXJkbGVzcyBvZiBhY3Rpdml0eToKIyAoaW50KSBudW1iZXIgb2YgaG91cnMKc2Vzc2lvbnMudGltZW91dC5hYnNvbHV0ZSA9IDEwCgog"},{"filepath":"comserv-parent\comserv-web\src\main\resources\ESAPI.properties","filecontent":""},{"filepath":"comserv-parent\comserv-web\src\main\resources\log4j2.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPENvbmZpZ3VyYXRpb24gbW9uaXRvckludGVydmFsPSIzMCIgc2h1dGRvd25Ib29rPSJkaXNhYmxlIiBwYWNrYWdlcz0iY29tLmRiLmNvbXNlcnYubWFpbi51dGlsaXRpZXMiPgoJPFByb3BlcnRpZXM+CgkJPFByb3BlcnR5IG5hbWU9InJvb3RfZGlyIj4uPC9Qcm9wZXJ0eT4KCTwvUHJvcGVydGllcz4KCTxBcHBlbmRlcnM+CgkJPENvbnNvbGUgbmFtZT0iQ29uc29sZSIgdGFyZ2V0PSJTWVNURU1fT1VUIj4KCQkJPFBhdHRlcm5MYXlvdXQgcGF0dGVybj0iJWR7SEg6bW06c3MuU1NTfSBbJXRdICUtNWxldmVsICVsb2dnZXJ7MzZ9IC0gJW1zZyVuIiAvPgoJCTwvQ29uc29sZT4KCgkJPFJvbGxpbmdGaWxlIG5hbWU9IkF1ZGl0TG9nIiBmaWxlTmFtZT0iJHtyb290X2Rpcn0vY29tc2Vydi13ZWItYXVkaXQubG9nIiBpbW1lZGlhdGVGbHVzaD0iZmFsc2UiCgkJCWZpbGVQYXR0ZXJuPSIke3Jvb3RfZGlyfS9jb21zZXJ2LXdlYi1hdWRpdC0lZGF0ZXt5eXl5LU1NLWRkfS0laS5sb2cuZ3oiPgoJCQk8UGF0dGVybkxheW91dD4KCQkJCTxQYXR0ZXJuPiVkYXRle3l5eXktTU0tZGQnVCdISDptbTpzcy5TU1N9ICV0aHJlYWQgJWxldmVsICVsb2dnZXIgW3JlbW90ZUFkZHI9JW1kY3tyZW1vdGVBZGRyfSx1c2VyPSVtZGN7dXNlcn0sdGlkPSVtZGN7dGlkfSxwYXRoPSVtZGN7cGF0aH1dIC0gJW1zZyVuJXRocm93YWJsZTwvUGF0dGVybj4KCQkJPC9QYXR0ZXJuTGF5b3V0PgoJCQk8UG9saWNpZXM+CgkJCQk8VGltZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSAvPgoJCQkJPFNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kgc2l6ZT0iMjAwIE1CIiAvPgoJCQk8L1BvbGljaWVzPgoJCQkKICAgICAgICAgICAgPE1heExvZ3NTdHJhdGVneSBtYXg9IjEwMDAiIGJhc2VEaXI9IiR7cm9vdF9kaXJ9IiBmaWxlTmFtZVBhdHRlcm49ImNvbXNlcnYtd2ViLWF1ZGl0LS4rZ3oiIG1heEdicz0iNSIvPgoJCTwvUm9sbGluZ0ZpbGU+CgkJCQkKCQk8Um9sbGluZ0ZpbGUgbmFtZT0iU2VydmVyTG9nIiBmaWxlTmFtZT0iJHtyb290X2Rpcn0vY29tc2Vydi13ZWItc2VydmVyLmxvZyIgaW1tZWRpYXRlRmx1c2g9ImZhbHNlIgoJCQlmaWxlUGF0dGVybj0iJHtyb290X2Rpcn0vY29tc2Vydi13ZWItc2VydmVyLSVkYXRle3l5eXktTU0tZGR9LSVpLmxvZy5neiI+CgkJCTxQYXR0ZXJuTGF5b3V0PgoJCQkJPFBhdHRlcm4+JWRhdGV7eXl5eS1NTS1kZCdUJ0hIOm1tOnNzLlNTU30gJXRocmVhZCAlbGV2ZWwgJWxvZ2dlciBbJWNsYXNzezF9LiVtZXRob2RdIC0gJW1zZyVuJXRocm93YWJsZTwvUGF0dGVybj4KCQkJPC9QYXR0ZXJuTGF5b3V0PgoJCQk8UG9saWNpZXM+CgkJCQk8VGltZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSAvPgoJCQkJPFNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kgc2l6ZT0iMjAwIE1CIiAvPgoJCQk8L1BvbGljaWVzPgoJCQkKCQkJPE1heExvZ3NTdHJhdGVneSBtYXg9IjEwMDAiIGJhc2VEaXI9IiR7cm9vdF9kaXJ9IiBmaWxlTmFtZVBhdHRlcm49ImNvbXNlcnYtd2ViLXNlcnZlci0uK2d6IiBtYXhHYnM9IjUiLz4KCQk8L1JvbGxpbmdGaWxlPgoJCQoJCTxSb2xsaW5nRmlsZSBuYW1lPSJSZXF1ZXN0TG9nIiBmaWxlTmFtZT0iJHtyb290X2Rpcn0vY29tc2Vydi13ZWItcmVxdWVzdC5sb2ciIGltbWVkaWF0ZUZsdXNoPSJmYWxzZSIKCQkJZmlsZVBhdHRlcm49IiR7cm9vdF9kaXJ9L2NvbXNlcnYtd2ViLXJlcXVlc3QtJWRhdGV7eXl5eS1NTS1kZH0tJWkubG9nLmd6Ij4KCQkJPFBhdHRlcm5MYXlvdXQ+CgkJCQk8UGF0dGVybj4lZGF0ZXt5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTfSAldGhyZWFkICVsZXZlbCAlbG9nZ2VyIFslY2xhc3N7MX0uJW1ldGhvZF0gW3JlbW90ZUFkZHI9JW1kY3tyZW1vdGVBZGRyfSx1c2VyPSVtZGN7dXNlcn0sdGlkPSVtZGN7dGlkfSxwYXRoPSVtZGN7cGF0aH1dIC0gJW1zZyVuJXRocm93YWJsZTwvUGF0dGVybj4KCQkJPC9QYXR0ZXJuTGF5b3V0PgoJCQk8UG9saWNpZXM+CgkJCQk8VGltZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSAvPgoJCQkJPFNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kgc2l6ZT0iMjAwIE1CIiAvPgoJCQk8L1BvbGljaWVzPgoJCQkKCQkJPE1heExvZ3NTdHJhdGVneSBtYXg9IjEwMDAiIGJhc2VEaXI9IiR7cm9vdF9kaXJ9IiBmaWxlTmFtZVBhdHRlcm49ImNvbXNlcnYtd2ViLXJlcXVlc3QtLitneiIgbWF4R2JzPSI1Ii8+CgkJPC9Sb2xsaW5nRmlsZT4KCQkKCQk8Um9sbGluZ0ZpbGUgbmFtZT0iRXh0ZXJuYWxBY2Nlc3NMb2ciIGZpbGVOYW1lPSIke3Jvb3RfZGlyfS9jb21zZXJ2LXdlYi1leHQtYWNjZXNzLmxvZyIgaW1tZWRpYXRlRmx1c2g9ImZhbHNlIgogICAgICAgICAgICBmaWxlUGF0dGVybj0iJHtyb290X2Rpcn0vY29tc2Vydi13ZWItZXh0LWFjY2Vzcy0lZGF0ZXt5eXl5LU1NLWRkfS0laS5sb2cuZ3oiPgogICAgICAgICAgICA8UGF0dGVybkxheW91dD4KICAgICAgICAgICAgICAgIDxQYXR0ZXJuPiVkYXRle3l5eXktTU0tZGQnVCdISDptbTpzcy5TU1N9ICVtc2clbjwvUGF0dGVybj4KICAgICAgICAgICAgPC9QYXR0ZXJuTGF5b3V0PgogICAgICAgICAgICA8UG9saWNpZXM+CiAgICAgICAgICAgICAgICA8VGltZUJhc2VkVHJpZ2dlcmluZ1BvbGljeSAvPgogICAgICAgICAgICAgICAgPFNpemVCYXNlZFRyaWdnZXJpbmdQb2xpY3kgc2l6ZT0iMjAwIE1CIiAvPgogICAgICAgICAgICA8L1BvbGljaWVzPgogICAgICAgICAgICAKICAgICAgICAgICAgPE1heExvZ3NTdHJhdGVneSBtYXg9IjEwMDAiIGJhc2VEaXI9IiR7cm9vdF9kaXJ9IiBmaWxlTmFtZVBhdHRlcm49ImNvbXNlcnYtd2ViLWV4dC1hY2Nlc3MtLitneiIgbWF4R2JzPSI1Ii8+CiAgICAgICAgPC9Sb2xsaW5nRmlsZT4KICAgICAgICAKCTwvQXBwZW5kZXJzPgoJPExvZ2dlcnM+CgkJPExvZ2dlciBuYW1lPSJBVURJVCIgbGV2ZWw9ImRlYnVnIiBhZGRpdGl2aXR5PSJmYWxzZSI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkF1ZGl0TG9nIiAvPgoJCTwvTG9nZ2VyPgoJCQoJCTxMb2dnZXIgbmFtZT0iU0VSVkVSIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iU2VydmVyTG9nIiAvPgoJCTwvTG9nZ2VyPgoJCQoJCTxMb2dnZXIgbmFtZT0iQ1JZUFRPIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KICAgICAgICAgICAgPEFwcGVuZGVyUmVmIHJlZj0iU2VydmVyTG9nIiAvPgogICAgICAgIDwvTG9nZ2VyPgogICAgICAgIAogICAgICAgIDxMb2dnZXIgbmFtZT0iQVdTLVMzIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KICAgICAgICAgICAgPEFwcGVuZGVyUmVmIHJlZj0iU2VydmVyTG9nIiAvPgogICAgICAgIDwvTG9nZ2VyPiAKCQkKCQk8TG9nZ2VyIG5hbWU9IlNFU1NJT04iIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJTZXJ2ZXJMb2ciIC8+CgkJPC9Mb2dnZXI+CgkJCgkJPExvZ2dlciBuYW1lPSJSRVFVRVNUIiBsZXZlbD0iZGVidWciIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCQkKCQk8TG9nZ2VyIG5hbWU9IlJFUVVFU1QtQ0FDSEUiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgogICAgICAgICAgICA8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgogICAgICAgIDwvTG9nZ2VyPgoJCQoJCTxMb2dnZXIgbmFtZT0iRVNBUEkiIGxldmVsPSJkZWJ1ZyIgYWRkaXRpdml0eT0iZmFsc2UiPgogICAgICAgICAgICA8QXBwZW5kZXJSZWYgcmVmPSJSZXF1ZXN0TG9nIiAvPgogICAgICAgIDwvTG9nZ2VyPgoJCQoJCTxMb2dnZXIgbmFtZT0iTE9HR0lORyIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iQXVkaXRMb2ciIC8+CgkJPC9Mb2dnZXI+CgkJCgkJPExvZ2dlciBuYW1lPSJQUk9QRVJUSUVTIiBsZXZlbD0iaW5mbyIgYWRkaXRpdml0eT0iZmFsc2UiPgoJCQk8QXBwZW5kZXJSZWYgcmVmPSJBdWRpdExvZyIgLz4KCQk8L0xvZ2dlcj4KCQkKCQk8TG9nZ2VyIG5hbWU9IklQQkxPQ0tFUiIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iUmVxdWVzdExvZyIgLz4KCQk8L0xvZ2dlcj4KCQkKCQk8TG9nZ2VyIG5hbWU9IkVYVC1BQ0NFU1MiIGxldmVsPSJpbmZvIiBhZGRpdGl2aXR5PSJmYWxzZSI+CiAgICAgICAgICAgIDxBcHBlbmRlclJlZiByZWY9IkV4dGVybmFsQWNjZXNzTG9nIiAvPgogICAgICAgIDwvTG9nZ2VyPgoJCQoJCTxMb2dnZXIgbmFtZT0ib3JnLnNwcmluZ2ZyYW1ld29yayIgbGV2ZWw9ImluZm8iIGFkZGl0aXZpdHk9ImZhbHNlIj4KCQkJPEFwcGVuZGVyUmVmIHJlZj0iU2VydmVyTG9nIiAvPgoJCTwvTG9nZ2VyPgoJCQoJCTxSb290IGxldmVsPSJkZWJ1ZyI+CgkJCTxBcHBlbmRlclJlZiByZWY9IkNvbnNvbGUiIC8+CgkJCTxBcHBlbmRlclJlZiByZWY9IlNlcnZlckxvZyIgLz4KCQk8L1Jvb3Q+CgoJPC9Mb2dnZXJzPgo8L0NvbmZpZ3VyYXRpb24+Cg=="},{"filepath":"comserv-parent\comserv-web\src\main\resources\validation.properties","filecontent":"IyBUaGUgRVNBUEkgdmFsaWRhdG9yIGRvZXMgbWFueSBzZWN1cml0eSBjaGVja3Mgb24gaW5wdXQsIHN1Y2ggYXMgY2Fub25pY2FsaXphdGlvbgojIGFuZCB3aGl0ZWxpc3QgdmFsaWRhdGlvbi4gTm90ZSB0aGF0IGFsbCBvZiB0aGVzZSB2YWxpZGF0aW9uIHJ1bGVzIGFyZSBhcHBsaWVkICphZnRlcioKIyBjYW5vbmljYWxpemF0aW9uLiBEb3VibGUtZW5jb2RlZCBjaGFyYWN0ZXJzIChldmVuIHdpdGggZGlmZmVyZW50IGVuY29kaW5ncyBpbnZvbHZlZCwKIyBhcmUgbmV2ZXIgYWxsb3dlZC4KIwojIFRvIHVzZToKIwojIEZpcnN0IHNldCB1cCBhIHBhdHRlcm4gYmVsb3cuIFlvdSBjYW4gY2hvb3NlIGFueSBuYW1lIHlvdSB3YW50LCBwcmVmaXhlZCBieSB0aGUgd29yZAojICJWYWxpZGF0aW9uLiIgRm9yIGV4YW1wbGU6CiMgICBWYWxpZGF0aW9uLkVtYWlsPV5bQS1aYS16MC05Ll8lLV0rQFtBLVphLXowLTkuLV0rXFwuW2EtekEtWl17Miw0fSQKIyAKIyBUaGVuIHlvdSBjYW4gdmFsaWRhdGUgaW4geW91ciBjb2RlIGFnYWluc3QgdGhlIHBhdHRlcm4gbGlrZSB0aGlzOgojICAgICBFU0FQSS52YWxpZGF0b3IoKS5pc1ZhbGlkSW5wdXQoIlVzZXIgRW1haWwiLCBpbnB1dCwgIkVtYWlsIiwgbWF4TGVuZ3RoLCBhbGxvd051bGwpOwojIFdoZXJlIG1heExlbmd0aCBhbmQgYWxsb3dOdWxsIGFyZSBzZXQgZm9yIHlvdSBuZWVkcywgcmVzcGVjdGl2ZWx5LgojCiMgQnV0IG5vdGUsIHdoZW4geW91IHVzZSBib29sZWFuIHZhcmlhbnRzIG9mIHZhbGlkYXRpb24gZnVuY3Rpb25zLCB5b3UgbG9zZSBjcml0aWNhbCAKIyBjYW5vbmljYWxpemF0aW9uLiBJdCBpcyBwcmVmZXJhYmxlIHRvIHVzZSB0aGUgImdldCIgbWV0aG9kcyAod2hpY2ggdGhyb3cgZXhjZXB0aW9ucykgYW5kIAojIGFuZCB1c2UgdGhlIHJldHVybmVkIHVzZXIgaW5wdXQgd2hpY2ggaXMgaW4gY2Fub25pY2FsIGZvcm0uIENvbnNpZGVyIHRoZSBmb2xsb3dpbmc6CiMgIAojIHRyeSB7CiMgICAgc29tZU9iamVjdC5zZXRFbWFpbChFU0FQSS52YWxpZGF0b3IoKS5nZXRWYWxpZElucHV0KCJVc2VyIEVtYWlsIiwgaW5wdXQsICJFbWFpbCIsIG1heExlbmd0aCwgYWxsb3dOdWxsKSk7CiMKVmFsaWRhdG9yLlNhZmVOYW1lU3RyaW5nPSg/bSleW1xcd1xcc19cXC5cXC0sQCtcXChcXCkhLzojPicmIFx1MjI2NC1cdTIyNjUgXHUwMEMwLVx1MDE3OFx1MDQwMC1cdTA0RkZdezAsNTB9JApWYWxpZGF0b3IuU2FmZU1zZVN0cmluZz0oP20pXltcXHdcXHNfXFwuXFwtLEArXFwoXFwpIS86Pj0nJCYgXHUyMjY0LVx1MjI2NSBcdTAwQzAtXHUwMTc4XHUwNDAwLVx1MDRGRl17MCwyMDQ4fSQKVmFsaWRhdG9yLlNhZmVQcm9maWxlU3RyaW5nPSg/bSleW1xcd1xcc19cXC5cXC0sQCtcXD0oXFwpIS86I3tcXH0+JyZcdTAwN0NcdTAwQzAtXHUwMTc4XHUwNDAwLVx1MDRGRl17MCwyMDQ4fSQKVmFsaWRhdG9yLlNhZmVTdHJpbmc9KD9tKV5bXFx3XFxzX1xcLlxcLSxAK1xcPShcXCkhLzojPicmXHUwMDdDXHUwMEMwLVx1MDE3OFx1MDQwMC1cdTA0RkZdezAsMjA0OH0kClZhbGlkYXRvci5QYXNzcGhyYXNlPV5bXFx3XFwuXFwtXFw/LEAhIyQlXiYqKz1cdTAwQzAtXHUwMTc4XXswLDEyOH0kClZhbGlkYXRvci5TYWZlSFRNTD0oP20pXltcXHdcXHNcXC5cXC0sQCtcXChcXCk9PD4nLz8hXCI6XHUwMEMwLVx1MDE3OFx1MDQwMC1cdTA0RkZdezAsMjA0OH0kClZhbGlkYXRvci5FeGNsdWRlU3RyaW5nPSg/aXNtKV4oPyEuKnNjcmlwdCkuKiQ="},{"filepath":"comserv-parent\comserv-web\src\main\webapp\resources\js\controllers\policyCtrl.js","filecontent":""},{"filepath":"comserv-parent\comserv-web\src\main\webapp\resources\localization\en_US.js","filecontent":""},{"filepath":"comserv-parent\comserv-web\src\main\webapp\resources\tnc\termsAndConditions.html","filecontent":""},{"filepath":"comserv-parent\comserv-web\src\main\webapp\WEB-INF\web.xml","filecontent":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx3ZWItYXBwIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUiIHhtbG5zOndlYj0iaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlIiAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vamF2YS5zdW4uY29tL3htbC9ucy9qYXZhZWUgaHR0cDovL2phdmEuc3VuLmNvbS94bWwvbnMvamF2YWVlL3dlYi1hcHBfM18wLnhzZCIgaWQ9IldlYkFwcF9JRCIgdmVyc2lvbj0iMy4wIj4NCiAgPGRpc3BsYXktbmFtZT5jb21zZXJ2PC9kaXNwbGF5LW5hbWU+DQogIDx3ZWxjb21lLWZpbGUtbGlzdD4NCiAgICA8d2VsY29tZS1maWxlPmluZGV4Lmh0bWw8L3dlbGNvbWUtZmlsZT4NCiAgICA8d2VsY29tZS1maWxlPmluZGV4Lmh0bTwvd2VsY29tZS1maWxlPg0KICAgIDx3ZWxjb21lLWZpbGU+aW5kZXguanNwPC93ZWxjb21lLWZpbGU+DQogICAgPHdlbGNvbWUtZmlsZT5kZWZhdWx0Lmh0bWw8L3dlbGNvbWUtZmlsZT4NCiAgICA8d2VsY29tZS1maWxlPmRlZmF1bHQuaHRtPC93ZWxjb21lLWZpbGU+DQogICAgPHdlbGNvbWUtZmlsZT5kZWZhdWx0LmpzcDwvd2VsY29tZS1maWxlPg0KICA8L3dlbGNvbWUtZmlsZS1saXN0Pg0KICA8Y29udGV4dC1wYXJhbT4NCiAgICA8cGFyYW0tbmFtZT5sb2c0akNvbmZpZ3VyYXRpb248L3BhcmFtLW5hbWU+DQogICAgPHBhcmFtLXZhbHVlPmxvZzRqMi54bWw8L3BhcmFtLXZhbHVlPg0KICA8L2NvbnRleHQtcGFyYW0+DQogIDxzZXNzaW9uLWNvbmZpZz4NCiAgICA8c2Vzc2lvbi10aW1lb3V0PjMwPC9zZXNzaW9uLXRpbWVvdXQ+DQogICAgPGNvb2tpZS1jb25maWc+DQogICAgICA8bmFtZT5pZDwvbmFtZT4NCiAgICAgIDxodHRwLW9ubHk+dHJ1ZTwvaHR0cC1vbmx5Pg0KICAgICAgPHNlY3VyZT50cnVlPC9zZWN1cmU+DQogICAgPC9jb29raWUtY29uZmlnPg0KICAgIDx0cmFja2luZy1tb2RlPkNPT0tJRTwvdHJhY2tpbmctbW9kZT4NCiAgPC9zZXNzaW9uLWNvbmZpZz4NCiAgPGVycm9yLXBhZ2U+DQogICAgPGVycm9yLWNvZGU+NDA0PC9lcnJvci1jb2RlPg0KICAgIDxsb2NhdGlvbj4vcmVzb3VyY2VzL2Vycm9ycGFnZXMvNDA0LmpzcDwvbG9jYXRpb24+DQogIDwvZXJyb3ItcGFnZT4NCiAgPGVycm9yLXBhZ2U+DQogICAgPGxvY2F0aW9uPi9lcnJvcnMvZGVmYXVsdDwvbG9jYXRpb24+DQogIDwvZXJyb3ItcGFnZT4NCiAgPGZpbHRlcj4NCiAgICA8ZmlsdGVyLW5hbWU+U2V0Q2hhcmFjdGVyRW5jb2Rpbmc8L2ZpbHRlci1uYW1lPg0KICAgIDxmaWx0ZXItY2xhc3M+b3JnLmFwYWNoZS5jYXRhbGluYS5maWx0ZXJzLlNldENoYXJhY3RlckVuY29kaW5nRmlsdGVyPC9maWx0ZXItY2xhc3M+DQogICAgPGluaXQtcGFyYW0+DQogICAgICA8cGFyYW0tbmFtZT5lbmNvZGluZzwvcGFyYW0tbmFtZT4NCiAgICAgIDxwYXJhbS12YWx1ZT5VVEYtODwvcGFyYW0tdmFsdWU+DQogICAgPC9pbml0LXBhcmFtPg0KICA8L2ZpbHRlcj4NCiAgPGZpbHRlci1tYXBwaW5nPg0KICAgIDxmaWx0ZXItbmFtZT5TZXRDaGFyYWN0ZXJFbmNvZGluZzwvZmlsdGVyLW5hbWU+DQogICAgPHVybC1wYXR0ZXJuPi8qPC91cmwtcGF0dGVybj4NCiAgPC9maWx0ZXItbWFwcGluZz4NCjwvd2ViLWFwcD4="},{"filepath":"comserv-parent\pom.xml","filecontent":"PHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgogICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogICAgPGdyb3VwSWQ+Y29tLmRiLmNvbXNlcnY8L2dyb3VwSWQ+CiAgICA8YXJ0aWZhY3RJZD5jb21zZXJ2LXBhcmVudDwvYXJ0aWZhY3RJZD4KICAgIDx2ZXJzaW9uPjEuOC4wPC92ZXJzaW9uPgogICAgPHBhY2thZ2luZz5wb208L3BhY2thZ2luZz4KICAgIDxuYW1lPmNvbXNlcnY8L25hbWU+CgogICAgPHByb3BlcnRpZXM+CiAgICAgICAgPGphdmEudmVyc2lvbj4xLjg8L2phdmEudmVyc2lvbj4KICAgICAgICA8c3ByaW5nLnZlcnNpb24+NC4yLjAuUkVMRUFTRTwvc3ByaW5nLnZlcnNpb24+CiAgICAgICAgPHNwcmluZy5zZWN1cml0eS52ZXJzaW9uPjQuMC4yLlJFTEVBU0U8L3NwcmluZy5zZWN1cml0eS52ZXJzaW9uPgogICAgICAgIDxzcHJpbmctZGF0YS1jb21tb25zLnZlcnNpb24+MS4xMC4yLlJFTEVBU0U8L3NwcmluZy1kYXRhLWNvbW1vbnMudmVyc2lvbj4KICAgICAgICA8Y2dsaWIudmVyc2lvbj4zLjE8L2NnbGliLnZlcnNpb24+CiAgICAgICAgPHNwcmluZy1qYXZhY29uZmlnLnZlcnNpb24+MS4wLjAubTM8L3NwcmluZy1qYXZhY29uZmlnLnZlcnNpb24+CiAgICAgICAgPGphY2tzb24tbWFwcGVyLWFzbC52ZXJzaW9uPjEuOS4xMzwvamFja3Nvbi1tYXBwZXItYXNsLnZlcnNpb24+CiAgICAgICAgPGpzb24tc2ltcGxlLnZlcnNpb24+MS4xPC9qc29uLXNpbXBsZS52ZXJzaW9uPgogICAgICAgIDxqYWNrc29uLWRhdGF0eXBlLWhpYmVybmF0ZTQudmVyc2lvbj4yLjMuMzwvamFja3Nvbi1kYXRhdHlwZS1oaWJlcm5hdGU0LnZlcnNpb24+CiAgICAgICAgPGphdmF4LnNlcnZsZXQtYXBpLnZlcnNpb24+My4wLjE8L2phdmF4LnNlcnZsZXQtYXBpLnZlcnNpb24+CiAgICAgICAgPGpzcC1hcGkudmVyc2lvbj4yLjE8L2pzcC1hcGkudmVyc2lvbj4KICAgICAgICA8anNvbi52ZXJzaW9uPjIwMTQwMTA3PC9qc29uLnZlcnNpb24+CiAgICAgICAgPGNvbW1vbnMtY29kZWMudmVyc2lvbj4xLjQ8L2NvbW1vbnMtY29kZWMudmVyc2lvbj4KICAgICAgICA8c2xmNGoudmVyc2lvbj4xLjcuNzwvc2xmNGoudmVyc2lvbj4KICAgICAgICA8bG9nNGoudmVyc2lvbj4yLjM8L2xvZzRqLnZlcnNpb24+CiAgICAgICAgPGp1bml0LnZlcnNpb24+NC4xMTwvanVuaXQudmVyc2lvbj4KICAgICAgICA8aGliZXJuYXRlLnZlcnNpb24+NC4zLjEwLkZpbmFsPC9oaWJlcm5hdGUudmVyc2lvbj4KICAgICAgICA8cG9zdGdyZXNxbC52ZXJzaW9uPjkuMS05MDEuamRiYzQ8L3Bvc3RncmVzcWwudmVyc2lvbj4KICAgICAgICA8bWFpbC52ZXJzaW9uPjEuNDwvbWFpbC52ZXJzaW9uPgogICAgICAgIAogICAgICAgIDxqYXZhc3Npc3QudmVyc2lvbj4zLjE4LjEtR0E8L2phdmFzc2lzdC52ZXJzaW9uPgogICAgICAgIDx0b21jYXQtZGJjcC52ZXJzaW9uPjcuMC40MjwvdG9tY2F0LWRiY3AudmVyc2lvbj4KICAgICAgICA8aGliZXJuYXRlLXZhbGlkYXRvci52ZXJzaW9uPjUuMS4xLkZpbmFsPC9oaWJlcm5hdGUtdmFsaWRhdG9yLnZlcnNpb24+CiAgICAgICAgPGd1YXZhLnZlcnNpb24+MTcuMDwvZ3VhdmEudmVyc2lvbj4KICAgICAgICA8Ym91bmN5Y2FzdGxlLnZlcnNpb24+MS41MDwvYm91bmN5Y2FzdGxlLnZlcnNpb24+CiAgICAgICAgPGNvbW1vbnMtbGFuZzMudmVyc2lvbj4zLjMuMjwvY29tbW9ucy1sYW5nMy52ZXJzaW9uPgogICAgICAgIDxvcmcuaGFtY3Jlc3QudmVyc2lvbj4xLjM8L29yZy5oYW1jcmVzdC52ZXJzaW9uPgogICAgICAgIDxtb2NraXRvLnZlcnNpb24+MS45LjU8L21vY2tpdG8udmVyc2lvbj4KICAgICAgICA8aHR0cGNvcmUudmVyc2lvbj40LjMuMjwvaHR0cGNvcmUudmVyc2lvbj4KICAgICAgICA8aHR0cGNsaWVudC52ZXJzaW9uPjQuMy4zPC9odHRwY2xpZW50LnZlcnNpb24+CiAgICAgICAgPHJlc3QtYXNzdXJlZC52ZXJzaW9uPjIuMy4xPC9yZXN0LWFzc3VyZWQudmVyc2lvbj4KICAgICAgICA8Y29tbW9ucy1maWxldXBsb2FkLnZlcnNpb24+MS4zLjE8L2NvbW1vbnMtZmlsZXVwbG9hZC52ZXJzaW9uPgogICAgICAgIDxqYXZhLWFwaS1rbWwudmVyc2lvbj4yLjIuMDwvamF2YS1hcGkta21sLnZlcnNpb24+CiAgICAgICAgCiAgICAgICAgPCEtLSBtYXZlbiBwbHVnaW5zIC0tPgogICAgICAgIDxtYXZlbi1jb21waWxlci1wbHVnaW4udmVyc2lvbj4zLjE8L21hdmVuLWNvbXBpbGVyLXBsdWdpbi52ZXJzaW9uPgogICAgICAgIDxtYXZlbi13YXItcGx1Z2luLnZlcnNpb24+Mi40PC9tYXZlbi13YXItcGx1Z2luLnZlcnNpb24+CiAgICAgICAgPG1hdmVuLXN1cmVmaXJlLXBsdWdpbi52ZXJzaW9uPjIuMTc8L21hdmVuLXN1cmVmaXJlLXBsdWdpbi52ZXJzaW9uPgogICAgICAgIDxtYXZlbi1yZXNvdXJjZXMtcGx1Z2luLnZlcnNpb24+Mi42PC9tYXZlbi1yZXNvdXJjZXMtcGx1Z2luLnZlcnNpb24+CiAgICAgICAgPGNhcmdvLW1hdmVuMi1wbHVnaW4udmVyc2lvbj4xLjQuODwvY2FyZ28tbWF2ZW4yLXBsdWdpbi52ZXJzaW9uPgogICAgICAgIDxtYXZlbi1qYXItcGx1Z2luLnZlcnNpb24+Mi40PC9tYXZlbi1qYXItcGx1Z2luLnZlcnNpb24+CiAgICAgICAgPG1hdmVuLXByb2plY3QtaW5mby1yZXBvcnRzLXBsdWdpbi52ZXJzaW9uPjIuNzwvbWF2ZW4tcHJvamVjdC1pbmZvLXJlcG9ydHMtcGx1Z2luLnZlcnNpb24+CiAgICAgICAgPG1hdmVuLWFzc2VtYmx5LXBsdWdpbi52ZXJzaW9uPjIuNS41PC9tYXZlbi1hc3NlbWJseS1wbHVnaW4udmVyc2lvbj4KICAgICAgICA8bWF2ZW4tcmVzb3VyY2VzLXBsdWdpbi52ZXJzaW9uPjIuNzwvbWF2ZW4tcmVzb3VyY2VzLXBsdWdpbi52ZXJzaW9uPgogICAgICAgIAogICAgICAgIDxmaW5kYnVncy52ZXJzaW9uPjMuMC4wPC9maW5kYnVncy52ZXJzaW9uPgogICAgICAgIDxjaGVja3N0eWxlLnZlcnNpb24+Mi4xMi4xPC9jaGVja3N0eWxlLnZlcnNpb24+CiAgICAgICAgPGphY29jby52ZXJzaW9uPjAuNy4yLjIwMTQwOTEyMTY0NDwvamFjb2NvLnZlcnNpb24+CiAgICAgICAgPGphc21pbmUudmVyc2lvbj4xLjMuMS41PC9qYXNtaW5lLnZlcnNpb24+CiAgICAgICAgPHBoYW50b21qcy1tYXZlbi1wbHVnaW4udmVyc2lvbj4wLjQ8L3BoYW50b21qcy1tYXZlbi1wbHVnaW4udmVyc2lvbj4KICAgICAgICA8c2FnYS52ZXJzaW9uPjEuNC4wPC9zYWdhLnZlcnNpb24+CiAgICAgICAgPG1hdmVuLXJlcGxhY2VyLXBsdWdpbi52ZXJzaW9uPjEuNS4zPC9tYXZlbi1yZXBsYWNlci1wbHVnaW4udmVyc2lvbj4KICAgICAgICA8bWluaWZ5LW1hdmVuLXBsdWdpbi52ZXJzaW9uPjEuNy40PC9taW5pZnktbWF2ZW4tcGx1Z2luLnZlcnNpb24+CiAgICAgICAgCiAgICAgICAgPGF3cy1qYXZhLXNkay52ZXJzaW9uPjEuOS4xMjwvYXdzLWphdmEtc2RrLnZlcnNpb24+CiAgICAgICAgPGh0dHBjbGllbnQudmVyc2lvbj40LjMuNjwvaHR0cGNsaWVudC52ZXJzaW9uPgogICAgPC9wcm9wZXJ0aWVzPgoKICAgIDxtb2R1bGVzPgogICAgICAgIDxtb2R1bGU+Y29tc2Vydi1jb21tb248L21vZHVsZT4KICAgICAgICA8bW9kdWxlPmNvbXNlcnYtYmFja2VuZDwvbW9kdWxlPgogICAgICAgIDxtb2R1bGU+Y29tc2Vydi13ZWI8L21vZHVsZT4KICAgICAgIAogICAgPC9tb2R1bGVzPgoKICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICAgCiAgICAgICAKICAgICAgICAKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLnNsZjRqPC9ncm91cElkPgogICAgICAgICAgICA8YXJ0aWZhY3RJZD5zbGY0ai1hcGk8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7c2xmNGoudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgoKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5sb2dnaW5nLmxvZzRqPC9ncm91cElkPgogICAgICAgICAgICA8YXJ0aWZhY3RJZD5sb2c0ai1hcGk8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7bG9nNGoudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmxvZ2dpbmcubG9nNGo8L2dyb3VwSWQ+CiAgICAgICAgICAgIDxhcnRpZmFjdElkPmxvZzRqLWNvcmU8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7bG9nNGoudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmxvZ2dpbmcubG9nNGo8L2dyb3VwSWQ+CiAgICAgICAgICAgIDxhcnRpZmFjdElkPmxvZzRqLTEuMi1hcGk8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7bG9nNGoudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgoJCQogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLmxvZ2dpbmcubG9nNGo8L2dyb3VwSWQ+CiAgICAgICAgICAgIDxhcnRpZmFjdElkPmxvZzRqLXNsZjRqLWltcGw8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7bG9nNGoudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgoKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+amF2YXguc2VydmxldDwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+amF2YXguc2VydmxldC1hcGk8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7amF2YXguc2VydmxldC1hcGkudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgICAgIDxzY29wZT5wcm92aWRlZDwvc2NvcGU+CiAgICAgICAgPC9kZXBlbmRlbmN5PgoKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+Y29tLmdvb2dsZS5ndWF2YTwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+Z3VhdmE8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7Z3VhdmEudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgICAgIAogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5jb20uZ29vZ2xlY29kZS5qc29uLXNpbXBsZTwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+anNvbi1zaW1wbGU8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7anNvbi1zaW1wbGUudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgICAgIAogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuanNvbjwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+anNvbjwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgPHZlcnNpb24+JHtqc29uLnZlcnNpb259PC92ZXJzaW9uPgogICAgICAgIDwvZGVwZW5kZW5jeT4KICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gU3ByaW5nIGNvcmUgJiBtdmMgLS0+CiAgICAgICAgPGRlcGVuZGVuY3k+CiAgICAgICAgICAgIDxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcms8L2dyb3VwSWQ+CiAgICAgICAgICAgIDxhcnRpZmFjdElkPnNwcmluZy1jb250ZXh0PC9hcnRpZmFjdElkPgogICAgICAgICAgICA8dmVyc2lvbj4ke3NwcmluZy52ZXJzaW9ufTwvdmVyc2lvbj4KICAgICAgICA8L2RlcGVuZGVuY3k+CgogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrPC9ncm91cElkPgogICAgICAgICAgICA8YXJ0aWZhY3RJZD5zcHJpbmctd2VibXZjPC9hcnRpZmFjdElkPgogICAgICAgICAgICA8dmVyc2lvbj4ke3NwcmluZy52ZXJzaW9ufTwvdmVyc2lvbj4KICAgICAgICA8L2RlcGVuZGVuY3k+CgogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5jb20uc3VuLmpuYTwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+am5hPC9hcnRpZmFjdElkPgogICAgICAgICAgICA8dmVyc2lvbj4zLjAuOTwvdmVyc2lvbj4KICAgICAgICA8L2RlcGVuZGVuY3k+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgPGRlcGVuZGVuY3k+CiAgICAgICAgICAgIDxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcmsuamF2YWNvbmZpZzwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+c3ByaW5nLWphdmFjb25maWc8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7c3ByaW5nLWphdmFjb25maWcudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgICAgIDxleGNsdXNpb25zPgogICAgICAgICAgICAgICAgPCEtLSBIYXZlIHRvIGV4Y2x1ZGUgc28gd2UgY2FuIHVzZSB0aGUgbG9nNGogMSB0byAyIGJyaWRnZSAtLT4KICAgICAgICAgICAgICAgIDxleGNsdXNpb24+CiAgICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bG9nNGo8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+bG9nNGo8L2dyb3VwSWQ+CiAgICAgICAgICAgICAgICA8L2V4Y2x1c2lvbj4KICAgICAgICAgICAgPC9leGNsdXNpb25zPgogICAgICAgIDwvZGVwZW5kZW5jeT4KCgogICAgICAgIDwhLS0gSmFja3NvbiBKU09OIE1hcHBlciAtLT4KICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmNvZGVoYXVzLmphY2tzb248L2dyb3VwSWQ+CiAgICAgICAgICAgIDxhcnRpZmFjdElkPmphY2tzb24tbWFwcGVyLWFzbDwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgPHZlcnNpb24+JHtqYWNrc29uLW1hcHBlci1hc2wudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgPC9kZXBlbmRlbmN5PgoKICAgICAgICA8IS0tIHBlcnNpc3RlbmNlIC0tPgoKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+Y29tLmZhc3RlcnhtbC5qYWNrc29uLmRhdGF0eXBlPC9ncm91cElkPgogICAgICAgICAgICA8YXJ0aWZhY3RJZD5qYWNrc29uLWRhdGF0eXBlLWhpYmVybmF0ZTQ8L2FydGlmYWN0SWQ+CiAgICAgICAgICAgIDx2ZXJzaW9uPiR7amFja3Nvbi1kYXRhdHlwZS1oaWJlcm5hdGU0LnZlcnNpb259PC92ZXJzaW9uPgogICAgICAgIDwvZGVwZW5kZW5jeT4KCiAgICAgICAgPCEtLSBTcHJpbmcgU2VjdXJpdHkgLS0+CiAgICAgICAgPGRlcGVuZGVuY3k+CiAgICAgICAgICAgIDxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcmsuc2VjdXJpdHk8L2dyb3VwSWQ+CiAgICAgICAgICAgIDxhcnRpZmFjdElkPnNwcmluZy1zZWN1cml0eS1jb3JlPC9hcnRpZmFjdElkPgogICAgICAgICAgICA8dmVyc2lvbj4ke3NwcmluZy5zZWN1cml0eS52ZXJzaW9ufTwvdmVyc2lvbj4KICAgICAgICA8L2RlcGVuZGVuY3k+CgogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrLnNlY3VyaXR5PC9ncm91cElkPgogICAgICAgICAgICA8YXJ0aWZhY3RJZD5zcHJpbmctc2VjdXJpdHktd2ViPC9hcnRpZmFjdElkPgogICAgICAgICAgICA8dmVyc2lvbj4ke3NwcmluZy5zZWN1cml0eS52ZXJzaW9ufTwvdmVyc2lvbj4KICAgICAgICA8L2RlcGVuZGVuY3k+CgogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrLnNlY3VyaXR5PC9ncm91cElkPgogICAgICAgICAgICA8YXJ0aWZhY3RJZD5zcHJpbmctc2VjdXJpdHktY29uZmlnPC9hcnRpZmFjdElkPgogICAgICAgICAgICA8dmVyc2lvbj4ke3NwcmluZy5zZWN1cml0eS52ZXJzaW9ufTwvdmVyc2lvbj4KICAgICAgICA8L2RlcGVuZGVuY3k+CgogICAgIAoKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+Y29tbW9ucy1jb2RlYzwvZ3JvdXBJZD4KICAgICAgICAgICAgPGFydGlmYWN0SWQ+Y29tbW9ucy1jb2RlYzwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgPHZlcnNpb24+JHtjb21tb25zLWNvZGVjLnZlcnNpb259PC92ZXJzaW9uPgogICAgICAgIDwvZGVwZW5kZW5jeT4KICAgICAgICAKICAgICAgICA8ZGVwZW5kZW5jeT4KICAgICAgICAgICAgPGdyb3VwSWQ+anVuaXQ8L2dyb3VwSWQ+CiAgICAgICAgICAgIDxhcnRpZmFjdElkPmp1bml0PC9hcnRpZmFjdElkPgogICAgICAgICAgICA8dmVyc2lvbj4ke2p1bml0LnZlcnNpb259PC92ZXJzaW9uPgogICAgICAgICAgICA8c2NvcGU+dGVzdDwvc2NvcGU+CiAgICAgICAgPC9kZXBlbmRlbmN5PgogICAgICAgIAogICAgICAgIDxkZXBlbmRlbmN5PgogICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrPC9ncm91cElkPgogICAgICAgICAgICA8YXJ0aWZhY3RJZD5zcHJpbmctdGVzdDwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgPHZlcnNpb24+JHtzcHJpbmcudmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgICAgIDx0eXBlPmphcjwvdHlwZT4KICAgICAgICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPgogICAgICAgIDwvZGVwZW5kZW5jeT4KICAgICAgICAKICAgICAgICAKICAgICAgICAgICAKICAgIDwvZGVwZW5kZW5jaWVzPgoKICAgIDxyZXBvc2l0b3JpZXM+CiAgICAgICAgPHJlcG9zaXRvcnk+CiAgICAgICAgICAgIDxpZD5zcHJpbmctbGlicy1zbmFwc2hvdDwvaWQ+CiAgICAgICAgICAgIDx1cmw+aHR0cDovL3JlcG8uc3ByaW5nLmlvL2xpYnMtc25hcHNob3Q8L3VybD4KICAgICAgICAgICAgPHNuYXBzaG90cz4KICAgICAgICAgICAgICAgIDxlbmFibGVkPnRydWU8L2VuYWJsZWQ+CiAgICAgICAgICAgIDwvc25hcHNob3RzPgogICAgICAgIDwvcmVwb3NpdG9yeT4KCiAgICA8L3JlcG9zaXRvcmllcz4KCiAgICA8YnVpbGQ+CiAgICAgICAgPGZpbmFsTmFtZT4ke3Byb2plY3QubmFtZX08L2ZpbmFsTmFtZT4gICAgICAgIAogICAgICAgIDxwbHVnaW5zPgogICAgICAgICAgICA8cGx1Z2luPgogICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgogICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tY29tcGlsZXItcGx1Z2luPC9hcnRpZmFjdElkPgogICAgICAgICAgICAgICAgPHZlcnNpb24+JHttYXZlbi1jb21waWxlci1wbHVnaW4udmVyc2lvbn08L3ZlcnNpb24+CiAgICAgICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4KICAgICAgICAgICAgICAgICAgICA8c291cmNlPiR7amF2YS52ZXJzaW9ufTwvc291cmNlPgogICAgICAgICAgICAgICAgICAgIDx0YXJnZXQ+JHtqYXZhLnZlcnNpb259PC90YXJnZXQ+CiAgICAgICAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+CiAgICAgICAgICAgIDwvcGx1Z2luPgoKCQkJPHBsdWdpbj4KCQkJCTxncm91cElkPm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4KCQkJCTxhcnRpZmFjdElkPm1hdmVuLXJlc291cmNlcy1wbHVnaW48L2FydGlmYWN0SWQ+CgkJCQk8dmVyc2lvbj4ke21hdmVuLXJlc291cmNlcy1wbHVnaW4udmVyc2lvbn08L3ZlcnNpb24+CgkJCTwvcGx1Z2luPgoJCQkKICAgICAgICAgICAgCgogICAgICAgICAgICA8cGx1Z2luPgogICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgogICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tamFyLXBsdWdpbjwvYXJ0aWZhY3RJZD4KICAgICAgICAgICAgICAgIDx2ZXJzaW9uPiR7bWF2ZW4tamFyLXBsdWdpbi52ZXJzaW9ufTwvdmVyc2lvbj4KICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgogICAgICAgICAgICAgICAgICAgIDxhcmNoaXZlPgogICAgICAgICAgICAgICAgICAgICAgICA8bWFuaWZlc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRkRGVmYXVsdEltcGxlbWVudGF0aW9uRW50cmllcz50cnVlPC9hZGREZWZhdWx0SW1wbGVtZW50YXRpb25FbnRyaWVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L21hbmlmZXN0PgogICAgICAgICAgICAgICAgICAgICAgICA8bWFuaWZlc3RFbnRyaWVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNwZWNpZmljYXRpb24tVGl0bGU+JHtwcm9qZWN0Lm5hbWV9PC9TcGVjaWZpY2F0aW9uLVRpdGxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNwZWNpZmljYXRpb24tVmVyc2lvbj4ke3Byb2plY3QudmVyc2lvbn08L1NwZWNpZmljYXRpb24tVmVyc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbXBsZW1lbnRhdGlvbi1WZXJzaW9uPiR7YnVpbGQubnVtYmVyfTwvSW1wbGVtZW50YXRpb24tVmVyc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9tYW5pZmVzdEVudHJpZXM+CiAgICAgICAgICAgICAgICAgICAgPC9hcmNoaXZlPgogICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgogICAgICAgICAgICA8L3BsdWdpbj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxwbHVnaW4+CiAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnM8L2dyb3VwSWQ+CiAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5tYXZlbi13YXItcGx1Z2luPC9hcnRpZmFjdElkPgogICAgICAgICAgICAgICAgPHZlcnNpb24+JHttYXZlbi13YXItcGx1Z2luLnZlcnNpb259PC92ZXJzaW9uPgogICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+CiAgICAgICAgICAgICAgICAgICAgPHVzZUNhY2hlPnRydWU8L3VzZUNhY2hlPgogICAgICAgICAgICAgICAgICAgIDxhcmNoaXZlPgogICAgICAgICAgICAgICAgICAgICAgICA8bWFuaWZlc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRkRGVmYXVsdEltcGxlbWVudGF0aW9uRW50cmllcz50cnVlPC9hZGREZWZhdWx0SW1wbGVtZW50YXRpb25FbnRyaWVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L21hbmlmZXN0PgogICAgICAgICAgICAgICAgICAgICAgICA8bWFuaWZlc3RFbnRyaWVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNwZWNpZmljYXRpb24tVGl0bGU+JHtwcm9qZWN0Lm5hbWV9PC9TcGVjaWZpY2F0aW9uLVRpdGxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNwZWNpZmljYXRpb24tVmVyc2lvbj4ke3Byb2plY3QudmVyc2lvbn08L1NwZWNpZmljYXRpb24tVmVyc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbXBsZW1lbnRhdGlvbi1WZXJzaW9uPiR7YnVpbGQubnVtYmVyfTwvSW1wbGVtZW50YXRpb24tVmVyc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9tYW5pZmVzdEVudHJpZXM+CiAgICAgICAgICAgICAgICAgICAgPC9hcmNoaXZlPgogICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgogICAgICAgICAgICA8L3BsdWdpbj4KICAgICAgICA8L3BsdWdpbnM+CiAgICA8L2J1aWxkPgoKCiAgICAKPC9wcm9qZWN0Pg=="}]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages