├── .github └── workflows │ ├── codecov.yml │ ├── deploy.yml │ └── maven.yml ├── .gitignore ├── .idea ├── .gitignore ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── encodings.xml ├── misc.xml ├── sonarlint │ ├── issuestore │ │ ├── 0 │ │ │ ├── 1 │ │ │ │ └── 012be8733c8bc69315410b22d1efdd1927b77abb │ │ │ ├── 4 │ │ │ │ └── 04a717706514fb6493cc2824c4bed61936352fa8 │ │ │ ├── 5 │ │ │ │ └── 05faa905a7927b095c81d6cf34e0d1220a57f7a3 │ │ │ ├── 7 │ │ │ │ ├── 07a0e33508252be0f75be38f018c201b03c4ccd0 │ │ │ │ └── 07ab514a2bf45701b6528a5213ccc06c7f24e203 │ │ │ ├── a │ │ │ │ └── 0acba751ea48821c78758a000aa2d08928ea3410 │ │ │ ├── d │ │ │ │ └── 0d12540036cf2e8dd658d318f0f111431c444483 │ │ │ └── e │ │ │ │ └── 0ecc4d194e0da6f344fec6b56b7ee9d964db151c │ │ ├── 1 │ │ │ ├── 0 │ │ │ │ └── 105f240fec2e2a9d90077dffdbb2dc2e47546e6f │ │ │ ├── 1 │ │ │ │ └── 1171b8676cdf9179dcd818b1dd94e9ec5b09211d │ │ │ ├── 2 │ │ │ │ ├── 1264b0585ebc6b100bb485fffe863bdc08e75543 │ │ │ │ └── 12ce9c4bf962f513e9c5e98333ea8d74846a5b34 │ │ │ ├── b │ │ │ │ └── 1b7e79b1fff6bc8ba322c8b52fab2d7cc1c071b9 │ │ │ └── d │ │ │ │ └── 1d99fc053be0ec595a647b0bc92de0274faa1839 │ │ ├── 2 │ │ │ ├── 2 │ │ │ │ └── 22f5e8a0d4df188d139c2c4ea199f492e478dffd │ │ │ ├── 3 │ │ │ │ └── 23319a86a03b91a71a5d99c9e634f9157f5b5401 │ │ │ ├── 5 │ │ │ │ └── 25c907079280be282bf7cfd880d35fbf70c1c09c │ │ │ ├── 8 │ │ │ │ └── 2857d6f1fadcd9a3f8d1206bbec9a38b479371b6 │ │ │ ├── 9 │ │ │ │ └── 29d6a1c1e9c8160e6fcbdc5d2f078d85d314c88a │ │ │ ├── a │ │ │ │ └── 2ad02f03ba0f443b02a720f98d4654f5af384e22 │ │ │ ├── b │ │ │ │ └── 2b28b6e913e8a25ba494a0a1cfee40bb144469b0 │ │ │ ├── d │ │ │ │ └── 2d276da931e665c39888a930501386f93c2fee34 │ │ │ ├── e │ │ │ │ └── 2e52e065df0e9e5cd67a7ab045a920a147552d17 │ │ │ └── f │ │ │ │ ├── 2f66c2653799f7ac824b4d87f9d6c21157e3da37 │ │ │ │ └── 2fcf56c807f1ade90e0bd0bb9afa807f1a41a0c1 │ │ ├── 3 │ │ │ ├── 0 │ │ │ │ └── 30ba333c3e5eec668961f6412e83a0bc6200aaf9 │ │ │ ├── 2 │ │ │ │ ├── 3290921edd4fd114eb5b66afd6a3f579ad3d7a8a │ │ │ │ └── 32e3583de31ab2d0de350f79b4284aac261f2171 │ │ │ ├── 3 │ │ │ │ └── 338485d6f6208eda28612600b83c3a2f2a0d7410 │ │ │ ├── 5 │ │ │ │ ├── 350098c2bb1beddb1614a442ee4dd60bcc9f2570 │ │ │ │ └── 35278e39d7dcf52246d4cc4b2520d3f730fc9be9 │ │ │ ├── 6 │ │ │ │ └── 362a6aed6ed953aa56d8282c22e024904e6f446e │ │ │ ├── 7 │ │ │ │ └── 37d572495d427c0c08682f5f61a31f83fcf521a0 │ │ │ ├── 8 │ │ │ │ └── 382c2cf53a527aeb808f5d3b2a1c03da5454e787 │ │ │ ├── 9 │ │ │ │ └── 39fd1babc5b993bd535381c74946363980991e83 │ │ │ ├── b │ │ │ │ ├── 3b3ca2b26f3434ec17e7a54dacc61cd343e7c4cb │ │ │ │ └── 3bdb88e7ba41e62725fe5eed32e041a25ea8c8eb │ │ │ ├── d │ │ │ │ ├── 3d5c8190298fb32fa00fd53169cb86d129d33c17 │ │ │ │ ├── 3dba2d84c2bca9d36139d8e50f6b90fcc02a4b5d │ │ │ │ └── 3dea506ebe426eb4c8a8fd28edbd527cdb39b351 │ │ │ └── e │ │ │ │ ├── 3e1e37ed7f9152cda244f2a57c9b28d924c6daf7 │ │ │ │ └── 3ea00bb20e5b490dd1beeb719be57cca4642635c │ │ ├── 4 │ │ │ ├── 0 │ │ │ │ └── 40ebc6823f24f296c0cd3fddd6ccda69b74ff2e4 │ │ │ ├── 1 │ │ │ │ └── 41a1911b5f41a2d6930dc657a61d80e09a7b6c6e │ │ │ ├── 3 │ │ │ │ └── 438d93158d95386d58a4635870ebd44d43da0fbd │ │ │ ├── 4 │ │ │ │ ├── 442292b8a7efeabbe4cc176709b833b1792140ec │ │ │ │ └── 44bd2858b67a5bf163c37723d4b61eb7d23296e7 │ │ │ ├── b │ │ │ │ └── 4b7e74d0e43315f2585a1bd80ca5cf2cf3100aad │ │ │ ├── d │ │ │ │ └── 4db9191fdf229a4f5b09fe1e0601146df2c56b47 │ │ │ └── f │ │ │ │ └── 4fbe927ed567487fd147425d3d2246e3c1f36d55 │ │ ├── 5 │ │ │ ├── 0 │ │ │ │ └── 50fb5bacc7db6e55e6d69fc19e8db699eb568eaf │ │ │ ├── 4 │ │ │ │ └── 54d92ab456bee996ea43bb411425fa80b4ce8503 │ │ │ ├── 5 │ │ │ │ └── 555fa71e803d4bddbb2843f2863afea509b0a3c0 │ │ │ ├── 9 │ │ │ │ └── 59a76659236a58dfa2a340e62ca5d765a0f35238 │ │ │ ├── b │ │ │ │ ├── 5b377f754cb8b46d138a569d3cd08e7a4d71ef65 │ │ │ │ └── 5b543303db1fef7fb59dc845a5be4f4021cc172b │ │ │ ├── d │ │ │ │ └── 5d312d4705b64ceb640c3ce4223abee6326071ad │ │ │ └── f │ │ │ │ ├── 5f358a5bac6615c06fc14296d79c42a2febed1ef │ │ │ │ └── 5f8f849d48ce487565132c4753810994618c402c │ │ ├── 6 │ │ │ ├── 0 │ │ │ │ └── 60e64ce391c266833611adb1c5dd15a27b42c0fa │ │ │ ├── 3 │ │ │ │ └── 63f960bfd54af816a824430bca026bb42804f01e │ │ │ ├── a │ │ │ │ └── 6a09819e3385f581c0b041f2b3b10d59f9a17e00 │ │ │ ├── c │ │ │ │ └── 6cfcc11c9054ec28e55c4d328f3466e5d3eceaa3 │ │ │ ├── d │ │ │ │ ├── 6d2b3fa336b721bc3b37b43f90f048b01dbf8b17 │ │ │ │ ├── 6d618f8d3990203a6ecbd8be05fd8883e71e8c6a │ │ │ │ └── 6df64f6db03ece7525dc1119688d53b98ce115c3 │ │ │ ├── e │ │ │ │ └── 6ec5e2272d84419e8ab26d403bc32b45650cef8e │ │ │ └── f │ │ │ │ └── 6f7126182d27f15df6cdae687c2623c2915a3c46 │ │ ├── 7 │ │ │ ├── 0 │ │ │ │ ├── 709714fb00f4b1468bd92bdafeb2d4f4b4b82ba9 │ │ │ │ └── 70cc498c1575c22feb5ef18e5411d538754abb13 │ │ │ ├── 2 │ │ │ │ ├── 7238ede84e959cf3387c1ea74c265789781e80c0 │ │ │ │ └── 72d842488b1170ccb9beabbe30c75f8590cc3ccd │ │ │ ├── 4 │ │ │ │ ├── 744e4277404a34aa097a94daf90cf5edc44eda80 │ │ │ │ └── 74dbb89a67f5273bcb2e14aaafd1662e97dc77bf │ │ │ ├── 6 │ │ │ │ ├── 76a0994256b6712a3fc1c69d31f429510d87f544 │ │ │ │ └── 76b5a734b91501fd3e41333149bbd5939607b919 │ │ │ ├── 7 │ │ │ │ ├── 7790676ab77515e44c061fbfe181cb61670a9421 │ │ │ │ └── 77cf9c9a4e745d2ca63c7a0b19faae7e13e2ad42 │ │ │ ├── 9 │ │ │ │ └── 79af5f7f4b6f0db677e574ad7fbe3660aff2a74c │ │ │ ├── b │ │ │ │ └── 7b87a1178f98b98b1d5ee2122d5227182a165d38 │ │ │ └── c │ │ │ │ └── 7cbb3768a80655248338c547ed00a30d727f0638 │ │ ├── 8 │ │ │ ├── 4 │ │ │ │ └── 840d36a61707cfcf2f8b8d5d2546bc515e2dc536 │ │ │ ├── 5 │ │ │ │ └── 85c3a901608a6b9adf48d245fa84828b66304e51 │ │ │ ├── 7 │ │ │ │ └── 873a0f49a6b64f60eba1e7dde594e62d7de1fb6f │ │ │ ├── 9 │ │ │ │ ├── 89ad114bce745387f587178bae400e0480e1a239 │ │ │ │ └── 89b9372b0754594cb9b0fc55f6f2ebf9b9b9514c │ │ │ ├── b │ │ │ │ └── 8b406b2facd00a1f438d08e27afc99abbe9f16e0 │ │ │ ├── d │ │ │ │ └── 8de246e3e02395e11e2a579882ea73cb138bffb6 │ │ │ └── e │ │ │ │ └── 8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d │ │ ├── 9 │ │ │ ├── 0 │ │ │ │ ├── 90ac08463ec4a4da45ee64e2de97d15b462e195e │ │ │ │ └── 90af1fb499967b0db490f4d263d6d719b7736a2e │ │ │ ├── 3 │ │ │ │ └── 9344750fdec815e81b7923a17c983df50067e9ee │ │ │ ├── 5 │ │ │ │ └── 951a80074ec98db44294f81598ac14ac9d3128d5 │ │ │ ├── b │ │ │ │ ├── 9b6c733c9925d2191a7e11aaf3fdb7dc86e83e7c │ │ │ │ └── 9bdc849f8dbf1313e7f9c3ba9585143133865689 │ │ │ ├── c │ │ │ │ ├── 9c8d3f105e9f81ec508ee39ff4d4035089608f5f │ │ │ │ └── 9cbcdebcb5aa8605d70ab6daa8fff3f1aa38dca0 │ │ │ ├── d │ │ │ │ └── 9de07231b9f2f8405c47a93c8a3f6182f657ec9f │ │ │ └── e │ │ │ │ └── 9e8be854cf8f10b9e64b8b0d32cceec89fc26225 │ │ ├── a │ │ │ ├── 0 │ │ │ │ └── a008aa95125a36706ecba616d279d663d5a7627f │ │ │ ├── 2 │ │ │ │ └── a299125611ef234a29dab81b931cb4928ae45dc3 │ │ │ ├── 5 │ │ │ │ ├── a513c6d6914afe7455c5d0476aba9c03aac61b0a │ │ │ │ └── a5f776bff9ac90a8b263e480f8ea4bc56f696b98 │ │ │ ├── 6 │ │ │ │ └── a6a340a20fbfa10403eea29ecb7c498e2a2f8707 │ │ │ ├── 7 │ │ │ │ ├── a7874217f1c348b9629a3c271b75b00d3adca4ef │ │ │ │ └── a7cb68c9a05b94b5eb6da4b9474e361596b502ad │ │ │ ├── 9 │ │ │ │ ├── a9459c173887ac3e992a9bd826b2b62f59d69d5d │ │ │ │ ├── a95034e244663b2af27308091c9d68497cbe509c │ │ │ │ └── a959a8a1681738852c010652a8a67dfd581a42cb │ │ │ ├── b │ │ │ │ ├── ab498b39f0ec70c5644d32f6acfcff99aadb9ffb │ │ │ │ └── abf24c88b942dc706f5443fff14209b12fbbf661 │ │ │ ├── c │ │ │ │ ├── ac618e9394f83800ffc24f65f2aea4143e5b85f5 │ │ │ │ └── ac6c8994151a493c0068d2b8eef3ce44676d4164 │ │ │ └── d │ │ │ │ └── adcaa1f4ce19a77cd85964f36dfdbf5254341713 │ │ ├── b │ │ │ ├── 0 │ │ │ │ └── b0ac8ba4a6ee7e89f4880b7283edea7548976dd7 │ │ │ ├── 3 │ │ │ │ └── b32d4c148c987cd395210e5b368a1083f05df426 │ │ │ ├── 4 │ │ │ │ └── b42d98b461727b334882e2fa2ec56b0c9d15263b │ │ │ ├── 5 │ │ │ │ └── b57a433f023583231f2cd006310805be31861978 │ │ │ ├── 6 │ │ │ │ ├── b654e6d8d903e5b4c3e8c00f77e34c12d4759ca0 │ │ │ │ └── b6e183d980cae55c7be799b3edd51bfa753ebec4 │ │ │ ├── 7 │ │ │ │ └── b715d32f676e19c588baf4baaf10e32bda9b7a42 │ │ │ ├── 8 │ │ │ │ ├── b83533e013fdc333596b6c124946f996491b5a41 │ │ │ │ └── b871a98cf8c4cb0dbb1086b32e180681e1b94c07 │ │ │ ├── b │ │ │ │ ├── bbaac2b27c461ef127b740cd79a19b8716f6c3e9 │ │ │ │ ├── bbe18e7a1949378f59109c2a22c2ae18e3ddcc2f │ │ │ │ └── bbf6d583f30a6ddf9dd48c58cd1eda97219fb62f │ │ │ ├── d │ │ │ │ ├── bd61f902b462330009c66574b4fce05c00550e09 │ │ │ │ └── bd96bd2f853113d4a6d10b6aec3ea5a50ac3d2d8 │ │ │ └── e │ │ │ │ └── bee25a4d0f40c215a3a63d590815e086c75b6e0e │ │ ├── c │ │ │ ├── 0 │ │ │ │ ├── c00a49aed1bb945e2393fc2ac5aecfb46afe7b16 │ │ │ │ └── c042c371701dcf852a25e722fe77c45573ca01ba │ │ │ ├── 3 │ │ │ │ └── c391c48371d3259f870f6bdd42ad49c57c08296f │ │ │ ├── 4 │ │ │ │ └── c463bcb5608c0e8fb489db403272f68032cad219 │ │ │ ├── 5 │ │ │ │ └── c569a847d823d49b1bd75bace2eeb2738c04b8d7 │ │ │ ├── 6 │ │ │ │ └── c6aabcc033728f493460473f95b9bb322d756bfd │ │ │ ├── 7 │ │ │ │ ├── c709f6995f23dae0da365bff70068f8288fa89e0 │ │ │ │ ├── c73821e5a2b3db31d773ed2d963c47ba41512862 │ │ │ │ └── c77b3061cdc7382cb831ac6315a3f5afde6e1deb │ │ │ ├── 8 │ │ │ │ └── c8c1a0a342d383bea043338dcaabd11203875b0e │ │ │ ├── 9 │ │ │ │ └── c9063d91c4079cfab92ad8fc13e50aebbe40496b │ │ │ ├── a │ │ │ │ └── cadcae20a86505e904a56afd21f32949107c7974 │ │ │ ├── b │ │ │ │ ├── cb1e6c866d3a0d134a1139de88b8ec31fe7ec75a │ │ │ │ └── cbb44695ea596406ec390f4643b8d983b9817f18 │ │ │ ├── c │ │ │ │ └── cc01586e59039192bb70667a5a898ec21b0a4314 │ │ │ ├── d │ │ │ │ └── cd5fc6e8b8166598a5d4e20011238f626ad1e7d3 │ │ │ └── f │ │ │ │ ├── cf3363b88a0a06c65f94ef5981e2703c8380b90d │ │ │ │ └── cf5656ed858703b72efa28c0b0b4dd35397f1ae9 │ │ ├── d │ │ │ ├── 0 │ │ │ │ └── d062f2765a7d3f3b68ccd265c0e08dd0d9329413 │ │ │ ├── 2 │ │ │ │ └── d2297cad0c7d26a2b581df1c8a1225d08dc82471 │ │ │ ├── 3 │ │ │ │ └── d3b8fe65e5470276e66d739aa059475745fc9df1 │ │ │ ├── 5 │ │ │ │ └── d544c8bc9b62a13a6a307bfebd352145ec5fd71a │ │ │ ├── 6 │ │ │ │ └── d6cd55df64e19c7b9ec55ca31f17369817abca1b │ │ │ ├── 9 │ │ │ │ └── d991c408583ffa6588260d088c73e95ebb981deb │ │ │ ├── a │ │ │ │ ├── da1126169322f406e266f1ed995e4ba424e50ec4 │ │ │ │ ├── da1c68a65a6ae9eec53d20dd345d62f2e05841d1 │ │ │ │ ├── da3cd3108cd604efe6b86eaeee122b726bceff4e │ │ │ │ └── da96554a980e5ec876d6086a9860c79028a32b01 │ │ │ └── b │ │ │ │ └── db5bb4f447b86022fee9ade879549e0d98e79ed1 │ │ ├── e │ │ │ ├── 5 │ │ │ │ ├── e515902ee3c4be770d5ab9801088f792be783b14 │ │ │ │ └── e5aa829ab6e23c2f2b366936cf92acd14473258e │ │ │ ├── 6 │ │ │ │ └── e6b09ee0041b8a582561ff48bad1d2d57f6023a6 │ │ │ ├── a │ │ │ │ └── ea342d657dc75ea8b7164c6efa648bbe566194a2 │ │ │ └── b │ │ │ │ └── eb95659615897a87626e900664aa8f9253fb3a4a │ │ ├── f │ │ │ ├── 1 │ │ │ │ └── f130ad0d1d16d0d70ec30d355f736ae3784b05cf │ │ │ ├── 3 │ │ │ │ ├── f326e65357d24a10a4ae5770f460b61ad395c088 │ │ │ │ └── f329e31516e670d20ecbccc53bfeef4057051dea │ │ │ ├── 4 │ │ │ │ ├── f4f36add4cf7c46cece5debbb25fad8d916b8928 │ │ │ │ └── f4fecc62e50bed2e55e68aa01b90e2e30298a397 │ │ │ ├── 6 │ │ │ │ └── f680c9db7e011fd809d52efaad9d2219e0ff2a8e │ │ │ ├── a │ │ │ │ └── fa10eab994085b5bdc13db73582715dc142cf64e │ │ │ ├── b │ │ │ │ └── fbfa09aee8afad4e67e1ef6dad6c38f5c939d3a6 │ │ │ └── c │ │ │ │ ├── fc63a94de2ea925a81513df12f209a8d3296f0b0 │ │ │ │ └── fccef24c659a1107b963f18bb9d53a329d0ad319 │ │ └── index.pb │ └── securityhotspotstore │ │ ├── 0 │ │ ├── 1 │ │ │ └── 012be8733c8bc69315410b22d1efdd1927b77abb │ │ ├── 4 │ │ │ └── 04a717706514fb6493cc2824c4bed61936352fa8 │ │ ├── 5 │ │ │ └── 05faa905a7927b095c81d6cf34e0d1220a57f7a3 │ │ ├── 7 │ │ │ ├── 07a0e33508252be0f75be38f018c201b03c4ccd0 │ │ │ └── 07ab514a2bf45701b6528a5213ccc06c7f24e203 │ │ ├── a │ │ │ └── 0acba751ea48821c78758a000aa2d08928ea3410 │ │ ├── d │ │ │ └── 0d12540036cf2e8dd658d318f0f111431c444483 │ │ └── e │ │ │ └── 0ecc4d194e0da6f344fec6b56b7ee9d964db151c │ │ ├── 1 │ │ ├── 0 │ │ │ └── 105f240fec2e2a9d90077dffdbb2dc2e47546e6f │ │ ├── 1 │ │ │ └── 1171b8676cdf9179dcd818b1dd94e9ec5b09211d │ │ ├── 2 │ │ │ ├── 1264b0585ebc6b100bb485fffe863bdc08e75543 │ │ │ └── 12ce9c4bf962f513e9c5e98333ea8d74846a5b34 │ │ ├── b │ │ │ └── 1b7e79b1fff6bc8ba322c8b52fab2d7cc1c071b9 │ │ └── d │ │ │ └── 1d99fc053be0ec595a647b0bc92de0274faa1839 │ │ ├── 2 │ │ ├── 2 │ │ │ └── 22f5e8a0d4df188d139c2c4ea199f492e478dffd │ │ ├── 3 │ │ │ └── 23319a86a03b91a71a5d99c9e634f9157f5b5401 │ │ ├── 5 │ │ │ └── 25c907079280be282bf7cfd880d35fbf70c1c09c │ │ ├── 8 │ │ │ └── 2857d6f1fadcd9a3f8d1206bbec9a38b479371b6 │ │ ├── 9 │ │ │ └── 29d6a1c1e9c8160e6fcbdc5d2f078d85d314c88a │ │ ├── a │ │ │ └── 2ad02f03ba0f443b02a720f98d4654f5af384e22 │ │ ├── b │ │ │ └── 2b28b6e913e8a25ba494a0a1cfee40bb144469b0 │ │ ├── d │ │ │ └── 2d276da931e665c39888a930501386f93c2fee34 │ │ ├── e │ │ │ └── 2e52e065df0e9e5cd67a7ab045a920a147552d17 │ │ └── f │ │ │ ├── 2f66c2653799f7ac824b4d87f9d6c21157e3da37 │ │ │ └── 2fcf56c807f1ade90e0bd0bb9afa807f1a41a0c1 │ │ ├── 3 │ │ ├── 0 │ │ │ └── 30ba333c3e5eec668961f6412e83a0bc6200aaf9 │ │ ├── 2 │ │ │ ├── 3290921edd4fd114eb5b66afd6a3f579ad3d7a8a │ │ │ └── 32e3583de31ab2d0de350f79b4284aac261f2171 │ │ ├── 3 │ │ │ └── 338485d6f6208eda28612600b83c3a2f2a0d7410 │ │ ├── 5 │ │ │ ├── 350098c2bb1beddb1614a442ee4dd60bcc9f2570 │ │ │ └── 35278e39d7dcf52246d4cc4b2520d3f730fc9be9 │ │ ├── 6 │ │ │ └── 362a6aed6ed953aa56d8282c22e024904e6f446e │ │ ├── 7 │ │ │ └── 37d572495d427c0c08682f5f61a31f83fcf521a0 │ │ ├── 8 │ │ │ └── 382c2cf53a527aeb808f5d3b2a1c03da5454e787 │ │ ├── 9 │ │ │ └── 39fd1babc5b993bd535381c74946363980991e83 │ │ ├── b │ │ │ ├── 3b3ca2b26f3434ec17e7a54dacc61cd343e7c4cb │ │ │ └── 3bdb88e7ba41e62725fe5eed32e041a25ea8c8eb │ │ ├── d │ │ │ ├── 3d5c8190298fb32fa00fd53169cb86d129d33c17 │ │ │ ├── 3dba2d84c2bca9d36139d8e50f6b90fcc02a4b5d │ │ │ └── 3dea506ebe426eb4c8a8fd28edbd527cdb39b351 │ │ └── e │ │ │ ├── 3e1e37ed7f9152cda244f2a57c9b28d924c6daf7 │ │ │ └── 3ea00bb20e5b490dd1beeb719be57cca4642635c │ │ ├── 4 │ │ ├── 0 │ │ │ └── 40ebc6823f24f296c0cd3fddd6ccda69b74ff2e4 │ │ ├── 1 │ │ │ └── 41a1911b5f41a2d6930dc657a61d80e09a7b6c6e │ │ ├── 3 │ │ │ └── 438d93158d95386d58a4635870ebd44d43da0fbd │ │ ├── 4 │ │ │ ├── 442292b8a7efeabbe4cc176709b833b1792140ec │ │ │ └── 44bd2858b67a5bf163c37723d4b61eb7d23296e7 │ │ ├── b │ │ │ └── 4b7e74d0e43315f2585a1bd80ca5cf2cf3100aad │ │ ├── d │ │ │ └── 4db9191fdf229a4f5b09fe1e0601146df2c56b47 │ │ └── f │ │ │ └── 4fbe927ed567487fd147425d3d2246e3c1f36d55 │ │ ├── 5 │ │ ├── 0 │ │ │ └── 50fb5bacc7db6e55e6d69fc19e8db699eb568eaf │ │ ├── 4 │ │ │ └── 54d92ab456bee996ea43bb411425fa80b4ce8503 │ │ ├── 5 │ │ │ └── 555fa71e803d4bddbb2843f2863afea509b0a3c0 │ │ ├── 9 │ │ │ └── 59a76659236a58dfa2a340e62ca5d765a0f35238 │ │ ├── b │ │ │ ├── 5b377f754cb8b46d138a569d3cd08e7a4d71ef65 │ │ │ └── 5b543303db1fef7fb59dc845a5be4f4021cc172b │ │ ├── d │ │ │ └── 5d312d4705b64ceb640c3ce4223abee6326071ad │ │ └── f │ │ │ ├── 5f358a5bac6615c06fc14296d79c42a2febed1ef │ │ │ └── 5f8f849d48ce487565132c4753810994618c402c │ │ ├── 6 │ │ ├── 0 │ │ │ └── 60e64ce391c266833611adb1c5dd15a27b42c0fa │ │ ├── 3 │ │ │ └── 63f960bfd54af816a824430bca026bb42804f01e │ │ ├── a │ │ │ └── 6a09819e3385f581c0b041f2b3b10d59f9a17e00 │ │ ├── c │ │ │ └── 6cfcc11c9054ec28e55c4d328f3466e5d3eceaa3 │ │ ├── d │ │ │ ├── 6d2b3fa336b721bc3b37b43f90f048b01dbf8b17 │ │ │ ├── 6d618f8d3990203a6ecbd8be05fd8883e71e8c6a │ │ │ └── 6df64f6db03ece7525dc1119688d53b98ce115c3 │ │ ├── e │ │ │ └── 6ec5e2272d84419e8ab26d403bc32b45650cef8e │ │ └── f │ │ │ └── 6f7126182d27f15df6cdae687c2623c2915a3c46 │ │ ├── 7 │ │ ├── 0 │ │ │ ├── 709714fb00f4b1468bd92bdafeb2d4f4b4b82ba9 │ │ │ └── 70cc498c1575c22feb5ef18e5411d538754abb13 │ │ ├── 2 │ │ │ ├── 7238ede84e959cf3387c1ea74c265789781e80c0 │ │ │ └── 72d842488b1170ccb9beabbe30c75f8590cc3ccd │ │ ├── 4 │ │ │ ├── 744e4277404a34aa097a94daf90cf5edc44eda80 │ │ │ └── 74dbb89a67f5273bcb2e14aaafd1662e97dc77bf │ │ ├── 6 │ │ │ ├── 76a0994256b6712a3fc1c69d31f429510d87f544 │ │ │ └── 76b5a734b91501fd3e41333149bbd5939607b919 │ │ ├── 7 │ │ │ ├── 7790676ab77515e44c061fbfe181cb61670a9421 │ │ │ └── 77cf9c9a4e745d2ca63c7a0b19faae7e13e2ad42 │ │ ├── 9 │ │ │ └── 79af5f7f4b6f0db677e574ad7fbe3660aff2a74c │ │ ├── b │ │ │ └── 7b87a1178f98b98b1d5ee2122d5227182a165d38 │ │ └── c │ │ │ └── 7cbb3768a80655248338c547ed00a30d727f0638 │ │ ├── 8 │ │ ├── 4 │ │ │ └── 840d36a61707cfcf2f8b8d5d2546bc515e2dc536 │ │ ├── 5 │ │ │ └── 85c3a901608a6b9adf48d245fa84828b66304e51 │ │ ├── 7 │ │ │ └── 873a0f49a6b64f60eba1e7dde594e62d7de1fb6f │ │ ├── 9 │ │ │ ├── 89ad114bce745387f587178bae400e0480e1a239 │ │ │ └── 89b9372b0754594cb9b0fc55f6f2ebf9b9b9514c │ │ ├── b │ │ │ └── 8b406b2facd00a1f438d08e27afc99abbe9f16e0 │ │ ├── d │ │ │ └── 8de246e3e02395e11e2a579882ea73cb138bffb6 │ │ └── e │ │ │ └── 8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d │ │ ├── 9 │ │ ├── 0 │ │ │ ├── 90ac08463ec4a4da45ee64e2de97d15b462e195e │ │ │ └── 90af1fb499967b0db490f4d263d6d719b7736a2e │ │ ├── 3 │ │ │ └── 9344750fdec815e81b7923a17c983df50067e9ee │ │ ├── 5 │ │ │ └── 951a80074ec98db44294f81598ac14ac9d3128d5 │ │ ├── b │ │ │ ├── 9b6c733c9925d2191a7e11aaf3fdb7dc86e83e7c │ │ │ └── 9bdc849f8dbf1313e7f9c3ba9585143133865689 │ │ ├── c │ │ │ ├── 9c8d3f105e9f81ec508ee39ff4d4035089608f5f │ │ │ └── 9cbcdebcb5aa8605d70ab6daa8fff3f1aa38dca0 │ │ ├── d │ │ │ └── 9de07231b9f2f8405c47a93c8a3f6182f657ec9f │ │ └── e │ │ │ └── 9e8be854cf8f10b9e64b8b0d32cceec89fc26225 │ │ ├── a │ │ ├── 0 │ │ │ └── a008aa95125a36706ecba616d279d663d5a7627f │ │ ├── 2 │ │ │ └── a299125611ef234a29dab81b931cb4928ae45dc3 │ │ ├── 5 │ │ │ ├── a513c6d6914afe7455c5d0476aba9c03aac61b0a │ │ │ └── a5f776bff9ac90a8b263e480f8ea4bc56f696b98 │ │ ├── 6 │ │ │ └── a6a340a20fbfa10403eea29ecb7c498e2a2f8707 │ │ ├── 7 │ │ │ ├── a7874217f1c348b9629a3c271b75b00d3adca4ef │ │ │ └── a7cb68c9a05b94b5eb6da4b9474e361596b502ad │ │ ├── 9 │ │ │ ├── a9459c173887ac3e992a9bd826b2b62f59d69d5d │ │ │ ├── a95034e244663b2af27308091c9d68497cbe509c │ │ │ └── a959a8a1681738852c010652a8a67dfd581a42cb │ │ ├── b │ │ │ ├── ab498b39f0ec70c5644d32f6acfcff99aadb9ffb │ │ │ └── abf24c88b942dc706f5443fff14209b12fbbf661 │ │ ├── c │ │ │ ├── ac618e9394f83800ffc24f65f2aea4143e5b85f5 │ │ │ └── ac6c8994151a493c0068d2b8eef3ce44676d4164 │ │ └── d │ │ │ └── adcaa1f4ce19a77cd85964f36dfdbf5254341713 │ │ ├── b │ │ ├── 0 │ │ │ └── b0ac8ba4a6ee7e89f4880b7283edea7548976dd7 │ │ ├── 3 │ │ │ └── b32d4c148c987cd395210e5b368a1083f05df426 │ │ ├── 4 │ │ │ └── b42d98b461727b334882e2fa2ec56b0c9d15263b │ │ ├── 5 │ │ │ └── b57a433f023583231f2cd006310805be31861978 │ │ ├── 6 │ │ │ ├── b654e6d8d903e5b4c3e8c00f77e34c12d4759ca0 │ │ │ └── b6e183d980cae55c7be799b3edd51bfa753ebec4 │ │ ├── 7 │ │ │ └── b715d32f676e19c588baf4baaf10e32bda9b7a42 │ │ ├── 8 │ │ │ ├── b83533e013fdc333596b6c124946f996491b5a41 │ │ │ └── b871a98cf8c4cb0dbb1086b32e180681e1b94c07 │ │ ├── b │ │ │ ├── bbaac2b27c461ef127b740cd79a19b8716f6c3e9 │ │ │ ├── bbe18e7a1949378f59109c2a22c2ae18e3ddcc2f │ │ │ └── bbf6d583f30a6ddf9dd48c58cd1eda97219fb62f │ │ ├── d │ │ │ ├── bd61f902b462330009c66574b4fce05c00550e09 │ │ │ └── bd96bd2f853113d4a6d10b6aec3ea5a50ac3d2d8 │ │ └── e │ │ │ └── bee25a4d0f40c215a3a63d590815e086c75b6e0e │ │ ├── c │ │ ├── 0 │ │ │ ├── c00a49aed1bb945e2393fc2ac5aecfb46afe7b16 │ │ │ └── c042c371701dcf852a25e722fe77c45573ca01ba │ │ ├── 3 │ │ │ └── c391c48371d3259f870f6bdd42ad49c57c08296f │ │ ├── 4 │ │ │ └── c463bcb5608c0e8fb489db403272f68032cad219 │ │ ├── 5 │ │ │ └── c569a847d823d49b1bd75bace2eeb2738c04b8d7 │ │ ├── 6 │ │ │ └── c6aabcc033728f493460473f95b9bb322d756bfd │ │ ├── 7 │ │ │ ├── c709f6995f23dae0da365bff70068f8288fa89e0 │ │ │ ├── c73821e5a2b3db31d773ed2d963c47ba41512862 │ │ │ └── c77b3061cdc7382cb831ac6315a3f5afde6e1deb │ │ ├── 8 │ │ │ └── c8c1a0a342d383bea043338dcaabd11203875b0e │ │ ├── 9 │ │ │ └── c9063d91c4079cfab92ad8fc13e50aebbe40496b │ │ ├── a │ │ │ └── cadcae20a86505e904a56afd21f32949107c7974 │ │ ├── b │ │ │ ├── cb1e6c866d3a0d134a1139de88b8ec31fe7ec75a │ │ │ └── cbb44695ea596406ec390f4643b8d983b9817f18 │ │ ├── c │ │ │ └── cc01586e59039192bb70667a5a898ec21b0a4314 │ │ ├── d │ │ │ └── cd5fc6e8b8166598a5d4e20011238f626ad1e7d3 │ │ └── f │ │ │ ├── cf3363b88a0a06c65f94ef5981e2703c8380b90d │ │ │ └── cf5656ed858703b72efa28c0b0b4dd35397f1ae9 │ │ ├── d │ │ ├── 0 │ │ │ └── d062f2765a7d3f3b68ccd265c0e08dd0d9329413 │ │ ├── 2 │ │ │ └── d2297cad0c7d26a2b581df1c8a1225d08dc82471 │ │ ├── 3 │ │ │ └── d3b8fe65e5470276e66d739aa059475745fc9df1 │ │ ├── 5 │ │ │ └── d544c8bc9b62a13a6a307bfebd352145ec5fd71a │ │ ├── 6 │ │ │ └── d6cd55df64e19c7b9ec55ca31f17369817abca1b │ │ ├── 9 │ │ │ └── d991c408583ffa6588260d088c73e95ebb981deb │ │ ├── a │ │ │ ├── da1126169322f406e266f1ed995e4ba424e50ec4 │ │ │ ├── da1c68a65a6ae9eec53d20dd345d62f2e05841d1 │ │ │ ├── da3cd3108cd604efe6b86eaeee122b726bceff4e │ │ │ └── da96554a980e5ec876d6086a9860c79028a32b01 │ │ └── b │ │ │ └── db5bb4f447b86022fee9ade879549e0d98e79ed1 │ │ ├── e │ │ ├── 5 │ │ │ ├── e515902ee3c4be770d5ab9801088f792be783b14 │ │ │ └── e5aa829ab6e23c2f2b366936cf92acd14473258e │ │ ├── 6 │ │ │ └── e6b09ee0041b8a582561ff48bad1d2d57f6023a6 │ │ ├── a │ │ │ └── ea342d657dc75ea8b7164c6efa648bbe566194a2 │ │ └── b │ │ │ └── eb95659615897a87626e900664aa8f9253fb3a4a │ │ ├── f │ │ ├── 1 │ │ │ └── f130ad0d1d16d0d70ec30d355f736ae3784b05cf │ │ ├── 3 │ │ │ ├── f326e65357d24a10a4ae5770f460b61ad395c088 │ │ │ └── f329e31516e670d20ecbccc53bfeef4057051dea │ │ ├── 4 │ │ │ ├── f4f36add4cf7c46cece5debbb25fad8d916b8928 │ │ │ └── f4fecc62e50bed2e55e68aa01b90e2e30298a397 │ │ ├── 6 │ │ │ └── f680c9db7e011fd809d52efaad9d2219e0ff2a8e │ │ ├── a │ │ │ └── fa10eab994085b5bdc13db73582715dc142cf64e │ │ ├── b │ │ │ └── fbfa09aee8afad4e67e1ef6dad6c38f5c939d3a6 │ │ └── c │ │ │ ├── fc63a94de2ea925a81513df12f209a8d3296f0b0 │ │ │ └── fccef24c659a1107b963f18bb9d53a329d0ad319 │ │ └── index.pb ├── uiDesigner.xml └── vcs.xml ├── LICENSE ├── README.md ├── accident.png ├── auto.PNG ├── azure-pipelines.yml ├── compiler.PNG ├── pom.xml ├── qodana.yaml ├── restapi.png ├── screen.png ├── src ├── main │ └── java │ │ └── com │ │ └── t4a │ │ ├── JsonUtils.java │ │ ├── action │ │ ├── BlankAction.java │ │ ├── ExtendedInputParameter.java │ │ ├── ExtendedPredictedAction.java │ │ ├── http │ │ │ ├── HttpMethod.java │ │ │ ├── HttpPredictedAction.java │ │ │ ├── InputParameter.java │ │ │ └── ParamLocation.java │ │ └── shell │ │ │ └── ShellPredictedAction.java │ │ ├── annotations │ │ ├── Action.java │ │ ├── ActivateLoader.java │ │ ├── Agent.java │ │ ├── ListType.java │ │ ├── MapKeyType.java │ │ ├── MapValueType.java │ │ └── Prompt.java │ │ ├── api │ │ ├── AIAction.java │ │ ├── AIActionExecutor.java │ │ ├── AIPlatform.java │ │ ├── ActionGroup.java │ │ ├── ActionKey.java │ │ ├── ActionList.java │ │ ├── ActionRisk.java │ │ ├── ActionType.java │ │ ├── DefaultMethodFinder.java │ │ ├── DetectorAction.java │ │ ├── GeminiGuardRails.java │ │ ├── GenericJavaMethodAction.java │ │ ├── GroupInfo.java │ │ ├── GuardRailException.java │ │ ├── GuardRails.java │ │ ├── JavaActionExecutor.java │ │ ├── JavaClassExecutor.java │ │ ├── JavaMethodAction.java │ │ ├── JavaMethodExecutor.java │ │ ├── JavaMethodInvoker.java │ │ ├── MethodFinder.java │ │ ├── MimeType.java │ │ ├── PredictedAIAction.java │ │ └── ToolsConstants.java │ │ ├── detect │ │ ├── ActionCallback.java │ │ ├── ActionState.java │ │ ├── BiasDetector.java │ │ ├── DetectValueRes.java │ │ ├── DetectValues.java │ │ ├── ExplainDecision.java │ │ ├── FactDetector.java │ │ ├── FeedbackLoop.java │ │ ├── HallucinationAction.java │ │ ├── HallucinationDetectorType.java │ │ ├── HallucinationQA.java │ │ ├── HumanInLoop.java │ │ ├── PromptInjectionValidator.java │ │ └── ZeroShotHallucinationDetector.java │ │ ├── predict │ │ ├── ConfigManager.java │ │ ├── ExtendedPredictionLoader.java │ │ ├── HttpRestPredictionLoader.java │ │ ├── LoaderException.java │ │ ├── PredictionLoader.java │ │ ├── ShellPredictionLoader.java │ │ ├── SwaggerPredictionLoader.java │ │ └── Tools4AI.java │ │ ├── processor │ │ ├── AIProcessingException.java │ │ ├── AIProcessor.java │ │ ├── AnthropicActionProcessor.java │ │ ├── GeminiImageActionProcessor.java │ │ ├── GeminiV2ActionProcessor.java │ │ ├── ImageHandler.java │ │ ├── LocalAIActionProcessor.java │ │ ├── LoggingHumanDecision.java │ │ ├── LogginggExplainDecision.java │ │ ├── MimeTypeResolver.java │ │ ├── OpenAiActionProcessor.java │ │ ├── chain │ │ │ ├── Prompt.java │ │ │ └── SubPrompt.java │ │ ├── scripts │ │ │ ├── BaseScriptProcessor.java │ │ │ ├── LoggingSeleniumCallback.java │ │ │ ├── ScriptCallback.java │ │ │ ├── ScriptLineResult.java │ │ │ ├── ScriptProcessor.java │ │ │ ├── ScriptResult.java │ │ │ ├── SeleniumCallback.java │ │ │ └── SeleniumScriptProcessor.java │ │ ├── selenium │ │ │ ├── DriverActions.java │ │ │ ├── SeleniumAction.java │ │ │ ├── SeleniumGeminiProcessor.java │ │ │ ├── SeleniumOpenAIProcessor.java │ │ │ ├── SeleniumProcessor.java │ │ │ ├── URLSafety.java │ │ │ └── WebDriverAction.java │ │ └── spring │ │ │ ├── SpringAnthropicProcessor.java │ │ │ ├── SpringGeminiProcessor.java │ │ │ └── SpringOpenAIProcessor.java │ │ └── transform │ │ ├── AnthropicTransformer.java │ │ ├── GeminiV2PromptTransformer.java │ │ ├── OpenAIPromptTransformer.java │ │ └── PromptTransformer.java └── test │ ├── java │ ├── GrokAIExample.java │ └── com │ │ └── t4a │ │ ├── deperecated │ │ ├── GeminiActionProcessor.java │ │ ├── GeminiPromptTransformer.java │ │ └── TextProcessor.java │ │ ├── examples │ │ ├── ActionProcessorExample.java │ │ ├── ArrayAction.java │ │ ├── GeminiImageExample.java │ │ ├── GenericHtppTest.java │ │ ├── OpenAIActionTester.java │ │ ├── OpenAiTester.java │ │ ├── OpenShiftActionExample.java │ │ ├── PromptPredictionExample.java │ │ ├── PromptTransformerExample.java │ │ ├── ScriptExample.java │ │ ├── SerperTester.java │ │ ├── ShowActionsExample.java │ │ ├── SimplePredictionExample.java │ │ ├── SingletonResetter.java │ │ ├── TestJsonUtilsExample.java │ │ ├── WeatherSearchExample.java │ │ ├── WebTestingWithAI.java │ │ ├── actions │ │ │ ├── ArrayOfObjectAction.java │ │ │ ├── ComplexAction.java │ │ │ ├── CookingAction.java │ │ │ ├── CustomHttpGetAction.java │ │ │ ├── Customer.java │ │ │ ├── CustomerWithQueryAction.java │ │ │ ├── ListAction.java │ │ │ ├── MapAction.java │ │ │ ├── MyDiaryAction.java │ │ │ ├── Player.java │ │ │ ├── PlayerWithRestaurant.java │ │ │ ├── SearchAction.java │ │ │ ├── ServerRestartAction.java │ │ │ ├── SimpleAction.java │ │ │ ├── TrafficViolation.java │ │ │ ├── db │ │ │ │ └── MongoAction.java │ │ │ ├── file │ │ │ │ └── FileWriteAction.java │ │ │ └── tibco │ │ │ │ └── TibcoAction.java │ │ ├── agriculture │ │ │ ├── AgricultureDemo.java │ │ │ ├── EnvironmentConditions.java │ │ │ ├── HealthStatus.java │ │ │ └── Plant.java │ │ ├── basic │ │ │ ├── AITools.java │ │ │ ├── DateDeserializer.java │ │ │ ├── FunctionHelper.java │ │ │ ├── JsonBuilder.java │ │ │ ├── NonPredictionAction.java │ │ │ ├── RestaurantDetails.java │ │ │ ├── RestaurantPojo.java │ │ │ ├── SimpleTalker.java │ │ │ └── SimpleTalkerWithSafety.java │ │ ├── eat │ │ │ ├── IndianFoodRecipes.java │ │ │ ├── RecipeTasteAndDiet.java │ │ │ └── RecipeTasteFinder.java │ │ ├── enterprise │ │ │ ├── fly │ │ │ │ ├── AIFlightAssistant.java │ │ │ │ ├── BookingHelper.java │ │ │ │ ├── FlightBookingRequest.java │ │ │ │ ├── FlightCustomer.java │ │ │ │ ├── FlightDetails.java │ │ │ │ └── JustKhao.java │ │ │ └── multi │ │ │ │ ├── MultiBot.java │ │ │ │ └── UdoKhaoDekho.java │ │ ├── pojo │ │ │ ├── Activity.java │ │ │ ├── AutoRepairScreen.java │ │ │ ├── Dictionary.java │ │ │ ├── Employee.java │ │ │ ├── MyDiary.java │ │ │ ├── MyGymSchedule.java │ │ │ └── Organization.java │ │ └── shell │ │ │ └── ShellTester.java │ │ ├── regression │ │ ├── AnthropicActionValidation.java │ │ ├── GeminiActionsValidation.java │ │ ├── GeminiV2ActionValidation.java │ │ ├── GeminiV2PromptTransformerValidation.java │ │ ├── NonPredictedActionValidation.java │ │ ├── OpenAIActionValidation.java │ │ ├── TestAIHelper.java │ │ ├── TestHelperOpenAI.java │ │ └── ZeroShotHallucinationValidation.java │ │ └── test │ │ ├── AIActionTest.java │ │ ├── AIProcessingExceptionTest.java │ │ ├── AIProcessorTest.java │ │ ├── ActionGroupTest.java │ │ ├── ActionKeyTest.java │ │ ├── ActionListTest.java │ │ ├── AnthropicTransformerTest.java │ │ ├── BiasDetectorTest.java │ │ ├── BlankActionTest.java │ │ ├── DetectValuesTest.java │ │ ├── DriverActionsTest.java │ │ ├── ExtendedInputParameterTest.java │ │ ├── ExtendedPredictedActionTest.java │ │ ├── FactDetectorTest.java │ │ ├── GeminiGuardRailsTest.java │ │ ├── GeminiImageActionProcessorTest.java │ │ ├── GeminiTransformerTest.java │ │ ├── GuardRailExceptionTest.java │ │ ├── HallucinationDetectorTypeTest.java │ │ ├── HallucinationQATest.java │ │ ├── HttpPredictedActionTest.java │ │ ├── InputParameterTest.java │ │ ├── JavaActionExecutorTest.java │ │ ├── JavaClassExecutorTest.java │ │ ├── JavaMethodExecutorTest.java │ │ ├── JavaMethodInvokerTest.java │ │ ├── LoaderExceptionTest.java │ │ ├── LoggingHumanDecisionTest.java │ │ ├── LogginggExplainDecisionTest.java │ │ ├── MimeTypeTest.java │ │ ├── MockAction.java │ │ ├── OpenAIPromptTransformerTest.java │ │ ├── OpenAiActionProcessorTest.java │ │ ├── Person.java │ │ ├── PredictionLoaderTest.java │ │ ├── PromptInjectionValidatorTest.java │ │ ├── PromptTest.java │ │ ├── ScriptProcessorTest.java │ │ ├── SeleniumActionTest.java │ │ ├── SeleniumGeminiProcessorTest.java │ │ ├── SeleniumOpenAIProcessorTest.java │ │ ├── SeleniumScriptProcessorTest.java │ │ ├── ShellPredictedActionTest.java │ │ ├── SpringProcessorTest.java │ │ ├── SubPromptTest.java │ │ ├── TestClass.java │ │ ├── TestJsonUtils.java │ │ ├── ToolsConstantsTest.java │ │ └── ZeroShotHallucinationTest.java │ └── resources │ ├── auto.PNG │ ├── customerJson.json │ ├── fitness.PNG │ ├── http_actions.json │ ├── logback.xml │ ├── prompt.properties │ ├── shell_actions.yaml │ ├── swagger_actions.json │ ├── test.action │ ├── testApplicationContext.xml │ ├── test_script.cmd │ ├── tools4ai.properties │ └── web.action ├── the-internet.herokuapp.com.png ├── tools4ai.png ├── tools4ai_old.png └── uploadnumber.sh /.github/workflows/codecov.yml: -------------------------------------------------------------------------------- 1 | name: Code Coverage 2 | on: [push, pull_request] 3 | jobs: 4 | run: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - name: Checkout 8 | uses: actions/checkout@v4 9 | - name: Set up JDK 18 10 | uses: actions/setup-java@v1 11 | with: 12 | java-version: 18 13 | - name: Install dependencies 14 | run: mvn package -DskipTests=true -Dmaven.javadoc.skip=true -B -V 15 | - name: Run tests and collect coverage 16 | run: mvn -B test jacoco:report 17 | - name: Upload coverage to Codecov 18 | uses: codecov/codecov-action@v4 19 | env: 20 | CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} 21 | - name: Upload test custom 22 | env: 23 | GIST_TOKEN: ${{ secrets.GIST_TOKEN }} 24 | GIST_ID: ${{ secrets.GIST_ID }} 25 | run: bash uploadnumber.sh 26 | - name: Upload test numbers 27 | uses: gaelgirodon/ci-badges-action@v1 28 | with: 29 | gist-id: ${{ secrets.GIST_ID }} 30 | token: ${{ secrets.GIST_TOKEN }} 31 | 32 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | !**/src/main/**/target/ 4 | !**/src/test/**/target/ 5 | 6 | ### IntelliJ IDEA ### 7 | .idea/modules.xml 8 | .idea/jarRepositories.xml 9 | .idea/compiler.xml 10 | .idea/libraries/ 11 | .idea/sonarlint/ 12 | .idea/sonarlint/issuestore/ 13 | *.iws 14 | *.iml 15 | *.ipr 16 | 17 | ### Eclipse ### 18 | .apt_generated 19 | .classpath 20 | .factorypath 21 | .project 22 | .settings 23 | .springBeans 24 | .sts4-cache 25 | 26 | ### NetBeans ### 27 | /nbproject/private/ 28 | /nbbuild/ 29 | /dist/ 30 | /nbdist/ 31 | /.nb-gradle/ 32 | build/ 33 | !**/src/main/**/build/ 34 | !**/src/test/**/build/ 35 | 36 | ### VS Code ### 37 | .vscode/ 38 | 39 | ### Mac OS ### 40 | .DS_Store -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | /sonarlint/ 5 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/1/012be8733c8bc69315410b22d1efdd1927b77abb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/1/012be8733c8bc69315410b22d1efdd1927b77abb -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/4/04a717706514fb6493cc2824c4bed61936352fa8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/4/04a717706514fb6493cc2824c4bed61936352fa8 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/5/05faa905a7927b095c81d6cf34e0d1220a57f7a3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/5/05faa905a7927b095c81d6cf34e0d1220a57f7a3 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/7/07a0e33508252be0f75be38f018c201b03c4ccd0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/7/07a0e33508252be0f75be38f018c201b03c4ccd0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/7/07ab514a2bf45701b6528a5213ccc06c7f24e203: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/7/07ab514a2bf45701b6528a5213ccc06c7f24e203 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/a/0acba751ea48821c78758a000aa2d08928ea3410: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/a/0acba751ea48821c78758a000aa2d08928ea3410 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/d/0d12540036cf2e8dd658d318f0f111431c444483: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/d/0d12540036cf2e8dd658d318f0f111431c444483 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/0/e/0ecc4d194e0da6f344fec6b56b7ee9d964db151c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/0/e/0ecc4d194e0da6f344fec6b56b7ee9d964db151c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/1/0/105f240fec2e2a9d90077dffdbb2dc2e47546e6f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/1/0/105f240fec2e2a9d90077dffdbb2dc2e47546e6f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/1/1/1171b8676cdf9179dcd818b1dd94e9ec5b09211d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/1/1/1171b8676cdf9179dcd818b1dd94e9ec5b09211d -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/1/2/1264b0585ebc6b100bb485fffe863bdc08e75543: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/1/2/1264b0585ebc6b100bb485fffe863bdc08e75543 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/1/2/12ce9c4bf962f513e9c5e98333ea8d74846a5b34: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/1/2/12ce9c4bf962f513e9c5e98333ea8d74846a5b34 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/1/b/1b7e79b1fff6bc8ba322c8b52fab2d7cc1c071b9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/1/b/1b7e79b1fff6bc8ba322c8b52fab2d7cc1c071b9 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/1/d/1d99fc053be0ec595a647b0bc92de0274faa1839: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/1/d/1d99fc053be0ec595a647b0bc92de0274faa1839 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/2/22f5e8a0d4df188d139c2c4ea199f492e478dffd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/2/22f5e8a0d4df188d139c2c4ea199f492e478dffd -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/3/23319a86a03b91a71a5d99c9e634f9157f5b5401: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/3/23319a86a03b91a71a5d99c9e634f9157f5b5401 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/5/25c907079280be282bf7cfd880d35fbf70c1c09c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/5/25c907079280be282bf7cfd880d35fbf70c1c09c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/8/2857d6f1fadcd9a3f8d1206bbec9a38b479371b6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/8/2857d6f1fadcd9a3f8d1206bbec9a38b479371b6 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/9/29d6a1c1e9c8160e6fcbdc5d2f078d85d314c88a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/9/29d6a1c1e9c8160e6fcbdc5d2f078d85d314c88a -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/a/2ad02f03ba0f443b02a720f98d4654f5af384e22: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/a/2ad02f03ba0f443b02a720f98d4654f5af384e22 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/b/2b28b6e913e8a25ba494a0a1cfee40bb144469b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/b/2b28b6e913e8a25ba494a0a1cfee40bb144469b0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/d/2d276da931e665c39888a930501386f93c2fee34: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/d/2d276da931e665c39888a930501386f93c2fee34 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/e/2e52e065df0e9e5cd67a7ab045a920a147552d17: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/e/2e52e065df0e9e5cd67a7ab045a920a147552d17 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/f/2f66c2653799f7ac824b4d87f9d6c21157e3da37: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/f/2f66c2653799f7ac824b4d87f9d6c21157e3da37 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/2/f/2fcf56c807f1ade90e0bd0bb9afa807f1a41a0c1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/2/f/2fcf56c807f1ade90e0bd0bb9afa807f1a41a0c1 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/0/30ba333c3e5eec668961f6412e83a0bc6200aaf9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/0/30ba333c3e5eec668961f6412e83a0bc6200aaf9 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/2/3290921edd4fd114eb5b66afd6a3f579ad3d7a8a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/2/3290921edd4fd114eb5b66afd6a3f579ad3d7a8a -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/2/32e3583de31ab2d0de350f79b4284aac261f2171: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/2/32e3583de31ab2d0de350f79b4284aac261f2171 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/3/338485d6f6208eda28612600b83c3a2f2a0d7410: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/3/338485d6f6208eda28612600b83c3a2f2a0d7410 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/5/350098c2bb1beddb1614a442ee4dd60bcc9f2570: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/5/350098c2bb1beddb1614a442ee4dd60bcc9f2570 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/5/35278e39d7dcf52246d4cc4b2520d3f730fc9be9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/5/35278e39d7dcf52246d4cc4b2520d3f730fc9be9 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/6/362a6aed6ed953aa56d8282c22e024904e6f446e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/6/362a6aed6ed953aa56d8282c22e024904e6f446e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/7/37d572495d427c0c08682f5f61a31f83fcf521a0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/7/37d572495d427c0c08682f5f61a31f83fcf521a0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/8/382c2cf53a527aeb808f5d3b2a1c03da5454e787: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/8/382c2cf53a527aeb808f5d3b2a1c03da5454e787 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/9/39fd1babc5b993bd535381c74946363980991e83: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/9/39fd1babc5b993bd535381c74946363980991e83 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/b/3b3ca2b26f3434ec17e7a54dacc61cd343e7c4cb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/b/3b3ca2b26f3434ec17e7a54dacc61cd343e7c4cb -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/b/3bdb88e7ba41e62725fe5eed32e041a25ea8c8eb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/b/3bdb88e7ba41e62725fe5eed32e041a25ea8c8eb -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/d/3d5c8190298fb32fa00fd53169cb86d129d33c17: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/d/3d5c8190298fb32fa00fd53169cb86d129d33c17 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/d/3dba2d84c2bca9d36139d8e50f6b90fcc02a4b5d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/d/3dba2d84c2bca9d36139d8e50f6b90fcc02a4b5d -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/d/3dea506ebe426eb4c8a8fd28edbd527cdb39b351: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/d/3dea506ebe426eb4c8a8fd28edbd527cdb39b351 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/e/3e1e37ed7f9152cda244f2a57c9b28d924c6daf7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/e/3e1e37ed7f9152cda244f2a57c9b28d924c6daf7 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/3/e/3ea00bb20e5b490dd1beeb719be57cca4642635c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/3/e/3ea00bb20e5b490dd1beeb719be57cca4642635c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/0/40ebc6823f24f296c0cd3fddd6ccda69b74ff2e4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/0/40ebc6823f24f296c0cd3fddd6ccda69b74ff2e4 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/1/41a1911b5f41a2d6930dc657a61d80e09a7b6c6e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/1/41a1911b5f41a2d6930dc657a61d80e09a7b6c6e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/3/438d93158d95386d58a4635870ebd44d43da0fbd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/3/438d93158d95386d58a4635870ebd44d43da0fbd -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/4/442292b8a7efeabbe4cc176709b833b1792140ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/4/442292b8a7efeabbe4cc176709b833b1792140ec -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/4/44bd2858b67a5bf163c37723d4b61eb7d23296e7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/4/44bd2858b67a5bf163c37723d4b61eb7d23296e7 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/b/4b7e74d0e43315f2585a1bd80ca5cf2cf3100aad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/b/4b7e74d0e43315f2585a1bd80ca5cf2cf3100aad -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/d/4db9191fdf229a4f5b09fe1e0601146df2c56b47: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/d/4db9191fdf229a4f5b09fe1e0601146df2c56b47 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/4/f/4fbe927ed567487fd147425d3d2246e3c1f36d55: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/4/f/4fbe927ed567487fd147425d3d2246e3c1f36d55 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/0/50fb5bacc7db6e55e6d69fc19e8db699eb568eaf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/0/50fb5bacc7db6e55e6d69fc19e8db699eb568eaf -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/4/54d92ab456bee996ea43bb411425fa80b4ce8503: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/4/54d92ab456bee996ea43bb411425fa80b4ce8503 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/5/555fa71e803d4bddbb2843f2863afea509b0a3c0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/5/555fa71e803d4bddbb2843f2863afea509b0a3c0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/9/59a76659236a58dfa2a340e62ca5d765a0f35238: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/9/59a76659236a58dfa2a340e62ca5d765a0f35238 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/b/5b377f754cb8b46d138a569d3cd08e7a4d71ef65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/b/5b377f754cb8b46d138a569d3cd08e7a4d71ef65 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/b/5b543303db1fef7fb59dc845a5be4f4021cc172b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/b/5b543303db1fef7fb59dc845a5be4f4021cc172b -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/d/5d312d4705b64ceb640c3ce4223abee6326071ad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/d/5d312d4705b64ceb640c3ce4223abee6326071ad -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/f/5f358a5bac6615c06fc14296d79c42a2febed1ef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/f/5f358a5bac6615c06fc14296d79c42a2febed1ef -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/5/f/5f8f849d48ce487565132c4753810994618c402c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/5/f/5f8f849d48ce487565132c4753810994618c402c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/0/60e64ce391c266833611adb1c5dd15a27b42c0fa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/0/60e64ce391c266833611adb1c5dd15a27b42c0fa -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/3/63f960bfd54af816a824430bca026bb42804f01e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/3/63f960bfd54af816a824430bca026bb42804f01e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/a/6a09819e3385f581c0b041f2b3b10d59f9a17e00: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/a/6a09819e3385f581c0b041f2b3b10d59f9a17e00 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/c/6cfcc11c9054ec28e55c4d328f3466e5d3eceaa3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/c/6cfcc11c9054ec28e55c4d328f3466e5d3eceaa3 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/d/6d2b3fa336b721bc3b37b43f90f048b01dbf8b17: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/d/6d2b3fa336b721bc3b37b43f90f048b01dbf8b17 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/d/6d618f8d3990203a6ecbd8be05fd8883e71e8c6a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/d/6d618f8d3990203a6ecbd8be05fd8883e71e8c6a -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/d/6df64f6db03ece7525dc1119688d53b98ce115c3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/d/6df64f6db03ece7525dc1119688d53b98ce115c3 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/e/6ec5e2272d84419e8ab26d403bc32b45650cef8e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/e/6ec5e2272d84419e8ab26d403bc32b45650cef8e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/6/f/6f7126182d27f15df6cdae687c2623c2915a3c46: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/6/f/6f7126182d27f15df6cdae687c2623c2915a3c46 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/0/709714fb00f4b1468bd92bdafeb2d4f4b4b82ba9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/0/709714fb00f4b1468bd92bdafeb2d4f4b4b82ba9 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/0/70cc498c1575c22feb5ef18e5411d538754abb13: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/0/70cc498c1575c22feb5ef18e5411d538754abb13 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/2/7238ede84e959cf3387c1ea74c265789781e80c0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/2/7238ede84e959cf3387c1ea74c265789781e80c0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/2/72d842488b1170ccb9beabbe30c75f8590cc3ccd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/2/72d842488b1170ccb9beabbe30c75f8590cc3ccd -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/4/744e4277404a34aa097a94daf90cf5edc44eda80: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/4/744e4277404a34aa097a94daf90cf5edc44eda80 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/4/74dbb89a67f5273bcb2e14aaafd1662e97dc77bf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/4/74dbb89a67f5273bcb2e14aaafd1662e97dc77bf -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/6/76a0994256b6712a3fc1c69d31f429510d87f544: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/6/76a0994256b6712a3fc1c69d31f429510d87f544 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/6/76b5a734b91501fd3e41333149bbd5939607b919: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/6/76b5a734b91501fd3e41333149bbd5939607b919 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/7/7790676ab77515e44c061fbfe181cb61670a9421: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/7/7790676ab77515e44c061fbfe181cb61670a9421 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/7/77cf9c9a4e745d2ca63c7a0b19faae7e13e2ad42: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/7/77cf9c9a4e745d2ca63c7a0b19faae7e13e2ad42 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/9/79af5f7f4b6f0db677e574ad7fbe3660aff2a74c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/9/79af5f7f4b6f0db677e574ad7fbe3660aff2a74c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/b/7b87a1178f98b98b1d5ee2122d5227182a165d38: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/b/7b87a1178f98b98b1d5ee2122d5227182a165d38 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/7/c/7cbb3768a80655248338c547ed00a30d727f0638: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/7/c/7cbb3768a80655248338c547ed00a30d727f0638 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/4/840d36a61707cfcf2f8b8d5d2546bc515e2dc536: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/4/840d36a61707cfcf2f8b8d5d2546bc515e2dc536 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/5/85c3a901608a6b9adf48d245fa84828b66304e51: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/5/85c3a901608a6b9adf48d245fa84828b66304e51 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/7/873a0f49a6b64f60eba1e7dde594e62d7de1fb6f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/7/873a0f49a6b64f60eba1e7dde594e62d7de1fb6f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/9/89ad114bce745387f587178bae400e0480e1a239: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/9/89ad114bce745387f587178bae400e0480e1a239 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/9/89b9372b0754594cb9b0fc55f6f2ebf9b9b9514c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/9/89b9372b0754594cb9b0fc55f6f2ebf9b9b9514c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/b/8b406b2facd00a1f438d08e27afc99abbe9f16e0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/b/8b406b2facd00a1f438d08e27afc99abbe9f16e0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/d/8de246e3e02395e11e2a579882ea73cb138bffb6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/d/8de246e3e02395e11e2a579882ea73cb138bffb6 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/0/90ac08463ec4a4da45ee64e2de97d15b462e195e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/0/90ac08463ec4a4da45ee64e2de97d15b462e195e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/0/90af1fb499967b0db490f4d263d6d719b7736a2e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/0/90af1fb499967b0db490f4d263d6d719b7736a2e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/3/9344750fdec815e81b7923a17c983df50067e9ee: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/3/9344750fdec815e81b7923a17c983df50067e9ee -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/5/951a80074ec98db44294f81598ac14ac9d3128d5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/5/951a80074ec98db44294f81598ac14ac9d3128d5 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/b/9b6c733c9925d2191a7e11aaf3fdb7dc86e83e7c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/b/9b6c733c9925d2191a7e11aaf3fdb7dc86e83e7c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/b/9bdc849f8dbf1313e7f9c3ba9585143133865689: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/b/9bdc849f8dbf1313e7f9c3ba9585143133865689 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/c/9c8d3f105e9f81ec508ee39ff4d4035089608f5f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/c/9c8d3f105e9f81ec508ee39ff4d4035089608f5f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/c/9cbcdebcb5aa8605d70ab6daa8fff3f1aa38dca0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/c/9cbcdebcb5aa8605d70ab6daa8fff3f1aa38dca0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/d/9de07231b9f2f8405c47a93c8a3f6182f657ec9f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/d/9de07231b9f2f8405c47a93c8a3f6182f657ec9f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/9/e/9e8be854cf8f10b9e64b8b0d32cceec89fc26225: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/9/e/9e8be854cf8f10b9e64b8b0d32cceec89fc26225 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/0/a008aa95125a36706ecba616d279d663d5a7627f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/0/a008aa95125a36706ecba616d279d663d5a7627f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/2/a299125611ef234a29dab81b931cb4928ae45dc3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/2/a299125611ef234a29dab81b931cb4928ae45dc3 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/5/a513c6d6914afe7455c5d0476aba9c03aac61b0a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/5/a513c6d6914afe7455c5d0476aba9c03aac61b0a -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/5/a5f776bff9ac90a8b263e480f8ea4bc56f696b98: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/5/a5f776bff9ac90a8b263e480f8ea4bc56f696b98 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/6/a6a340a20fbfa10403eea29ecb7c498e2a2f8707: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/6/a6a340a20fbfa10403eea29ecb7c498e2a2f8707 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/7/a7874217f1c348b9629a3c271b75b00d3adca4ef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/7/a7874217f1c348b9629a3c271b75b00d3adca4ef -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/7/a7cb68c9a05b94b5eb6da4b9474e361596b502ad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/7/a7cb68c9a05b94b5eb6da4b9474e361596b502ad -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/9/a9459c173887ac3e992a9bd826b2b62f59d69d5d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/9/a9459c173887ac3e992a9bd826b2b62f59d69d5d -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/9/a95034e244663b2af27308091c9d68497cbe509c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/9/a95034e244663b2af27308091c9d68497cbe509c -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/9/a959a8a1681738852c010652a8a67dfd581a42cb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/9/a959a8a1681738852c010652a8a67dfd581a42cb -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/b/ab498b39f0ec70c5644d32f6acfcff99aadb9ffb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/b/ab498b39f0ec70c5644d32f6acfcff99aadb9ffb -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/b/abf24c88b942dc706f5443fff14209b12fbbf661: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/b/abf24c88b942dc706f5443fff14209b12fbbf661 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/c/ac618e9394f83800ffc24f65f2aea4143e5b85f5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/c/ac618e9394f83800ffc24f65f2aea4143e5b85f5 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/c/ac6c8994151a493c0068d2b8eef3ce44676d4164: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/c/ac6c8994151a493c0068d2b8eef3ce44676d4164 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/a/d/adcaa1f4ce19a77cd85964f36dfdbf5254341713: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/a/d/adcaa1f4ce19a77cd85964f36dfdbf5254341713 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/0/b0ac8ba4a6ee7e89f4880b7283edea7548976dd7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/0/b0ac8ba4a6ee7e89f4880b7283edea7548976dd7 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/3/b32d4c148c987cd395210e5b368a1083f05df426: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/3/b32d4c148c987cd395210e5b368a1083f05df426 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/4/b42d98b461727b334882e2fa2ec56b0c9d15263b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/4/b42d98b461727b334882e2fa2ec56b0c9d15263b -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/5/b57a433f023583231f2cd006310805be31861978: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/5/b57a433f023583231f2cd006310805be31861978 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/6/b654e6d8d903e5b4c3e8c00f77e34c12d4759ca0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/6/b654e6d8d903e5b4c3e8c00f77e34c12d4759ca0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/6/b6e183d980cae55c7be799b3edd51bfa753ebec4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/6/b6e183d980cae55c7be799b3edd51bfa753ebec4 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/7/b715d32f676e19c588baf4baaf10e32bda9b7a42: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/7/b715d32f676e19c588baf4baaf10e32bda9b7a42 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/8/b83533e013fdc333596b6c124946f996491b5a41: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/8/b83533e013fdc333596b6c124946f996491b5a41 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/8/b871a98cf8c4cb0dbb1086b32e180681e1b94c07: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/8/b871a98cf8c4cb0dbb1086b32e180681e1b94c07 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/b/bbaac2b27c461ef127b740cd79a19b8716f6c3e9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/b/bbaac2b27c461ef127b740cd79a19b8716f6c3e9 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/b/bbe18e7a1949378f59109c2a22c2ae18e3ddcc2f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/b/bbe18e7a1949378f59109c2a22c2ae18e3ddcc2f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/b/bbf6d583f30a6ddf9dd48c58cd1eda97219fb62f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/b/bbf6d583f30a6ddf9dd48c58cd1eda97219fb62f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/d/bd61f902b462330009c66574b4fce05c00550e09: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/d/bd61f902b462330009c66574b4fce05c00550e09 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/d/bd96bd2f853113d4a6d10b6aec3ea5a50ac3d2d8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/d/bd96bd2f853113d4a6d10b6aec3ea5a50ac3d2d8 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/b/e/bee25a4d0f40c215a3a63d590815e086c75b6e0e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/b/e/bee25a4d0f40c215a3a63d590815e086c75b6e0e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/0/c00a49aed1bb945e2393fc2ac5aecfb46afe7b16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/0/c00a49aed1bb945e2393fc2ac5aecfb46afe7b16 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/0/c042c371701dcf852a25e722fe77c45573ca01ba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/0/c042c371701dcf852a25e722fe77c45573ca01ba -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/3/c391c48371d3259f870f6bdd42ad49c57c08296f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/3/c391c48371d3259f870f6bdd42ad49c57c08296f -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/4/c463bcb5608c0e8fb489db403272f68032cad219: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/4/c463bcb5608c0e8fb489db403272f68032cad219 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/5/c569a847d823d49b1bd75bace2eeb2738c04b8d7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/5/c569a847d823d49b1bd75bace2eeb2738c04b8d7 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/6/c6aabcc033728f493460473f95b9bb322d756bfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/6/c6aabcc033728f493460473f95b9bb322d756bfd -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/7/c709f6995f23dae0da365bff70068f8288fa89e0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/7/c709f6995f23dae0da365bff70068f8288fa89e0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/7/c73821e5a2b3db31d773ed2d963c47ba41512862: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/7/c73821e5a2b3db31d773ed2d963c47ba41512862 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/7/c77b3061cdc7382cb831ac6315a3f5afde6e1deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/7/c77b3061cdc7382cb831ac6315a3f5afde6e1deb -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/8/c8c1a0a342d383bea043338dcaabd11203875b0e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/8/c8c1a0a342d383bea043338dcaabd11203875b0e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/9/c9063d91c4079cfab92ad8fc13e50aebbe40496b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/9/c9063d91c4079cfab92ad8fc13e50aebbe40496b -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/a/cadcae20a86505e904a56afd21f32949107c7974: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/a/cadcae20a86505e904a56afd21f32949107c7974 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/b/cb1e6c866d3a0d134a1139de88b8ec31fe7ec75a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/b/cb1e6c866d3a0d134a1139de88b8ec31fe7ec75a -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/b/cbb44695ea596406ec390f4643b8d983b9817f18: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/b/cbb44695ea596406ec390f4643b8d983b9817f18 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/c/cc01586e59039192bb70667a5a898ec21b0a4314: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/c/cc01586e59039192bb70667a5a898ec21b0a4314 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/d/cd5fc6e8b8166598a5d4e20011238f626ad1e7d3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/d/cd5fc6e8b8166598a5d4e20011238f626ad1e7d3 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/f/cf3363b88a0a06c65f94ef5981e2703c8380b90d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/f/cf3363b88a0a06c65f94ef5981e2703c8380b90d -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/c/f/cf5656ed858703b72efa28c0b0b4dd35397f1ae9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/c/f/cf5656ed858703b72efa28c0b0b4dd35397f1ae9 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/0/d062f2765a7d3f3b68ccd265c0e08dd0d9329413: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/0/d062f2765a7d3f3b68ccd265c0e08dd0d9329413 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/2/d2297cad0c7d26a2b581df1c8a1225d08dc82471: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/2/d2297cad0c7d26a2b581df1c8a1225d08dc82471 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/3/d3b8fe65e5470276e66d739aa059475745fc9df1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/3/d3b8fe65e5470276e66d739aa059475745fc9df1 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/5/d544c8bc9b62a13a6a307bfebd352145ec5fd71a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/5/d544c8bc9b62a13a6a307bfebd352145ec5fd71a -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/6/d6cd55df64e19c7b9ec55ca31f17369817abca1b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/6/d6cd55df64e19c7b9ec55ca31f17369817abca1b -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/9/d991c408583ffa6588260d088c73e95ebb981deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/9/d991c408583ffa6588260d088c73e95ebb981deb -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/a/da1126169322f406e266f1ed995e4ba424e50ec4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/a/da1126169322f406e266f1ed995e4ba424e50ec4 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/a/da1c68a65a6ae9eec53d20dd345d62f2e05841d1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/a/da1c68a65a6ae9eec53d20dd345d62f2e05841d1 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/a/da3cd3108cd604efe6b86eaeee122b726bceff4e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/a/da3cd3108cd604efe6b86eaeee122b726bceff4e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/a/da96554a980e5ec876d6086a9860c79028a32b01: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/a/da96554a980e5ec876d6086a9860c79028a32b01 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/d/b/db5bb4f447b86022fee9ade879549e0d98e79ed1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/d/b/db5bb4f447b86022fee9ade879549e0d98e79ed1 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/e/5/e515902ee3c4be770d5ab9801088f792be783b14: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/e/5/e515902ee3c4be770d5ab9801088f792be783b14 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/e/5/e5aa829ab6e23c2f2b366936cf92acd14473258e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/e/5/e5aa829ab6e23c2f2b366936cf92acd14473258e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/e/6/e6b09ee0041b8a582561ff48bad1d2d57f6023a6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/e/6/e6b09ee0041b8a582561ff48bad1d2d57f6023a6 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/e/a/ea342d657dc75ea8b7164c6efa648bbe566194a2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/e/a/ea342d657dc75ea8b7164c6efa648bbe566194a2 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/e/b/eb95659615897a87626e900664aa8f9253fb3a4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/e/b/eb95659615897a87626e900664aa8f9253fb3a4a -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/1/f130ad0d1d16d0d70ec30d355f736ae3784b05cf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/1/f130ad0d1d16d0d70ec30d355f736ae3784b05cf -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/3/f326e65357d24a10a4ae5770f460b61ad395c088: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/3/f326e65357d24a10a4ae5770f460b61ad395c088 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/3/f329e31516e670d20ecbccc53bfeef4057051dea: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/3/f329e31516e670d20ecbccc53bfeef4057051dea -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/4/f4f36add4cf7c46cece5debbb25fad8d916b8928: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/4/f4f36add4cf7c46cece5debbb25fad8d916b8928 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/4/f4fecc62e50bed2e55e68aa01b90e2e30298a397: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/4/f4fecc62e50bed2e55e68aa01b90e2e30298a397 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/6/f680c9db7e011fd809d52efaad9d2219e0ff2a8e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/6/f680c9db7e011fd809d52efaad9d2219e0ff2a8e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/a/fa10eab994085b5bdc13db73582715dc142cf64e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/a/fa10eab994085b5bdc13db73582715dc142cf64e -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/b/fbfa09aee8afad4e67e1ef6dad6c38f5c939d3a6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/b/fbfa09aee8afad4e67e1ef6dad6c38f5c939d3a6 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/c/fc63a94de2ea925a81513df12f209a8d3296f0b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/c/fc63a94de2ea925a81513df12f209a8d3296f0b0 -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/f/c/fccef24c659a1107b963f18bb9d53a329d0ad319: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/issuestore/f/c/fccef24c659a1107b963f18bb9d53a329d0ad319 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/1/012be8733c8bc69315410b22d1efdd1927b77abb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/1/012be8733c8bc69315410b22d1efdd1927b77abb -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/4/04a717706514fb6493cc2824c4bed61936352fa8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/4/04a717706514fb6493cc2824c4bed61936352fa8 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/5/05faa905a7927b095c81d6cf34e0d1220a57f7a3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/5/05faa905a7927b095c81d6cf34e0d1220a57f7a3 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/7/07a0e33508252be0f75be38f018c201b03c4ccd0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/7/07a0e33508252be0f75be38f018c201b03c4ccd0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/7/07ab514a2bf45701b6528a5213ccc06c7f24e203: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/7/07ab514a2bf45701b6528a5213ccc06c7f24e203 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/a/0acba751ea48821c78758a000aa2d08928ea3410: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/a/0acba751ea48821c78758a000aa2d08928ea3410 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/d/0d12540036cf2e8dd658d318f0f111431c444483: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/d/0d12540036cf2e8dd658d318f0f111431c444483 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/0/e/0ecc4d194e0da6f344fec6b56b7ee9d964db151c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/0/e/0ecc4d194e0da6f344fec6b56b7ee9d964db151c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/1/0/105f240fec2e2a9d90077dffdbb2dc2e47546e6f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/1/0/105f240fec2e2a9d90077dffdbb2dc2e47546e6f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/1/1/1171b8676cdf9179dcd818b1dd94e9ec5b09211d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/1/1/1171b8676cdf9179dcd818b1dd94e9ec5b09211d -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/1/2/1264b0585ebc6b100bb485fffe863bdc08e75543: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/1/2/1264b0585ebc6b100bb485fffe863bdc08e75543 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/1/2/12ce9c4bf962f513e9c5e98333ea8d74846a5b34: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/1/2/12ce9c4bf962f513e9c5e98333ea8d74846a5b34 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/1/b/1b7e79b1fff6bc8ba322c8b52fab2d7cc1c071b9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/1/b/1b7e79b1fff6bc8ba322c8b52fab2d7cc1c071b9 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/1/d/1d99fc053be0ec595a647b0bc92de0274faa1839: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/1/d/1d99fc053be0ec595a647b0bc92de0274faa1839 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/2/22f5e8a0d4df188d139c2c4ea199f492e478dffd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/2/22f5e8a0d4df188d139c2c4ea199f492e478dffd -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/3/23319a86a03b91a71a5d99c9e634f9157f5b5401: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/3/23319a86a03b91a71a5d99c9e634f9157f5b5401 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/5/25c907079280be282bf7cfd880d35fbf70c1c09c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/5/25c907079280be282bf7cfd880d35fbf70c1c09c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/8/2857d6f1fadcd9a3f8d1206bbec9a38b479371b6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/8/2857d6f1fadcd9a3f8d1206bbec9a38b479371b6 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/9/29d6a1c1e9c8160e6fcbdc5d2f078d85d314c88a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/9/29d6a1c1e9c8160e6fcbdc5d2f078d85d314c88a -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/a/2ad02f03ba0f443b02a720f98d4654f5af384e22: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/a/2ad02f03ba0f443b02a720f98d4654f5af384e22 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/b/2b28b6e913e8a25ba494a0a1cfee40bb144469b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/b/2b28b6e913e8a25ba494a0a1cfee40bb144469b0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/d/2d276da931e665c39888a930501386f93c2fee34: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/d/2d276da931e665c39888a930501386f93c2fee34 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/e/2e52e065df0e9e5cd67a7ab045a920a147552d17: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/e/2e52e065df0e9e5cd67a7ab045a920a147552d17 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/f/2f66c2653799f7ac824b4d87f9d6c21157e3da37: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/f/2f66c2653799f7ac824b4d87f9d6c21157e3da37 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/2/f/2fcf56c807f1ade90e0bd0bb9afa807f1a41a0c1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/2/f/2fcf56c807f1ade90e0bd0bb9afa807f1a41a0c1 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/0/30ba333c3e5eec668961f6412e83a0bc6200aaf9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/0/30ba333c3e5eec668961f6412e83a0bc6200aaf9 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/2/3290921edd4fd114eb5b66afd6a3f579ad3d7a8a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/2/3290921edd4fd114eb5b66afd6a3f579ad3d7a8a -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/2/32e3583de31ab2d0de350f79b4284aac261f2171: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/2/32e3583de31ab2d0de350f79b4284aac261f2171 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/3/338485d6f6208eda28612600b83c3a2f2a0d7410: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/3/338485d6f6208eda28612600b83c3a2f2a0d7410 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/5/350098c2bb1beddb1614a442ee4dd60bcc9f2570: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/5/350098c2bb1beddb1614a442ee4dd60bcc9f2570 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/5/35278e39d7dcf52246d4cc4b2520d3f730fc9be9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/5/35278e39d7dcf52246d4cc4b2520d3f730fc9be9 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/6/362a6aed6ed953aa56d8282c22e024904e6f446e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/6/362a6aed6ed953aa56d8282c22e024904e6f446e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/7/37d572495d427c0c08682f5f61a31f83fcf521a0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/7/37d572495d427c0c08682f5f61a31f83fcf521a0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/8/382c2cf53a527aeb808f5d3b2a1c03da5454e787: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/8/382c2cf53a527aeb808f5d3b2a1c03da5454e787 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/9/39fd1babc5b993bd535381c74946363980991e83: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/9/39fd1babc5b993bd535381c74946363980991e83 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/b/3b3ca2b26f3434ec17e7a54dacc61cd343e7c4cb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/b/3b3ca2b26f3434ec17e7a54dacc61cd343e7c4cb -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/b/3bdb88e7ba41e62725fe5eed32e041a25ea8c8eb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/b/3bdb88e7ba41e62725fe5eed32e041a25ea8c8eb -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/d/3d5c8190298fb32fa00fd53169cb86d129d33c17: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/d/3d5c8190298fb32fa00fd53169cb86d129d33c17 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/d/3dba2d84c2bca9d36139d8e50f6b90fcc02a4b5d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/d/3dba2d84c2bca9d36139d8e50f6b90fcc02a4b5d -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/d/3dea506ebe426eb4c8a8fd28edbd527cdb39b351: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/d/3dea506ebe426eb4c8a8fd28edbd527cdb39b351 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/e/3e1e37ed7f9152cda244f2a57c9b28d924c6daf7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/e/3e1e37ed7f9152cda244f2a57c9b28d924c6daf7 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/3/e/3ea00bb20e5b490dd1beeb719be57cca4642635c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/3/e/3ea00bb20e5b490dd1beeb719be57cca4642635c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/0/40ebc6823f24f296c0cd3fddd6ccda69b74ff2e4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/0/40ebc6823f24f296c0cd3fddd6ccda69b74ff2e4 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/1/41a1911b5f41a2d6930dc657a61d80e09a7b6c6e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/1/41a1911b5f41a2d6930dc657a61d80e09a7b6c6e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/3/438d93158d95386d58a4635870ebd44d43da0fbd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/3/438d93158d95386d58a4635870ebd44d43da0fbd -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/4/442292b8a7efeabbe4cc176709b833b1792140ec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/4/442292b8a7efeabbe4cc176709b833b1792140ec -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/4/44bd2858b67a5bf163c37723d4b61eb7d23296e7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/4/44bd2858b67a5bf163c37723d4b61eb7d23296e7 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/b/4b7e74d0e43315f2585a1bd80ca5cf2cf3100aad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/b/4b7e74d0e43315f2585a1bd80ca5cf2cf3100aad -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/d/4db9191fdf229a4f5b09fe1e0601146df2c56b47: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/d/4db9191fdf229a4f5b09fe1e0601146df2c56b47 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/4/f/4fbe927ed567487fd147425d3d2246e3c1f36d55: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/4/f/4fbe927ed567487fd147425d3d2246e3c1f36d55 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/0/50fb5bacc7db6e55e6d69fc19e8db699eb568eaf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/0/50fb5bacc7db6e55e6d69fc19e8db699eb568eaf -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/4/54d92ab456bee996ea43bb411425fa80b4ce8503: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/4/54d92ab456bee996ea43bb411425fa80b4ce8503 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/5/555fa71e803d4bddbb2843f2863afea509b0a3c0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/5/555fa71e803d4bddbb2843f2863afea509b0a3c0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/9/59a76659236a58dfa2a340e62ca5d765a0f35238: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/9/59a76659236a58dfa2a340e62ca5d765a0f35238 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/b/5b377f754cb8b46d138a569d3cd08e7a4d71ef65: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/b/5b377f754cb8b46d138a569d3cd08e7a4d71ef65 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/b/5b543303db1fef7fb59dc845a5be4f4021cc172b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/b/5b543303db1fef7fb59dc845a5be4f4021cc172b -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/d/5d312d4705b64ceb640c3ce4223abee6326071ad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/d/5d312d4705b64ceb640c3ce4223abee6326071ad -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/f/5f358a5bac6615c06fc14296d79c42a2febed1ef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/f/5f358a5bac6615c06fc14296d79c42a2febed1ef -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/5/f/5f8f849d48ce487565132c4753810994618c402c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/5/f/5f8f849d48ce487565132c4753810994618c402c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/0/60e64ce391c266833611adb1c5dd15a27b42c0fa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/0/60e64ce391c266833611adb1c5dd15a27b42c0fa -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/3/63f960bfd54af816a824430bca026bb42804f01e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/3/63f960bfd54af816a824430bca026bb42804f01e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/a/6a09819e3385f581c0b041f2b3b10d59f9a17e00: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/a/6a09819e3385f581c0b041f2b3b10d59f9a17e00 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/c/6cfcc11c9054ec28e55c4d328f3466e5d3eceaa3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/c/6cfcc11c9054ec28e55c4d328f3466e5d3eceaa3 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/d/6d2b3fa336b721bc3b37b43f90f048b01dbf8b17: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/d/6d2b3fa336b721bc3b37b43f90f048b01dbf8b17 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/d/6d618f8d3990203a6ecbd8be05fd8883e71e8c6a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/d/6d618f8d3990203a6ecbd8be05fd8883e71e8c6a -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/d/6df64f6db03ece7525dc1119688d53b98ce115c3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/d/6df64f6db03ece7525dc1119688d53b98ce115c3 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/e/6ec5e2272d84419e8ab26d403bc32b45650cef8e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/e/6ec5e2272d84419e8ab26d403bc32b45650cef8e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/6/f/6f7126182d27f15df6cdae687c2623c2915a3c46: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/6/f/6f7126182d27f15df6cdae687c2623c2915a3c46 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/0/709714fb00f4b1468bd92bdafeb2d4f4b4b82ba9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/0/709714fb00f4b1468bd92bdafeb2d4f4b4b82ba9 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/0/70cc498c1575c22feb5ef18e5411d538754abb13: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/0/70cc498c1575c22feb5ef18e5411d538754abb13 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/2/7238ede84e959cf3387c1ea74c265789781e80c0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/2/7238ede84e959cf3387c1ea74c265789781e80c0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/2/72d842488b1170ccb9beabbe30c75f8590cc3ccd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/2/72d842488b1170ccb9beabbe30c75f8590cc3ccd -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/4/744e4277404a34aa097a94daf90cf5edc44eda80: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/4/744e4277404a34aa097a94daf90cf5edc44eda80 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/4/74dbb89a67f5273bcb2e14aaafd1662e97dc77bf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/4/74dbb89a67f5273bcb2e14aaafd1662e97dc77bf -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/6/76a0994256b6712a3fc1c69d31f429510d87f544: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/6/76a0994256b6712a3fc1c69d31f429510d87f544 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/6/76b5a734b91501fd3e41333149bbd5939607b919: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/6/76b5a734b91501fd3e41333149bbd5939607b919 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/7/7790676ab77515e44c061fbfe181cb61670a9421: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/7/7790676ab77515e44c061fbfe181cb61670a9421 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/7/77cf9c9a4e745d2ca63c7a0b19faae7e13e2ad42: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/7/77cf9c9a4e745d2ca63c7a0b19faae7e13e2ad42 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/9/79af5f7f4b6f0db677e574ad7fbe3660aff2a74c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/9/79af5f7f4b6f0db677e574ad7fbe3660aff2a74c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/b/7b87a1178f98b98b1d5ee2122d5227182a165d38: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/b/7b87a1178f98b98b1d5ee2122d5227182a165d38 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/7/c/7cbb3768a80655248338c547ed00a30d727f0638: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/7/c/7cbb3768a80655248338c547ed00a30d727f0638 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/4/840d36a61707cfcf2f8b8d5d2546bc515e2dc536: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/4/840d36a61707cfcf2f8b8d5d2546bc515e2dc536 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/5/85c3a901608a6b9adf48d245fa84828b66304e51: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/5/85c3a901608a6b9adf48d245fa84828b66304e51 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/7/873a0f49a6b64f60eba1e7dde594e62d7de1fb6f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/7/873a0f49a6b64f60eba1e7dde594e62d7de1fb6f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/9/89ad114bce745387f587178bae400e0480e1a239: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/9/89ad114bce745387f587178bae400e0480e1a239 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/9/89b9372b0754594cb9b0fc55f6f2ebf9b9b9514c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/9/89b9372b0754594cb9b0fc55f6f2ebf9b9b9514c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/b/8b406b2facd00a1f438d08e27afc99abbe9f16e0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/b/8b406b2facd00a1f438d08e27afc99abbe9f16e0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/d/8de246e3e02395e11e2a579882ea73cb138bffb6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/d/8de246e3e02395e11e2a579882ea73cb138bffb6 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/0/90ac08463ec4a4da45ee64e2de97d15b462e195e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/0/90ac08463ec4a4da45ee64e2de97d15b462e195e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/0/90af1fb499967b0db490f4d263d6d719b7736a2e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/0/90af1fb499967b0db490f4d263d6d719b7736a2e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/3/9344750fdec815e81b7923a17c983df50067e9ee: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/3/9344750fdec815e81b7923a17c983df50067e9ee -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/5/951a80074ec98db44294f81598ac14ac9d3128d5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/5/951a80074ec98db44294f81598ac14ac9d3128d5 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/b/9b6c733c9925d2191a7e11aaf3fdb7dc86e83e7c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/b/9b6c733c9925d2191a7e11aaf3fdb7dc86e83e7c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/b/9bdc849f8dbf1313e7f9c3ba9585143133865689: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/b/9bdc849f8dbf1313e7f9c3ba9585143133865689 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/c/9c8d3f105e9f81ec508ee39ff4d4035089608f5f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/c/9c8d3f105e9f81ec508ee39ff4d4035089608f5f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/c/9cbcdebcb5aa8605d70ab6daa8fff3f1aa38dca0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/c/9cbcdebcb5aa8605d70ab6daa8fff3f1aa38dca0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/d/9de07231b9f2f8405c47a93c8a3f6182f657ec9f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/d/9de07231b9f2f8405c47a93c8a3f6182f657ec9f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/9/e/9e8be854cf8f10b9e64b8b0d32cceec89fc26225: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/9/e/9e8be854cf8f10b9e64b8b0d32cceec89fc26225 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/0/a008aa95125a36706ecba616d279d663d5a7627f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/0/a008aa95125a36706ecba616d279d663d5a7627f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/2/a299125611ef234a29dab81b931cb4928ae45dc3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/2/a299125611ef234a29dab81b931cb4928ae45dc3 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/5/a513c6d6914afe7455c5d0476aba9c03aac61b0a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/5/a513c6d6914afe7455c5d0476aba9c03aac61b0a -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/5/a5f776bff9ac90a8b263e480f8ea4bc56f696b98: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/5/a5f776bff9ac90a8b263e480f8ea4bc56f696b98 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/6/a6a340a20fbfa10403eea29ecb7c498e2a2f8707: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/6/a6a340a20fbfa10403eea29ecb7c498e2a2f8707 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/7/a7874217f1c348b9629a3c271b75b00d3adca4ef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/7/a7874217f1c348b9629a3c271b75b00d3adca4ef -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/7/a7cb68c9a05b94b5eb6da4b9474e361596b502ad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/7/a7cb68c9a05b94b5eb6da4b9474e361596b502ad -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/9/a9459c173887ac3e992a9bd826b2b62f59d69d5d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/9/a9459c173887ac3e992a9bd826b2b62f59d69d5d -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/9/a95034e244663b2af27308091c9d68497cbe509c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/9/a95034e244663b2af27308091c9d68497cbe509c -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/9/a959a8a1681738852c010652a8a67dfd581a42cb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/9/a959a8a1681738852c010652a8a67dfd581a42cb -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/b/ab498b39f0ec70c5644d32f6acfcff99aadb9ffb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/b/ab498b39f0ec70c5644d32f6acfcff99aadb9ffb -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/b/abf24c88b942dc706f5443fff14209b12fbbf661: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/b/abf24c88b942dc706f5443fff14209b12fbbf661 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/c/ac618e9394f83800ffc24f65f2aea4143e5b85f5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/c/ac618e9394f83800ffc24f65f2aea4143e5b85f5 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/c/ac6c8994151a493c0068d2b8eef3ce44676d4164: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/c/ac6c8994151a493c0068d2b8eef3ce44676d4164 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/a/d/adcaa1f4ce19a77cd85964f36dfdbf5254341713: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/a/d/adcaa1f4ce19a77cd85964f36dfdbf5254341713 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/0/b0ac8ba4a6ee7e89f4880b7283edea7548976dd7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/0/b0ac8ba4a6ee7e89f4880b7283edea7548976dd7 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/3/b32d4c148c987cd395210e5b368a1083f05df426: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/3/b32d4c148c987cd395210e5b368a1083f05df426 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/4/b42d98b461727b334882e2fa2ec56b0c9d15263b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/4/b42d98b461727b334882e2fa2ec56b0c9d15263b -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/5/b57a433f023583231f2cd006310805be31861978: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/5/b57a433f023583231f2cd006310805be31861978 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/6/b654e6d8d903e5b4c3e8c00f77e34c12d4759ca0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/6/b654e6d8d903e5b4c3e8c00f77e34c12d4759ca0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/6/b6e183d980cae55c7be799b3edd51bfa753ebec4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/6/b6e183d980cae55c7be799b3edd51bfa753ebec4 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/7/b715d32f676e19c588baf4baaf10e32bda9b7a42: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/7/b715d32f676e19c588baf4baaf10e32bda9b7a42 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/8/b83533e013fdc333596b6c124946f996491b5a41: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/8/b83533e013fdc333596b6c124946f996491b5a41 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/8/b871a98cf8c4cb0dbb1086b32e180681e1b94c07: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/8/b871a98cf8c4cb0dbb1086b32e180681e1b94c07 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/b/bbaac2b27c461ef127b740cd79a19b8716f6c3e9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/b/bbaac2b27c461ef127b740cd79a19b8716f6c3e9 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/b/bbe18e7a1949378f59109c2a22c2ae18e3ddcc2f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/b/bbe18e7a1949378f59109c2a22c2ae18e3ddcc2f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/b/bbf6d583f30a6ddf9dd48c58cd1eda97219fb62f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/b/bbf6d583f30a6ddf9dd48c58cd1eda97219fb62f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/d/bd61f902b462330009c66574b4fce05c00550e09: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/d/bd61f902b462330009c66574b4fce05c00550e09 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/d/bd96bd2f853113d4a6d10b6aec3ea5a50ac3d2d8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/d/bd96bd2f853113d4a6d10b6aec3ea5a50ac3d2d8 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/b/e/bee25a4d0f40c215a3a63d590815e086c75b6e0e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/b/e/bee25a4d0f40c215a3a63d590815e086c75b6e0e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/0/c00a49aed1bb945e2393fc2ac5aecfb46afe7b16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/0/c00a49aed1bb945e2393fc2ac5aecfb46afe7b16 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/0/c042c371701dcf852a25e722fe77c45573ca01ba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/0/c042c371701dcf852a25e722fe77c45573ca01ba -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/3/c391c48371d3259f870f6bdd42ad49c57c08296f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/3/c391c48371d3259f870f6bdd42ad49c57c08296f -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/4/c463bcb5608c0e8fb489db403272f68032cad219: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/4/c463bcb5608c0e8fb489db403272f68032cad219 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/5/c569a847d823d49b1bd75bace2eeb2738c04b8d7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/5/c569a847d823d49b1bd75bace2eeb2738c04b8d7 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/6/c6aabcc033728f493460473f95b9bb322d756bfd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/6/c6aabcc033728f493460473f95b9bb322d756bfd -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/7/c709f6995f23dae0da365bff70068f8288fa89e0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/7/c709f6995f23dae0da365bff70068f8288fa89e0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/7/c73821e5a2b3db31d773ed2d963c47ba41512862: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/7/c73821e5a2b3db31d773ed2d963c47ba41512862 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/7/c77b3061cdc7382cb831ac6315a3f5afde6e1deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/7/c77b3061cdc7382cb831ac6315a3f5afde6e1deb -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/8/c8c1a0a342d383bea043338dcaabd11203875b0e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/8/c8c1a0a342d383bea043338dcaabd11203875b0e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/9/c9063d91c4079cfab92ad8fc13e50aebbe40496b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/9/c9063d91c4079cfab92ad8fc13e50aebbe40496b -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/a/cadcae20a86505e904a56afd21f32949107c7974: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/a/cadcae20a86505e904a56afd21f32949107c7974 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/b/cb1e6c866d3a0d134a1139de88b8ec31fe7ec75a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/b/cb1e6c866d3a0d134a1139de88b8ec31fe7ec75a -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/b/cbb44695ea596406ec390f4643b8d983b9817f18: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/b/cbb44695ea596406ec390f4643b8d983b9817f18 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/c/cc01586e59039192bb70667a5a898ec21b0a4314: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/c/cc01586e59039192bb70667a5a898ec21b0a4314 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/d/cd5fc6e8b8166598a5d4e20011238f626ad1e7d3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/d/cd5fc6e8b8166598a5d4e20011238f626ad1e7d3 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/f/cf3363b88a0a06c65f94ef5981e2703c8380b90d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/f/cf3363b88a0a06c65f94ef5981e2703c8380b90d -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/c/f/cf5656ed858703b72efa28c0b0b4dd35397f1ae9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/c/f/cf5656ed858703b72efa28c0b0b4dd35397f1ae9 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/0/d062f2765a7d3f3b68ccd265c0e08dd0d9329413: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/0/d062f2765a7d3f3b68ccd265c0e08dd0d9329413 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/2/d2297cad0c7d26a2b581df1c8a1225d08dc82471: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/2/d2297cad0c7d26a2b581df1c8a1225d08dc82471 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/3/d3b8fe65e5470276e66d739aa059475745fc9df1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/3/d3b8fe65e5470276e66d739aa059475745fc9df1 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/5/d544c8bc9b62a13a6a307bfebd352145ec5fd71a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/5/d544c8bc9b62a13a6a307bfebd352145ec5fd71a -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/6/d6cd55df64e19c7b9ec55ca31f17369817abca1b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/6/d6cd55df64e19c7b9ec55ca31f17369817abca1b -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/9/d991c408583ffa6588260d088c73e95ebb981deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/9/d991c408583ffa6588260d088c73e95ebb981deb -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/a/da1126169322f406e266f1ed995e4ba424e50ec4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/a/da1126169322f406e266f1ed995e4ba424e50ec4 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/a/da1c68a65a6ae9eec53d20dd345d62f2e05841d1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/a/da1c68a65a6ae9eec53d20dd345d62f2e05841d1 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/a/da3cd3108cd604efe6b86eaeee122b726bceff4e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/a/da3cd3108cd604efe6b86eaeee122b726bceff4e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/a/da96554a980e5ec876d6086a9860c79028a32b01: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/a/da96554a980e5ec876d6086a9860c79028a32b01 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/d/b/db5bb4f447b86022fee9ade879549e0d98e79ed1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/d/b/db5bb4f447b86022fee9ade879549e0d98e79ed1 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/e/5/e515902ee3c4be770d5ab9801088f792be783b14: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/e/5/e515902ee3c4be770d5ab9801088f792be783b14 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/e/5/e5aa829ab6e23c2f2b366936cf92acd14473258e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/e/5/e5aa829ab6e23c2f2b366936cf92acd14473258e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/e/6/e6b09ee0041b8a582561ff48bad1d2d57f6023a6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/e/6/e6b09ee0041b8a582561ff48bad1d2d57f6023a6 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/e/a/ea342d657dc75ea8b7164c6efa648bbe566194a2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/e/a/ea342d657dc75ea8b7164c6efa648bbe566194a2 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/e/b/eb95659615897a87626e900664aa8f9253fb3a4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/e/b/eb95659615897a87626e900664aa8f9253fb3a4a -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/1/f130ad0d1d16d0d70ec30d355f736ae3784b05cf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/1/f130ad0d1d16d0d70ec30d355f736ae3784b05cf -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/3/f326e65357d24a10a4ae5770f460b61ad395c088: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/3/f326e65357d24a10a4ae5770f460b61ad395c088 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/3/f329e31516e670d20ecbccc53bfeef4057051dea: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/3/f329e31516e670d20ecbccc53bfeef4057051dea -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/4/f4f36add4cf7c46cece5debbb25fad8d916b8928: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/4/f4f36add4cf7c46cece5debbb25fad8d916b8928 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/4/f4fecc62e50bed2e55e68aa01b90e2e30298a397: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/4/f4fecc62e50bed2e55e68aa01b90e2e30298a397 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/6/f680c9db7e011fd809d52efaad9d2219e0ff2a8e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/6/f680c9db7e011fd809d52efaad9d2219e0ff2a8e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/a/fa10eab994085b5bdc13db73582715dc142cf64e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/a/fa10eab994085b5bdc13db73582715dc142cf64e -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/b/fbfa09aee8afad4e67e1ef6dad6c38f5c939d3a6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/b/fbfa09aee8afad4e67e1ef6dad6c38f5c939d3a6 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/c/fc63a94de2ea925a81513df12f209a8d3296f0b0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/c/fc63a94de2ea925a81513df12f209a8d3296f0b0 -------------------------------------------------------------------------------- /.idea/sonarlint/securityhotspotstore/f/c/fccef24c659a1107b963f18bb9d53a329d0ad319: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/.idea/sonarlint/securityhotspotstore/f/c/fccef24c659a1107b963f18bb9d53a329d0ad319 -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 vishal mysore 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /accident.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/accident.png -------------------------------------------------------------------------------- /auto.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/auto.PNG -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | # Maven 2 | # Build your Java project and run tests with Apache Maven. 3 | # Add steps that analyze code, save build artifacts, deploy, and more: 4 | # https://docs.microsoft.com/azure/devops/pipelines/languages/java 5 | 6 | trigger: 7 | - main 8 | 9 | pool: 10 | vmImage: ubuntu-latest 11 | 12 | steps: 13 | - task: Maven@3 14 | inputs: 15 | mavenPomFile: 'pom.xml' 16 | mavenOptions: '-Xmx3072m' 17 | javaHomeOption: 'JDKVersion' 18 | jdkVersionOption: '1.8' 19 | jdkArchitectureOption: 'x64' 20 | publishJUnitResults: true 21 | testResultsFiles: '**/surefire-reports/TEST-*.xml' 22 | goals: 'package' 23 | -------------------------------------------------------------------------------- /compiler.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/compiler.PNG -------------------------------------------------------------------------------- /restapi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/restapi.png -------------------------------------------------------------------------------- /screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/screen.png -------------------------------------------------------------------------------- /src/main/java/com/t4a/action/BlankAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.action; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.api.JavaMethodAction; 5 | 6 | /** 7 | * This Action can be used when you want the AI to get back with answer and if you do not have any 8 | * specific action to be performed. For example 9 | * "Hey can you provide weather for tornto and get back with places to see?" 10 | * 11 | * In this case the first action is WeatherAction with method called getTemperature and the second action 12 | * could be blank action as you want it to answer the question. 13 | * 14 | */ 15 | 16 | public final class BlankAction implements JavaMethodAction { 17 | @Action 18 | public String askAdditionalQuestion(String additionalQuestion) { 19 | if (additionalQuestion == null) { 20 | return null; 21 | } 22 | if (additionalQuestion.isEmpty()) { 23 | return ""; 24 | } 25 | return "provide answer for this query : " + additionalQuestion; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/action/ExtendedInputParameter.java: -------------------------------------------------------------------------------- 1 | package com.t4a.action; 2 | 3 | import lombok.*; 4 | 5 | @RequiredArgsConstructor 6 | @AllArgsConstructor 7 | @Setter 8 | @Getter 9 | public class ExtendedInputParameter { 10 | @NonNull 11 | private String name; 12 | @NonNull 13 | private String type; 14 | private String defaultValueStr; 15 | private boolean hasDefaultValue; 16 | 17 | public boolean hasDefaultValue(){ 18 | return hasDefaultValue; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/action/http/HttpMethod.java: -------------------------------------------------------------------------------- 1 | package com.t4a.action.http; 2 | 3 | public enum HttpMethod { 4 | GET, 5 | POST, 6 | PUT, 7 | DELETE, 8 | PATCH, 9 | HEAD, OPTIONS, TRACE, CONNECT 10 | // Add other HTTP methods as needed 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/action/http/InputParameter.java: -------------------------------------------------------------------------------- 1 | package com.t4a.action.http; 2 | 3 | import lombok.*; 4 | 5 | /** 6 | * Maps to Input parameter in the config file, this is the input which will be sent to HTTP request 7 | */ 8 | @Setter 9 | @Getter 10 | @AllArgsConstructor 11 | @ToString 12 | @NoArgsConstructor 13 | public class InputParameter { 14 | /** 15 | * Name of the input will be used as is in the request for http 16 | */ 17 | private String name; 18 | /** 19 | * can be either path_parameter, query_parameter or body 20 | */ 21 | private String type; 22 | private String description; 23 | private String defaultValue; 24 | private ParamLocation location; 25 | 26 | 27 | public InputParameter(String name, String type, String description) { 28 | this.name = name; 29 | this.type = type; 30 | this.description = description; 31 | } 32 | 33 | public boolean hasDefaultValue() { 34 | return defaultValue!= null; 35 | } 36 | 37 | 38 | } -------------------------------------------------------------------------------- /src/main/java/com/t4a/action/http/ParamLocation.java: -------------------------------------------------------------------------------- 1 | package com.t4a.action.http; 2 | 3 | public enum ParamLocation { 4 | PATH,QUERY 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/annotations/Action.java: -------------------------------------------------------------------------------- 1 | package com.t4a.annotations; 2 | 3 | import com.t4a.api.ActionRisk; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * This annotation is used to mark the method as an action which can be called by AI 12 | */ 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target(ElementType.METHOD) 15 | public @interface Action { 16 | String description() default ""; 17 | ActionRisk riskLevel() default ActionRisk.LOW; 18 | 19 | 20 | } -------------------------------------------------------------------------------- /src/main/java/com/t4a/annotations/ActivateLoader.java: -------------------------------------------------------------------------------- 1 | package com.t4a.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * use this annotation to mark the loader as active 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.TYPE) 13 | public @interface ActivateLoader { 14 | // You can include attributes in the annotation if needed 15 | } 16 | 17 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/annotations/Agent.java: -------------------------------------------------------------------------------- 1 | package com.t4a.annotations; 2 | 3 | import com.t4a.api.ToolsConstants; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | 11 | /** 12 | * This annotation is used to mark the class as a Agent group 13 | */ 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.TYPE) 16 | public @interface Agent { 17 | String groupName() default ToolsConstants.GROUP_NAME; 18 | String groupDescription() default ToolsConstants.GROUP_DESCRIPTION; 19 | } -------------------------------------------------------------------------------- /src/main/java/com/t4a/annotations/ListType.java: -------------------------------------------------------------------------------- 1 | package com.t4a.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target({ElementType.FIELD, ElementType.PARAMETER}) 10 | public @interface ListType { 11 | Class value(); 12 | } -------------------------------------------------------------------------------- /src/main/java/com/t4a/annotations/MapKeyType.java: -------------------------------------------------------------------------------- 1 | package com.t4a.annotations; 2 | import java.lang.annotation.ElementType; 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import java.lang.annotation.Target; 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @Target({ElementType.FIELD, ElementType.PARAMETER}) 9 | public @interface MapKeyType { 10 | Class value(); 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/annotations/MapValueType.java: -------------------------------------------------------------------------------- 1 | package com.t4a.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target({ElementType.FIELD, ElementType.PARAMETER}) 10 | public @interface MapValueType { 11 | Class value(); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/annotations/Prompt.java: -------------------------------------------------------------------------------- 1 | package com.t4a.annotations; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Retention(RetentionPolicy.RUNTIME) 6 | @Target({ElementType.FIELD, ElementType.PARAMETER}) 7 | public @interface Prompt { 8 | String describe() default ""; // Optional field for describing the field 9 | String dateFormat() default ""; // Optional field for specifying the format 10 | boolean ignore() default false; // Optional field to indicate if the field/parameter should be ignored 11 | } -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/AIActionExecutor.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * Marker interface for executors 5 | */ 6 | public interface AIActionExecutor { 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/AIPlatform.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * Multi Cloud AI platform 5 | */ 6 | public enum AIPlatform { 7 | GEMINI, 8 | OPENAI, 9 | LOCALAI, 10 | ANTHROPIC 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/ActionRisk.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * Action Risk , all medium risk aciton will need one human verification, high will need two 5 | */ 6 | public enum ActionRisk { 7 | LOW, MEDIUM, HIGH 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/ActionType.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * All Types of actions implemented so far 5 | */ 6 | public enum ActionType { 7 | JAVACLASS, 8 | JAVAMETHOD, 9 | GENERICJAVAMETHOD, 10 | HTTP, 11 | 12 | HALLUCINATION, 13 | BIAS, 14 | FACT, 15 | FILE,SHELL, 16 | EXTEND 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/DefaultMethodFinder.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | 4 | import com.t4a.processor.AIProcessingException; 5 | 6 | import java.lang.reflect.Method; 7 | 8 | public class DefaultMethodFinder implements MethodFinder { 9 | @Override 10 | public Method findMethod(Class clazz, String methodName) throws AIProcessingException { 11 | for (Method method : clazz.getMethods()) { 12 | if (method.getName().equals(methodName)) { 13 | return method; 14 | } 15 | } 16 | throw new AIProcessingException(methodName + " method not found in class " + clazz.getName()); 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/DetectorAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | import com.t4a.detect.DetectValues; 4 | import com.t4a.detect.DetectValueRes; 5 | import com.t4a.processor.AIProcessingException; 6 | 7 | /** 8 | * Base class for AI Hallucination and Bias detection 9 | */ 10 | public interface DetectorAction extends AIAction{ 11 | @Override 12 | default String getActionName() { 13 | return "execute"; 14 | } 15 | 16 | public DetectValueRes execute(DetectValues dd) throws GuardRailException, AIProcessingException; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/GeminiGuardRails.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * Uses Gemini to check the user prompts 5 | */ 6 | public class GeminiGuardRails implements GuardRails{ 7 | String validateOffensive = "Does this sentence contain anything offensive - "; 8 | String validatePII; 9 | 10 | 11 | public GeminiGuardRails() { 12 | } 13 | 14 | @Override 15 | public boolean validateResponse(String response) throws GuardRailException { 16 | return false; 17 | } 18 | 19 | @Override 20 | public boolean validateRequest(String prompt) throws GuardRailException { 21 | return false; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/GroupInfo.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | 8 | import java.util.Objects; 9 | 10 | @Setter 11 | @Getter 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class GroupInfo { 15 | private String groupName; 16 | private String groupDescription; 17 | 18 | @Override 19 | public boolean equals(Object o) { 20 | if (this == o) return true; 21 | if (o == null || getClass() != o.getClass()) return false; 22 | GroupInfo groupInfo = (GroupInfo) o; 23 | return Objects.equals(groupName, groupInfo.groupName); 24 | } 25 | 26 | @Override 27 | public int hashCode() { 28 | return Objects.hash(groupName); 29 | } 30 | 31 | @Override 32 | public String toString() { 33 | return "GroupInfo{" + 34 | "groupName='" + groupName + '\'' + 35 | ", groupDescription='" + groupDescription + '\'' + 36 | '}'; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/GuardRailException.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * If guard rails are broken 5 | */ 6 | public class GuardRailException extends Exception{ 7 | public GuardRailException(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/GuardRails.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * Interface for checking guard rails 5 | */ 6 | public interface GuardRails { 7 | public boolean validateResponse(String response) throws GuardRailException; 8 | public boolean validateRequest(String prompt) throws GuardRailException; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/MethodFinder.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | import com.t4a.processor.AIProcessingException; 4 | 5 | import java.lang.reflect.Method; 6 | 7 | public interface MethodFinder { 8 | Method findMethod(Class clazz, String methodName) throws AIProcessingException; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/MimeType.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | public enum MimeType { 4 | JPEG("image/jpeg"), 5 | PNG("image/png"), 6 | GIF("image/gif"), 7 | HTML("text/html"), 8 | TEXT("text/plain"), 9 | PDF("application/pdf"), 10 | MS_WORD("application/msword"), 11 | OPEN_DOCUMENT_TEXT("application/vnd.oasis.opendocument.text"); 12 | 13 | private final String mimeType; 14 | 15 | MimeType(String mimeType) { 16 | this.mimeType = mimeType; 17 | } 18 | 19 | public String getMimeType() { 20 | return mimeType; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/PredictedAIAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | /** 4 | * Just a marker interface to denote that the implementing classes will be predicted by default. 5 | * They will be added to the prediction list 6 | */ 7 | public interface PredictedAIAction extends AIAction{ 8 | @Override 9 | public default String getActionParameters() { 10 | return ""; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/api/ToolsConstants.java: -------------------------------------------------------------------------------- 1 | package com.t4a.api; 2 | 3 | public class ToolsConstants { 4 | public static final String BLANK_ACTION = "BlankAction"; 5 | public static final String SELENIUM_ACTION = "SeleniumAction"; 6 | public static final String AI_PROCESSOR = "AIProcessor"; 7 | public static final String PREDICT = "Agent"; 8 | public static final String GROUP_NAME = "No Group"; 9 | public static final String GROUP_DESCRIPTION = "tasks which are not categorized"; 10 | 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/ActionCallback.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | public interface ActionCallback { 4 | void setContext(Object obj); 5 | Object getContext(); 6 | String getType(); 7 | String setType(String type); 8 | void sendtStatus(String status,ActionState state); 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/ActionState.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | import com.fasterxml.jackson.annotation.JsonCreator; 4 | import com.fasterxml.jackson.annotation.JsonValue; 5 | import com.github.dockerjava.api.model.TaskState; 6 | 7 | public enum ActionState { 8 | SUBMITTED("submitted"), 9 | WORKING("working"), 10 | INPUT_REQUIRED("input-required"), 11 | COMPLETED("completed"), 12 | CANCELED("canceled"), 13 | FAILED("failed"), 14 | UNKNOWN("unknown"); 15 | 16 | private final String value; 17 | 18 | ActionState(String value) { 19 | this.value = value; 20 | } 21 | 22 | 23 | public String getValue() { 24 | return value; 25 | } 26 | 27 | public static ActionState forValue(String value) { 28 | for (ActionState state : values()) { 29 | if (state.value.equals(value)) { 30 | return state; 31 | } 32 | } 33 | return UNKNOWN; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/BiasDetector.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | import com.t4a.api.ActionType; 4 | import com.t4a.api.DetectorAction; 5 | import com.t4a.api.GuardRailException; 6 | 7 | /** 8 | * Detect Bias in response using Zero-shot classification 9 | * To detect bias, look for unequal treatment in outputs, analyze the data source, 10 | * and challenge the AI's assumptions with follow-up questions. 11 | */ 12 | public class BiasDetector implements DetectorAction { 13 | @Override 14 | public ActionType getActionType() { 15 | return ActionType.BIAS; 16 | } 17 | 18 | @Override 19 | public String getDescription() { 20 | return "Detect Bias in response"; 21 | } 22 | 23 | @Override 24 | public DetectValueRes execute(DetectValues dd) throws GuardRailException { 25 | return null; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/DetectValueRes.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | 8 | import java.util.List; 9 | 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | @Getter 13 | @Setter 14 | public class DetectValueRes { 15 | private List hallucinationList; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/DetectValues.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | import lombok.*; 4 | 5 | @NoArgsConstructor 6 | @AllArgsConstructor 7 | @Getter 8 | @Setter 9 | @EqualsAndHashCode 10 | @ToString 11 | public class DetectValues { 12 | private String prompt; 13 | private String context; 14 | private String response; 15 | private String additionalData; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/ExplainDecision.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | /** 3 | * The {@code ExplainDecision} interface represents a mechanism for AI to explain decisions 4 | * regarding a particular prompt text, method name, and reason. AI will call this back 5 | *

6 | * This interface defines a method {@link #explain(String, String, String)} that can be used 7 | * to provide an explanation by AI to a human regarding a decision made based on a prompt text, 8 | * method name, and reason. 9 | *

10 | */ 11 | public interface ExplainDecision { 12 | public String explain(String promptText, String methodName, String reason) ; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/FactDetector.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | import com.t4a.api.ActionType; 4 | import com.t4a.api.DetectorAction; 5 | import com.t4a.api.GuardRailException; 6 | 7 | public class FactDetector implements DetectorAction { 8 | @Override 9 | public ActionType getActionType() { 10 | return ActionType.FACT; 11 | } 12 | 13 | @Override 14 | public String getDescription() { 15 | return "Fact Check in response"; 16 | } 17 | 18 | @Override 19 | public DetectValueRes execute(DetectValues dd) throws GuardRailException { 20 | return null; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/FeedbackLoop.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | public interface FeedbackLoop { 4 | boolean isAIResponseValid(); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/HallucinationDetectorType.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | public enum HallucinationDetectorType { 4 | GOOGLE, 5 | SELF 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/HallucinationQA.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | @Getter 11 | @Setter 12 | public class HallucinationQA { 13 | private String question; 14 | private String answer; 15 | private String context; 16 | private String truthPercentage; 17 | 18 | 19 | public double calculateTruthPercent() { 20 | String numberString = truthPercentage.replaceAll("[^\\d.]", ""); 21 | double doublePer = Double.parseDouble(numberString); 22 | return doublePer; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/detect/HumanInLoop.java: -------------------------------------------------------------------------------- 1 | package com.t4a.detect; 2 | 3 | import java.util.Map; 4 | 5 | /** 6 | * The {@code HumanInLoop} interface represents a mechanism for allowing human involvement 7 | * in a feedback loop process. 8 | *

9 | * This interface defines a method {@link #allow(String, String, Map)} that can be used 10 | * to request human input for a given prompt text and method name with optional parameters. 11 | *

12 | */ 13 | public interface HumanInLoop { 14 | public FeedbackLoop allow(String promptText, String methodName, Map params) ; 15 | public FeedbackLoop allow(String promptText, String methodName, String params) ; 16 | 17 | default void setCallback(ActionCallback callback) { 18 | 19 | } 20 | default ActionCallback getCallback() { 21 | return null; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/predict/ConfigManager.java: -------------------------------------------------------------------------------- 1 | package com.t4a.predict; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | 5 | import java.io.IOException; 6 | import java.io.InputStream; 7 | import java.util.Properties; 8 | 9 | @Slf4j 10 | public class ConfigManager { 11 | private Properties properties; 12 | 13 | public ConfigManager() { 14 | loadProperties("prompt.properties"); 15 | } 16 | 17 | private void loadProperties(String fileName) { 18 | properties = new Properties(); 19 | try (InputStream inputStream = PredictionLoader.class.getClassLoader().getResourceAsStream(fileName)) { 20 | if (inputStream != null) { 21 | properties.load(inputStream); 22 | } else { 23 | log.warn(fileName + " properties not found will use default values"); 24 | } 25 | } catch (IOException e) { 26 | log.warn("Failed to load properties: " + e.getMessage()); 27 | } 28 | } 29 | 30 | public String getProperty(String key, String defaultValue) { 31 | return properties.getProperty(key, defaultValue); 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/predict/ExtendedPredictionLoader.java: -------------------------------------------------------------------------------- 1 | package com.t4a.predict; 2 | 3 | import com.t4a.action.ExtendedPredictedAction; 4 | 5 | import java.util.Map; 6 | 7 | public interface ExtendedPredictionLoader { 8 | public Map getExtendedActions() throws LoaderException; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/predict/LoaderException.java: -------------------------------------------------------------------------------- 1 | package com.t4a.predict; 2 | 3 | /** 4 | * LoaderException is a custom exception class that extends Exception. Its thrown when a config file 5 | * is not being parsed correctly. 6 | 7 | */ 8 | public class LoaderException extends Exception { 9 | public LoaderException() { 10 | } 11 | 12 | public LoaderException(String message) { 13 | super(message); 14 | } 15 | 16 | public LoaderException(String message, Throwable cause) { 17 | super(message, cause); 18 | } 19 | 20 | public LoaderException(Throwable cause) { 21 | super(cause); 22 | } 23 | 24 | public LoaderException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { 25 | super(message, cause, enableSuppression, writableStackTrace); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/AIProcessingException.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor; 2 | 3 | public class AIProcessingException extends Exception { 4 | public AIProcessingException(Exception e){ 5 | super(e); 6 | } 7 | public AIProcessingException(String e) { 8 | super(e); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/LogginggExplainDecision.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor; 2 | 3 | import com.t4a.detect.ExplainDecision; 4 | import lombok.extern.slf4j.Slf4j; 5 | 6 | @Slf4j 7 | public class LogginggExplainDecision implements ExplainDecision { 8 | @Override 9 | public String explain(String promptText, String methodName, String reason) { 10 | log.debug("promptText {} , reason {} ",promptText, reason); 11 | return reason; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/chain/Prompt.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.chain; 2 | 3 | import java.util.List; 4 | 5 | public class Prompt { 6 | private List prmpt; 7 | 8 | public List getPrmpt() { 9 | return prmpt; 10 | } 11 | 12 | public void setPrmpt(List prmpt) { 13 | this.prmpt = prmpt; 14 | } 15 | 16 | @Override 17 | public String toString() { 18 | return "Prompt{" + 19 | "prmpt=" + prmpt + 20 | '}'; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/scripts/BaseScriptProcessor.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.scripts; 2 | 3 | public interface BaseScriptProcessor { 4 | 5 | public ScriptResult process(String fileName); 6 | 7 | public ScriptResult process(String fileName, ScriptCallback callback); 8 | 9 | default void processWebAction(String line,SeleniumCallback callback,int retryCount){}; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/scripts/LoggingSeleniumCallback.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.scripts; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.openqa.selenium.WebDriver; 5 | 6 | @Slf4j 7 | public class LoggingSeleniumCallback implements SeleniumCallback{ 8 | @Override 9 | public boolean beforeWebAction(String lineToBeProcessed,WebDriver driver) { 10 | log.info("Before Web Action: " + driver.getCurrentUrl()); 11 | return true; // Return true to continue processing the line 12 | } 13 | 14 | @Override 15 | public void afterWebAction(String lineProcssed,WebDriver driver) { 16 | log.info("After Web Action: " + driver.getCurrentUrl()); 17 | } 18 | 19 | @Override 20 | public String handleError(String line, String errorMessage, WebDriver driver, int retryCount) { 21 | log.info("Error during web action: " + errorMessage); 22 | return null; 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/scripts/ScriptCallback.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.scripts; 2 | 3 | public interface ScriptCallback { 4 | public String lineResult(String result); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/scripts/ScriptLineResult.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.scripts; 2 | 3 | 4 | import lombok.*; 5 | 6 | @Getter 7 | @Setter 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | @ToString 11 | public class ScriptLineResult { 12 | private String line; 13 | private String result; 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/scripts/ScriptResult.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.scripts; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | @Setter 10 | @Getter 11 | public class ScriptResult { 12 | private List results; 13 | public ScriptResult() { 14 | results = new ArrayList<>(); 15 | } 16 | 17 | public void addResult(ScriptLineResult result) { 18 | results.add(result); 19 | } 20 | 21 | public void addResult(String line, String resultStr) { 22 | ScriptLineResult result = new ScriptLineResult(line,resultStr); 23 | results.add(result); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/scripts/SeleniumCallback.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.scripts; 2 | 3 | import org.openqa.selenium.WebDriver; 4 | 5 | public interface SeleniumCallback { 6 | boolean beforeWebAction(String lineToBeProcessed, WebDriver driver); 7 | void afterWebAction(String lineProcessed,WebDriver driver); 8 | 9 | String handleError(String line, String errorMessage, WebDriver driver, int retryCount); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/selenium/DriverActions.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.selenium; 2 | 3 | import com.t4a.annotations.Prompt; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | import lombok.ToString; 8 | 9 | @Setter 10 | @Getter 11 | @NoArgsConstructor 12 | @ToString 13 | public class DriverActions { 14 | @Prompt(describe = "What method should i invoke on org.openqa.selenium.WebDriver " + 15 | "{navigate, get," + 16 | "click, " + 17 | "takescreenshot, sendKeys,clear,submit,getText," + 18 | "isDisplayed,isEnabled," + 19 | "isSelected,getAttribute,switchTo,selectByVisibleText," + 20 | "selectByValue,selectByIndex" + 21 | "}" + 22 | "") 23 | String typeOfActionToTakeOnWebDriver; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/selenium/SeleniumAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.selenium; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import lombok.Getter; 6 | import lombok.Setter; 7 | import lombok.extern.java.Log; 8 | 9 | @Log 10 | @Setter 11 | @Getter 12 | @Agent(groupName = "Selenium", groupDescription = "Selenium actions") 13 | public class SeleniumAction { 14 | 15 | @Action(description = "Perform action on web page") 16 | public DriverActions webPageAction(DriverActions webDriverActions) { 17 | if (webDriverActions == null) { 18 | return null; 19 | } 20 | DriverActions copy = new DriverActions(); 21 | copy.setTypeOfActionToTakeOnWebDriver(webDriverActions.getTypeOfActionToTakeOnWebDriver()); 22 | return copy; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/selenium/URLSafety.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.selenium; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Getter 7 | @Setter 8 | public class URLSafety { 9 | private boolean isThisURLSafe; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/selenium/WebDriverAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.selenium; 2 | 3 | public enum WebDriverAction { 4 | GET, 5 | FINDELEMENT, 6 | FINDELEMENTS, 7 | CLICK, 8 | SENDKEYS, 9 | CLEAR, 10 | SUBMIT, 11 | GETTEXT, 12 | ISDISPLAYED, 13 | ISENABLED, 14 | ISSELECTED, 15 | GETATTRIBUTE, 16 | SWITCHTO, 17 | SELECTBYVISIBLETEXT, 18 | SELECTBYVALUE, 19 | SELECTBYINDEX, 20 | NAVIGATE, 21 | TAKESCREENSHOT; 22 | 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/spring/SpringAnthropicProcessor.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.spring; 2 | 3 | import com.t4a.predict.PredictionLoader; 4 | import com.t4a.processor.AnthropicActionProcessor; 5 | import org.springframework.context.ApplicationContext; 6 | 7 | public class SpringAnthropicProcessor extends AnthropicActionProcessor { 8 | public SpringAnthropicProcessor(ApplicationContext context) { 9 | PredictionLoader.getInstance(context); 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/spring/SpringGeminiProcessor.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.spring; 2 | 3 | import com.t4a.predict.PredictionLoader; 4 | import com.t4a.processor.GeminiV2ActionProcessor; 5 | import org.springframework.context.ApplicationContext; 6 | 7 | /** 8 | * This will ensure that the action classes are loaded from Spring Applicaiton Context rather than 9 | * creating the new one , the advantage of that is we can maintain spring dependency injection for all the beans 10 | * Uses Gemini for processing 11 | */ 12 | public class SpringGeminiProcessor extends GeminiV2ActionProcessor { 13 | 14 | public SpringGeminiProcessor(ApplicationContext context) { 15 | PredictionLoader.getInstance(context); 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/t4a/processor/spring/SpringOpenAIProcessor.java: -------------------------------------------------------------------------------- 1 | package com.t4a.processor.spring; 2 | 3 | import com.t4a.predict.PredictionLoader; 4 | import com.t4a.processor.OpenAiActionProcessor; 5 | import org.springframework.context.ApplicationContext; 6 | /** 7 | * This will ensure that the action classes are loaded from Spring Applicaiton Context rather than 8 | * creating the new one , the advantage of that is we can maintain spring dependency injection for all the beans 9 | * Uses OpenAI for processing 10 | */ 11 | public class SpringOpenAIProcessor extends OpenAiActionProcessor { 12 | public SpringOpenAIProcessor(ApplicationContext context) { 13 | PredictionLoader.getInstance(context); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/ArrayAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples; 2 | 3 | 4 | import com.t4a.annotations.Action; 5 | import com.t4a.annotations.Agent; 6 | import com.t4a.examples.actions.Customer; 7 | import lombok.Getter; 8 | import lombok.Setter; 9 | 10 | @Getter 11 | @Setter 12 | @Agent 13 | public class ArrayAction { 14 | 15 | 16 | @Action(description = "Add all the customers") 17 | public Customer[] addCustomers(Customer[] allCustomers) { 18 | 19 | 20 | return allCustomers; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/OpenShiftActionExample.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples; 2 | 3 | import com.t4a.processor.AIProcessingException; 4 | import com.t4a.deperecated.GeminiActionProcessor; 5 | import lombok.extern.java.Log; 6 | 7 | @Log 8 | public class OpenShiftActionExample { 9 | public static void main(String[] args) throws AIProcessingException { 10 | GeminiActionProcessor processor = new GeminiActionProcessor(); 11 | log.info(processor.processSingleAction("can you provide me list of core V1 component status for the kubernetes cluster").toString()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/SerperTester.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples; 2 | 3 | import com.t4a.processor.AIProcessingException; 4 | import com.t4a.deperecated.GeminiActionProcessor; 5 | 6 | import java.util.Properties; 7 | 8 | public class SerperTester { 9 | public static void main(String[] args) throws AIProcessingException { 10 | 11 | Properties p = System.getProperties(); 12 | 13 | GeminiActionProcessor processor = new GeminiActionProcessor(); 14 | String news = (String)processor.processSingleAction("Can you get me book with id 189"); 15 | 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/ShowActionsExample.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples; 2 | 3 | import com.google.gson.Gson; 4 | import com.t4a.api.GroupInfo; 5 | import com.t4a.predict.PredictionLoader; 6 | import lombok.extern.slf4j.Slf4j; 7 | 8 | import java.util.Map; 9 | 10 | @Slf4j 11 | public class ShowActionsExample { 12 | 13 | public ShowActionsExample() throws Exception { 14 | 15 | } 16 | public static void main(String[] args) throws Exception { 17 | 18 | ShowActionsExample sample = new ShowActionsExample(); 19 | sample.showActionList(); 20 | 21 | Map ga = PredictionLoader.getInstance().getActionGroupList().getGroupActions(); 22 | ga.forEach((key, value) -> { 23 | System.out.println("Key: " + key + ", Value: " + value); 24 | }); 25 | Gson gsr = new Gson(); 26 | String groupInfo = gsr.toJson(PredictionLoader.getInstance().getActionGroupList().getGroupInfo()); 27 | System.out.println(groupInfo); 28 | } 29 | 30 | private void showActionList() { 31 | log.debug(PredictionLoader.getInstance().getActionNameList().toString()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/SingletonResetter.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples; 2 | 3 | import java.lang.reflect.Constructor; 4 | import java.lang.reflect.Field; 5 | 6 | public class SingletonResetter { 7 | 8 | public static void resetSingleton(Class singletonClass) throws Exception { 9 | // Access the private constructor 10 | Constructor constructor = singletonClass.getDeclaredConstructor(); 11 | constructor.setAccessible(true); 12 | 13 | // Reset the instance to null 14 | Field instanceField = singletonClass.getDeclaredField("predictionLoader"); 15 | instanceField.setAccessible(true); 16 | instanceField.set(null, null); 17 | } 18 | } 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/ArrayOfObjectAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import lombok.Getter; 6 | import lombok.Setter; 7 | 8 | @Agent 9 | @Getter 10 | @Setter 11 | public class ArrayOfObjectAction { 12 | @Action(description = "All the customers") 13 | public String[] allTheDates(String[] allTheDates) { 14 | 15 | 16 | return allTheDates; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/ComplexAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | 6 | @Agent(groupName = "customer support", groupDescription = "actions related to customer support") 7 | public class ComplexAction { 8 | 9 | public static int COUNTER = 0; 10 | public ComplexAction() { 11 | COUNTER++; 12 | } 13 | @Action(description = "Customer has problem create ticket for him") 14 | public String computerRepair(Customer customer) { 15 | return customer.toString(); 16 | } 17 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/CookingAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import com.t4a.annotations.Prompt; 6 | 7 | @Agent(groupName = "food" ,groupDescription = "all the tasks related to cooking") 8 | public class CookingAction { 9 | 10 | @Action(description = "This will be used for cooking dishes") 11 | public String cookThisForLunch(@Prompt(describe = "this should be comma separated") String ingredients) { 12 | return ingredients+" can be used to make spicy stuffed paratha"; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/Customer.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Prompt; 4 | import lombok.*; 5 | 6 | import java.util.Date; 7 | 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | @Getter 11 | @Setter 12 | @ToString 13 | @EqualsAndHashCode 14 | public class Customer { 15 | private String firstName; 16 | private String lastName; 17 | @Prompt(describe = "convert this to Hindi") 18 | private String reasonForCalling; 19 | @Prompt(ignore = true) 20 | private String location; 21 | @Prompt(dateFormat = "yyyy-MM-dd" ,describe = "if you dont find date provide todays date in fieldValue") 22 | private Date dateJoined; 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/CustomerWithQueryAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import com.t4a.annotations.Prompt; 6 | 7 | import java.util.Date; 8 | 9 | @Agent(groupName = "customer support", groupDescription = "actions related to customer support") 10 | public class CustomerWithQueryAction { 11 | 12 | @Action(description = "Customer has problem create ticket for him") 13 | public String computerRepairWithDetails(Customer customer, @Prompt(dateFormat = "yyyy-MM-dd") Date dateOfComp , @Prompt(describe = "this is customer complaint") String query) { 14 | return customer.toString(); 15 | } 16 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/ListAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import com.t4a.examples.pojo.Organization; 6 | import lombok.Getter; 7 | import lombok.Setter; 8 | import lombok.ToString; 9 | 10 | @Getter 11 | @Setter 12 | @ToString 13 | @Agent(groupName = "Organization", groupDescription = "Organization actions") 14 | public class ListAction { 15 | 16 | @Action(description = "add new orgranization") 17 | public Organization addOrganization(Organization org) { 18 | 19 | System.out.println(org); 20 | return org; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/MapAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.MapKeyType; 5 | import com.t4a.annotations.MapValueType; 6 | import com.t4a.annotations.Agent; 7 | import lombok.Getter; 8 | import lombok.Setter; 9 | 10 | import java.util.Map; 11 | 12 | @Getter 13 | @Setter 14 | @Agent 15 | public class MapAction { 16 | 17 | 18 | 19 | @Action(description = "add new Sports into the map") 20 | public Map addSports(@MapKeyType(Integer.class) @MapValueType(String.class) Map mapOfSportsName) { 21 | 22 | return mapOfSportsName; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/MyDiaryAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import com.t4a.examples.pojo.MyDiary; 6 | 7 | @Agent 8 | public class MyDiaryAction { 9 | @Action(description = "This is my diary details") 10 | public MyDiary buildMyDiary(MyDiary diary) { 11 | //take whatever action you want to take 12 | return diary; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/Player.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import lombok.*; 4 | 5 | @NoArgsConstructor 6 | @AllArgsConstructor 7 | @Getter 8 | @Setter 9 | @EqualsAndHashCode 10 | @ToString 11 | public class Player { 12 | int matches; 13 | int maxScore; 14 | String firstName; 15 | String lastName; 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/PlayerWithRestaurant.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import com.t4a.examples.basic.RestaurantPojo; 6 | import lombok.Getter; 7 | import lombok.extern.slf4j.Slf4j; 8 | 9 | @Slf4j 10 | @Agent 11 | public class PlayerWithRestaurant { 12 | @Getter 13 | private Player player; 14 | @Getter 15 | private RestaurantPojo restaurantPojo; 16 | @Action( description = "add restaurant and player details") 17 | public String notifyPlayerAndRestaurant(Player player, RestaurantPojo restaurantPojo) { 18 | log.debug(player.toString()); 19 | log.debug(restaurantPojo.toString()); 20 | this.player = player; 21 | this.restaurantPojo = restaurantPojo; 22 | return "yes i have notified"; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/ServerRestartAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | import com.t4a.api.ActionRisk; 6 | 7 | @Agent(groupName = "server support", groupDescription = "actions related to server support") 8 | public class ServerRestartAction { 9 | @Action(riskLevel = ActionRisk.HIGH, description = "Restart the ECOM server") 10 | public String restartTheECOMServer(String reasonForRestart, String requestedBy) { 11 | return " Server has been restarted by "+requestedBy+" due to following reason "+reasonForRestart; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/SimpleAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | 6 | @Agent 7 | public class SimpleAction { 8 | 9 | @Action( description = "what is the food preference of this person") 10 | public String whatFoodDoesThisPersonLike(String name) { 11 | if("vishal".equalsIgnoreCase(name)) 12 | return "Paneer Butter Masala"; 13 | else if ("vinod".equalsIgnoreCase(name)) { 14 | return "aloo kofta"; 15 | }else 16 | return "something yummy"; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/TrafficViolation.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | 6 | @Agent 7 | public class TrafficViolation { 8 | @Action(description = "Traffic violation detected") 9 | public String trafficViolation(String typeOfViolation, String carColor) { 10 | System.out.println("car color "+carColor); 11 | return typeOfViolation+" has been detected there will penalty"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/db/MongoAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions.db; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | 6 | /** 7 | * This is an action class for MongoDB it takes a prompt and inject the values into MongoDatabase 8 | * 9 | */ 10 | @Agent(groupName = "MongoDB", groupDescription = "MongoDB related actions") 11 | public class MongoAction { 12 | 13 | @Action(description = "Inserts a customer complaint into the database") 14 | public Object createTable() { 15 | 16 | return "creatre table"; 17 | } 18 | 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/actions/tibco/TibcoAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.actions.tibco; 2 | 3 | import com.t4a.annotations.Action; 4 | import com.t4a.annotations.Agent; 5 | 6 | @Agent(groupName = "Tibco", groupDescription = "Tibco related actions") 7 | public class TibcoAction { 8 | 9 | @Action(description = "Send a message to a Tibco queue") 10 | public Object sendMessageToQueue() { 11 | return null; 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/agriculture/EnvironmentConditions.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.agriculture; 2 | 3 | import lombok.Getter; 4 | import lombok.NoArgsConstructor; 5 | import lombok.Setter; 6 | import lombok.ToString; 7 | 8 | @NoArgsConstructor 9 | @Getter 10 | @Setter 11 | @ToString 12 | public class EnvironmentConditions { 13 | private double waterPercentage; 14 | private double soilPercentage; 15 | private double sunlightPercentage; 16 | private double temperature; 17 | private boolean hasFrost; 18 | private boolean hasHeatWave; 19 | private boolean hasDrought; 20 | private boolean hasFlood; 21 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/agriculture/HealthStatus.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.agriculture; 2 | 3 | import com.t4a.annotations.Prompt; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | import lombok.ToString; 8 | 9 | @NoArgsConstructor 10 | @Getter 11 | @Setter 12 | @ToString 13 | public class HealthStatus { 14 | @Prompt(describe ="if it looks healthy then give 100% else give a percentage") 15 | private double healthPercentage; 16 | private boolean hasPest; 17 | private boolean hasDisease; 18 | private boolean hasNutrientDeficiency; 19 | private boolean doesItHaveAnyDisease; 20 | @Prompt(describe ="based on picture do you think the plant has any disease, if none then return NONE") 21 | private String typeOfDisease; 22 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/agriculture/Plant.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.agriculture; 2 | 3 | import com.t4a.annotations.Prompt; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | import lombok.ToString; 8 | 9 | @NoArgsConstructor 10 | @Getter 11 | @Setter 12 | @ToString 13 | public class Plant { 14 | @Prompt(describe ="what type is it CROP or FRUIT or VEGETABLE or FLOWER or TREE or SHRUB or GRASS or WEED or OTHER") 15 | private String platType; 16 | private String plantName; 17 | private HealthStatus healthStatus; 18 | private EnvironmentConditions environmentConditions; 19 | private boolean hasWaterDeficiency = false;; 20 | private boolean hasSunlightDeficiency = false;; 21 | private boolean hasSoilDeficiency = false;; 22 | private boolean hasTemperatureDeficiency = false;; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/basic/DateDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.basic; 2 | 3 | import com.google.gson.JsonDeserializationContext; 4 | import com.google.gson.JsonDeserializer; 5 | import com.google.gson.JsonElement; 6 | import com.google.gson.JsonParseException; 7 | 8 | import java.lang.reflect.Type; 9 | import java.text.DateFormat; 10 | import java.text.ParseException; 11 | import java.text.SimpleDateFormat; 12 | import java.util.Date; 13 | import java.util.Locale; 14 | 15 | public class DateDeserializer implements JsonDeserializer { 16 | private final DateFormat dateFormat; 17 | 18 | public DateDeserializer(String format) { 19 | this.dateFormat = new SimpleDateFormat(format, Locale.ENGLISH); 20 | } 21 | 22 | @Override 23 | public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { 24 | try { 25 | return dateFormat.parse(json.getAsString().replaceAll("(st|nd|rd|th),", ",")); 26 | } catch (ParseException e) { 27 | return new Date(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/basic/JsonBuilder.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.basic; 2 | 3 | import com.t4a.deperecated.GeminiPromptTransformer; 4 | import com.t4a.processor.AIProcessingException; 5 | import lombok.extern.slf4j.Slf4j; 6 | 7 | @Slf4j 8 | public class JsonBuilder { 9 | public static void main(String[] args) throws AIProcessingException { 10 | GeminiPromptTransformer builder = new GeminiPromptTransformer(); 11 | String jsonString = "{\"name\":\"String\",\"age\":\"number\",\"address\":{\"street\":\"String\",\"city\":\"String\",\"zip\":\"int\"},\"contacts\":[{\"type\":\"string\",\"value\":\"String\"},{\"type\":\"string\",\"value\":\"string\"}]}"; 12 | String prompt = "Can you make sure you add this info about my friend John Doe, aged 30, lives at 123 Main St in New York, zip code 10001. He can be reached via email at john@example.com or by phone at 555-1234."; 13 | jsonString = builder.transformIntoJson(jsonString,prompt,"MyFriend","get friend details"); 14 | log.debug(jsonString); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/basic/NonPredictionAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.basic; 2 | 3 | import com.t4a.annotations.Action; 4 | import lombok.extern.slf4j.Slf4j; 5 | 6 | @Slf4j 7 | public class NonPredictionAction { 8 | 9 | 10 | @Action(description = "provide the food name here to check if it is good ") 11 | public String checkIfFoodisGoodForYou(String foodName) { 12 | log.debug(foodName); 13 | return foodName + " has too much sugar"; 14 | } 15 | 16 | 17 | } 18 | 19 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/basic/RestaurantDetails.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.basic; 2 | 3 | public class RestaurantDetails { 4 | String name; 5 | //@Prompt(describe = "convert location to hindi") 6 | String location; 7 | 8 | public String getLocation() { 9 | return location; 10 | } 11 | 12 | public void setLocation(String location) { 13 | this.location = location; 14 | } 15 | 16 | @Override 17 | public String toString() { 18 | return "RestaurantDetails{" + 19 | "name='" + name + '\'' + 20 | ", location='" + location + '\'' + 21 | '}'; 22 | } 23 | 24 | public String getName() { 25 | return name; 26 | } 27 | 28 | public void setName(String name) { 29 | this.name = name; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/pojo/Activity.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.pojo; 2 | 3 | import lombok.Getter; 4 | import lombok.NoArgsConstructor; 5 | import lombok.Setter; 6 | import lombok.ToString; 7 | 8 | @Getter 9 | @Setter 10 | @NoArgsConstructor 11 | @ToString 12 | public class Activity { 13 | String dayOfTheWeek; 14 | String activityName; 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/pojo/AutoRepairScreen.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.pojo; 2 | 3 | import lombok.*; 4 | 5 | @Getter 6 | @Setter 7 | @ToString 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class AutoRepairScreen { 11 | double fullInspectionValue; 12 | double tireRotationValue; 13 | double oilChangeValue; 14 | Integer phoneNumber; 15 | String email; 16 | String[] customerReviews; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/pojo/Dictionary.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.pojo; 2 | 3 | import com.t4a.annotations.MapKeyType; 4 | import com.t4a.annotations.MapValueType; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Getter; 7 | import lombok.NoArgsConstructor; 8 | import lombok.Setter; 9 | 10 | import java.util.Map; 11 | 12 | @Setter 13 | @Getter 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class Dictionary { 17 | String nameOfDictionary; 18 | @MapValueType(String.class) 19 | @MapKeyType(String.class) 20 | Map wordMeanings; 21 | String locations[]; 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/pojo/Employee.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.pojo; 2 | 3 | import com.t4a.annotations.Prompt; 4 | import lombok.*; 5 | 6 | import java.util.Date; 7 | 8 | @Getter 9 | @Setter 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | @ToString 13 | public class Employee { 14 | private String name; 15 | @Prompt(ignore = true) 16 | private int id; 17 | private String department; 18 | private double salary; 19 | private String location; 20 | @Prompt(dateFormat = "ddMMyyyy" ,describe = "convert to actual date") 21 | private Date dateJoined; 22 | private String[] tasks; 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/pojo/MyDiary.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.pojo; 2 | 3 | import com.t4a.annotations.Prompt; 4 | import com.t4a.examples.actions.Customer; 5 | import lombok.Getter; 6 | import lombok.NoArgsConstructor; 7 | import lombok.Setter; 8 | import lombok.ToString; 9 | 10 | import java.util.Date; 11 | 12 | @Getter 13 | @Setter 14 | @NoArgsConstructor 15 | @ToString 16 | public class MyDiary { 17 | @Prompt(dateFormat = "ddMMyyyy") 18 | Date[] allTheDatesOfAppointment; 19 | String[] friendsNames; 20 | Customer customer; 21 | Employee employee; 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/pojo/MyGymSchedule.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.pojo; 2 | 3 | import com.t4a.annotations.ListType; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | import lombok.ToString; 8 | 9 | import java.util.List; 10 | 11 | @Getter 12 | @Setter 13 | @NoArgsConstructor 14 | @ToString 15 | public class MyGymSchedule { 16 | @ListType(Activity.class) 17 | List myWeeklyActivity; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/examples/pojo/Organization.java: -------------------------------------------------------------------------------- 1 | package com.t4a.examples.pojo; 2 | 3 | import com.t4a.annotations.ListType; 4 | import com.t4a.examples.actions.Customer; 5 | import lombok.*; 6 | 7 | import java.util.List; 8 | 9 | @Getter 10 | @Setter 11 | @NoArgsConstructor 12 | @AllArgsConstructor 13 | @ToString 14 | public class Organization { 15 | String name; 16 | @ListType(Employee.class) 17 | List em; 18 | @ListType(String.class) 19 | List locations; 20 | Customer[] customers; 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/regression/TestHelperOpenAI.java: -------------------------------------------------------------------------------- 1 | package com.t4a.regression; 2 | 3 | import com.t4a.predict.PredictionLoader; 4 | import dev.langchain4j.model.chat.ChatLanguageModel; 5 | import lombok.extern.slf4j.Slf4j; 6 | 7 | @Slf4j 8 | public class TestHelperOpenAI { 9 | 10 | 11 | private ChatLanguageModel openAiChatModel; 12 | private static TestHelperOpenAI testAIHelper; 13 | 14 | private void initProp() { 15 | openAiChatModel = PredictionLoader.getInstance().getOpenAiChatModel(); 16 | } 17 | 18 | private TestHelperOpenAI() { 19 | initProp(); 20 | } 21 | 22 | public static TestHelperOpenAI getInstance() { 23 | if (testAIHelper == null) 24 | testAIHelper = new TestHelperOpenAI(); 25 | return testAIHelper; 26 | } 27 | 28 | public String sendMessage(String msg) { 29 | return openAiChatModel.generate(msg); 30 | } 31 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/AIProcessingExceptionTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | 4 | 5 | import com.t4a.processor.AIProcessingException; 6 | import org.junit.jupiter.api.Test; 7 | 8 | import static org.junit.jupiter.api.Assertions.assertEquals; 9 | 10 | public class AIProcessingExceptionTest { 11 | 12 | @Test 13 | public void testAIProcessingException() { 14 | String message = "Test exception message"; 15 | AIProcessingException exception = new AIProcessingException(message); 16 | 17 | assertEquals(message, exception.getMessage()); 18 | } 19 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/ActionKeyTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.api.ActionKey; 4 | import org.junit.jupiter.api.Test; 5 | 6 | import static org.junit.jupiter.api.Assertions.assertNotEquals; 7 | 8 | public class ActionKeyTest { 9 | @Test 10 | void testEqualsAndHashCode() { 11 | // Create two identical AIAction objects 12 | MockAction action1 = new MockAction(); 13 | 14 | 15 | MockAction action2 = new MockAction(); 16 | 17 | 18 | // Create two ActionKey objects using the identical AIAction objects 19 | ActionKey key1 = new ActionKey(action1); 20 | ActionKey key2 = new ActionKey(action2); 21 | 22 | 23 | assertNotEquals(key1, key2); 24 | 25 | 26 | assertNotEquals(key1.hashCode(), key2.hashCode()); 27 | 28 | 29 | ActionKey key3 = new ActionKey(action1); 30 | 31 | 32 | assertNotEquals(key1, key3); 33 | 34 | // The hash codes of the first ActionKey object and the third ActionKey object should noy be the same 35 | assertNotEquals(key1.hashCode(), key3.hashCode()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/BiasDetectorTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.api.ActionType; 4 | import com.t4a.api.GuardRailException; 5 | import com.t4a.detect.BiasDetector; 6 | import org.junit.jupiter.api.BeforeEach; 7 | import org.junit.jupiter.api.Test; 8 | 9 | import static org.junit.jupiter.api.Assertions.*; 10 | 11 | public class BiasDetectorTest { 12 | 13 | private BiasDetector biasDetector; 14 | 15 | @BeforeEach 16 | public void setup() { 17 | biasDetector = new BiasDetector(); 18 | } 19 | 20 | @Test 21 | public void testGetActionType() { 22 | assertEquals(ActionType.BIAS, biasDetector.getActionType()); 23 | } 24 | 25 | @Test 26 | public void testGetDescription() { 27 | assertEquals("Detect Bias in response", biasDetector.getDescription()); 28 | } 29 | 30 | @Test 31 | public void testExecute() throws GuardRailException { 32 | assertNull(biasDetector.execute(null)); 33 | assertNotNull(biasDetector.getActionName()); 34 | assertEquals("execute", biasDetector.getActionName()); 35 | 36 | } 37 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/DriverActionsTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.processor.selenium.DriverActions; 4 | import org.junit.jupiter.api.BeforeEach; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import static org.junit.jupiter.api.Assertions.assertEquals; 8 | 9 | public class DriverActionsTest { 10 | private DriverActions driverActions; 11 | 12 | @BeforeEach 13 | public void setUp() { 14 | driverActions = new DriverActions(); 15 | } 16 | 17 | @Test 18 | public void testTypeOfActionToTakeOnWebDriver() { 19 | String expectedAction = "navigate"; 20 | driverActions.setTypeOfActionToTakeOnWebDriver(expectedAction); 21 | String actualAction = driverActions.getTypeOfActionToTakeOnWebDriver(); 22 | assertEquals(expectedAction, actualAction, "The action should be navigate"); 23 | } 24 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/ExtendedInputParameterTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | 4 | 5 | 6 | 7 | import com.t4a.action.ExtendedInputParameter; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import static org.junit.jupiter.api.Assertions.assertEquals; 11 | import static org.junit.jupiter.api.Assertions.assertNull; 12 | 13 | public class ExtendedInputParameterTest { 14 | 15 | @Test 16 | public void testExtendedInputParameter() { 17 | // Create an instance of ExtendedInputParameter 18 | ExtendedInputParameter inputParameter = new ExtendedInputParameter("TestName", "TestValue"); 19 | 20 | // Test the methods of ExtendedInputParameter 21 | assertEquals("TestName", inputParameter.getName()); 22 | assertEquals(false, inputParameter.hasDefaultValue()); 23 | assertEquals("TestValue", inputParameter.getType()); 24 | assertNull(inputParameter.getDefaultValueStr()); 25 | } 26 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/FactDetectorTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.api.ActionType; 4 | import com.t4a.api.GuardRailException; 5 | import com.t4a.detect.DetectValues; 6 | import com.t4a.detect.FactDetector; 7 | import org.junit.jupiter.api.BeforeEach; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import static org.junit.jupiter.api.Assertions.*; 11 | 12 | class FactDetectorTest { 13 | 14 | private FactDetector factDetector; 15 | 16 | @BeforeEach 17 | public void setup() { 18 | factDetector = new FactDetector(); 19 | } 20 | 21 | @Test 22 | void testGetActionType() { 23 | assertEquals(ActionType.FACT, factDetector.getActionType()); 24 | } 25 | 26 | @Test 27 | void testGetDescription() { 28 | assertEquals("Fact Check in response", factDetector.getDescription()); 29 | } 30 | 31 | @Test 32 | void testExecute() throws GuardRailException { 33 | assertNull(factDetector.execute(new DetectValues())); 34 | } 35 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/GeminiGuardRailsTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.api.GeminiGuardRails; 4 | import com.t4a.api.GuardRailException; 5 | import org.junit.jupiter.api.Assertions; 6 | import org.junit.jupiter.api.BeforeEach; 7 | import org.junit.jupiter.api.Test; 8 | 9 | public class GeminiGuardRailsTest { 10 | 11 | private GeminiGuardRails geminiGuardRails; 12 | 13 | @BeforeEach 14 | public void setUp() { 15 | geminiGuardRails = new GeminiGuardRails(); 16 | 17 | } 18 | 19 | @Test 20 | public void testMethod1() throws GuardRailException { 21 | Assertions.assertFalse(geminiGuardRails.validateRequest("test")); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/GuardRailExceptionTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | 4 | import com.t4a.api.GuardRailException; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import static org.junit.jupiter.api.Assertions.assertThrows; 8 | 9 | public class GuardRailExceptionTest { 10 | 11 | @Test 12 | public void testGuardRailException() { 13 | assertThrows(GuardRailException.class, () -> { 14 | throw new GuardRailException("Test exception"); 15 | }); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/HallucinationDetectorTypeTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.detect.HallucinationDetectorType; 4 | import org.junit.jupiter.api.Test; 5 | 6 | import static org.junit.jupiter.api.Assertions.*; 7 | 8 | public class HallucinationDetectorTypeTest { 9 | 10 | @Test 11 | public void testEnumValues() { 12 | assertEquals(2, HallucinationDetectorType.values().length); 13 | assertEquals(HallucinationDetectorType.GOOGLE, HallucinationDetectorType.values()[0]); 14 | assertEquals(HallucinationDetectorType.SELF, HallucinationDetectorType.values()[1]); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/InputParameterTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | 4 | 5 | import com.t4a.action.http.InputParameter; 6 | import org.junit.jupiter.api.Test; 7 | 8 | import static org.junit.jupiter.api.Assertions.*; 9 | 10 | public class InputParameterTest { 11 | 12 | @Test 13 | public void testInputParameter() { 14 | String name = "Test name"; 15 | String type = "Test type"; 16 | String description = "Test description"; 17 | InputParameter inputParameter = new InputParameter(name, type, description); 18 | 19 | assertEquals(name, inputParameter.getName()); 20 | assertEquals(type, inputParameter.getType()); 21 | assertEquals(description, inputParameter.getDescription()); 22 | } 23 | 24 | @Test 25 | public void testHasDefaultValue() { 26 | InputParameter inputParameter = new InputParameter(); 27 | assertFalse(inputParameter.hasDefaultValue()); 28 | 29 | inputParameter.setDefaultValue("Default value"); 30 | assertTrue(inputParameter.hasDefaultValue()); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/LogginggExplainDecisionTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.processor.LogginggExplainDecision; 4 | import org.junit.jupiter.api.Assertions; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class LogginggExplainDecisionTest { 8 | 9 | @Test 10 | void testExplain() { 11 | 12 | LogginggExplainDecision decision = new LogginggExplainDecision(); 13 | 14 | String promptText = "promptText"; 15 | String methodName = "methodName"; 16 | String reason = "reason"; 17 | 18 | Assertions.assertEquals(reason,decision.explain(promptText, methodName, reason)); 19 | 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/MimeTypeTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.api.MimeType; 4 | import org.junit.jupiter.api.Assertions; 5 | import org.junit.jupiter.api.Test; 6 | 7 | public class MimeTypeTest { 8 | @Test 9 | void testGetMimeType() { 10 | Assertions.assertEquals("image/jpeg", MimeType.JPEG.getMimeType()); 11 | Assertions.assertEquals("image/png", MimeType.PNG.getMimeType()); 12 | Assertions.assertEquals("image/gif", MimeType.GIF.getMimeType()); 13 | Assertions.assertEquals("text/html", MimeType.HTML.getMimeType()); 14 | Assertions.assertEquals("text/plain", MimeType.TEXT.getMimeType()); 15 | Assertions.assertEquals("application/pdf", MimeType.PDF.getMimeType()); 16 | Assertions.assertEquals("application/msword", MimeType.MS_WORD.getMimeType()); 17 | Assertions.assertEquals("application/vnd.oasis.opendocument.text", MimeType.OPEN_DOCUMENT_TEXT.getMimeType()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/MockAction.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.api.ActionRisk; 4 | import com.t4a.api.ActionType; 5 | import com.t4a.api.JavaMethodAction; 6 | 7 | public class MockAction implements JavaMethodAction { 8 | 9 | public Person p; 10 | public String name; 11 | @Override 12 | public String getActionName() { 13 | return "mockAction"; 14 | } 15 | 16 | public String mockAction(String mockName,Person mockPerson) { 17 | p = mockPerson; 18 | name = mockName; 19 | return mockName; 20 | } 21 | 22 | @Override 23 | public String getDescription() { 24 | return "mockActionDescription"; 25 | } 26 | 27 | 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/Person.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import lombok.Getter; 4 | import lombok.NoArgsConstructor; 5 | import lombok.Setter; 6 | import lombok.ToString; 7 | 8 | @Getter 9 | @Setter 10 | @ToString 11 | @NoArgsConstructor 12 | public class Person { 13 | public String name; 14 | public int age; 15 | 16 | public Person(String name, int age) { 17 | this.name = name; 18 | this.age = age; 19 | } 20 | 21 | // getters and setters 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/PromptInjectionValidatorTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.detect.PromptInjectionValidator; 4 | import org.junit.jupiter.api.BeforeEach; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import static org.junit.jupiter.api.Assertions.assertFalse; 8 | import static org.junit.jupiter.api.Assertions.assertTrue; 9 | 10 | class PromptInjectionValidatorTest { 11 | 12 | private PromptInjectionValidator promptInjectionValidator; 13 | 14 | @BeforeEach 15 | public void setup() { 16 | promptInjectionValidator = new PromptInjectionValidator(); 17 | } 18 | 19 | @Test 20 | public void testIsValidPrompt() { 21 | assertTrue(promptInjectionValidator.isValidPrompt("This is a safe prompt.")); 22 | assertFalse(promptInjectionValidator.isValidPrompt("This prompt contains a threat: delete")); 23 | assertFalse(promptInjectionValidator.isValidPrompt("This prompt contains a disallowed character: #")); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/PromptTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | import com.t4a.processor.chain.Prompt; 3 | import com.t4a.processor.chain.SubPrompt; 4 | import org.junit.jupiter.api.Test; 5 | 6 | import java.util.Arrays; 7 | import java.util.List; 8 | 9 | import static org.junit.jupiter.api.Assertions.assertEquals; 10 | 11 | public class PromptTest { 12 | 13 | @Test 14 | public void testPrompt() { 15 | // Arrange 16 | SubPrompt subPrompt1 = new SubPrompt(); 17 | subPrompt1.setId("1"); 18 | subPrompt1.setSubprompt("SubPrompt 1"); 19 | subPrompt1.setDepend_on("Depend 1"); 20 | 21 | SubPrompt subPrompt2 = new SubPrompt(); 22 | subPrompt2.setId("2"); 23 | subPrompt2.setSubprompt("SubPrompt 2"); 24 | subPrompt2.setDepend_on("Depend 2"); 25 | 26 | List subPrompts = Arrays.asList(subPrompt1, subPrompt2); 27 | 28 | // Act 29 | Prompt prompt = new Prompt(); 30 | prompt.setPrmpt(subPrompts); 31 | 32 | // Assert 33 | assertEquals(subPrompts, prompt.getPrmpt()); 34 | } 35 | } -------------------------------------------------------------------------------- /src/test/java/com/t4a/test/ToolsConstantsTest.java: -------------------------------------------------------------------------------- 1 | package com.t4a.test; 2 | 3 | import com.t4a.api.ToolsConstants; 4 | import org.junit.jupiter.api.Test; 5 | 6 | import static org.junit.jupiter.api.Assertions.*; 7 | 8 | public class ToolsConstantsTest { 9 | 10 | @Test 11 | public void testConstants() { 12 | assertEquals("BlankAction", ToolsConstants.BLANK_ACTION); 13 | assertEquals("SeleniumAction", ToolsConstants.SELENIUM_ACTION); 14 | assertEquals("AIProcessor", ToolsConstants.AI_PROCESSOR); 15 | assertEquals("Agent", ToolsConstants.PREDICT); 16 | assertEquals("No Group", ToolsConstants.GROUP_NAME); 17 | assertEquals("tasks which are not categorized", ToolsConstants.GROUP_DESCRIPTION); 18 | } 19 | } -------------------------------------------------------------------------------- /src/test/resources/auto.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/src/test/resources/auto.PNG -------------------------------------------------------------------------------- /src/test/resources/fitness.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/src/test/resources/fitness.PNG -------------------------------------------------------------------------------- /src/test/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/test/resources/prompt.properties: -------------------------------------------------------------------------------- 1 | openai.pre_action=here is my prompt - 2 | openai.action=- what action do you think we should take out of these - { 3 | openai.post_action= } - reply back with 4 | openai.num_action= action only. Make sure Action matches exactly from this list 5 | openai.method_to_json=- if you find the field named fieldValue, populate the field else and return the json as is -------------------------------------------------------------------------------- /src/test/resources/test.action: -------------------------------------------------------------------------------- 1 | I need to search Indian Recipe on the internet 2 | save these indian recipe names to a file -------------------------------------------------------------------------------- /src/test/resources/testApplicationContext.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/test_script.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Arguments passed to the script: 3 | echo %* -------------------------------------------------------------------------------- /src/test/resources/tools4ai.properties: -------------------------------------------------------------------------------- 1 | ##Gemini related settings 2 | gemini.modelName=gemini-1.0-pro 3 | #gemini.modelName=test 4 | #gemini.modelName=gemini-1.5-pro-preview-0409 5 | gemini.location=us-central1 6 | gemini.projectId=cookgptserver 7 | #gemini.projectId=test 8 | gemini.vision.modelName=gemini-1.0-pro-vision 9 | 10 | ##Anthropic related settings 11 | anthropic.modelName=claude-3-haiku-20240307 12 | anthropic.logRequests=true 13 | anthropic.logResponse=true 14 | 15 | #set it here or use -DclaudeKey parameter 16 | claudeKey= 17 | 18 | ##Open AI Key 19 | #set it here or use -DopenAiKey parameter 20 | openAiKey= 21 | ##Open AI Base URL keep it empty or set it here or in vm option 22 | openAiBaseURL= 23 | 24 | openAiModelName=grok-2-1212 25 | 26 | ##Serper Key for google search or hallucination detection 27 | serperKey= -------------------------------------------------------------------------------- /src/test/resources/web.action: -------------------------------------------------------------------------------- 1 | go to website https://the-internet.herokuapp.com 2 | click on A/B Testing 3 | save screenshot as "the-internet.herokuapp.com.png" 4 | go to website https://the-internet.herokuapp.com 5 | click on Add/Remove Elements 6 | click on Add Element 7 | save screenshot as "the-internet.herokuapp.com_2.png" 8 | -------------------------------------------------------------------------------- /the-internet.herokuapp.com.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/the-internet.herokuapp.com.png -------------------------------------------------------------------------------- /tools4ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/tools4ai.png -------------------------------------------------------------------------------- /tools4ai_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalmysore/Tools4AI/f4789d6336d653f11b250f60046c51acae130651/tools4ai_old.png -------------------------------------------------------------------------------- /uploadnumber.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Assuming Maven generates XML test reports in the "target/surefire-reports" directory 4 | TEST_REPORT_DIR="target/surefire-reports" 5 | # Print current directory 6 | echo "Current directory: $(pwd)" 7 | 8 | xml_files=$(find "$(pwd)" -name "TEST-*.xml") 9 | 10 | # Concatenate all XML files and count the occurrences of " /dev/null 26 | exec 2>&1 27 | 28 | # Create or update the Gist with the test count 29 | curl -s -X PATCH \ 30 | -H "Authorization: token $GIST_TOKEN" \ 31 | -H "Content-Type: application/vnd.github+json" \ 32 | -d '{"files":{"test.json":{"content": "{\"schemaVersion\": 1,\"label\": \"testcount\", \"message\": \"'$test_count'\", \"color\":\"orange\"}" }}}' \ 33 | "https://api.github.com/gists/$GIST_ID" --------------------------------------------------------------------------------