scanoss 0.7.5 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/.idea/workspace.xml +64 -47
  2. package/.nyc_output/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
  3. package/.nyc_output/processinfo/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
  4. package/.nyc_output/processinfo/index.json +1 -0
  5. package/build/main/cli/bin/cli-bin.d.ts +2 -1
  6. package/build/main/cli/bin/cli-bin.js +10 -2
  7. package/build/main/index.d.ts +2 -0
  8. package/build/main/index.js +3 -1
  9. package/build/main/package.json +120 -0
  10. package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
  11. package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
  12. package/build/main/sdk/FileCount/FileCount.d.ts +6 -0
  13. package/build/main/sdk/FileCount/FileCount.js +88 -0
  14. package/build/main/sdk/FileCount/FileCountFilter.d.ts +2 -0
  15. package/build/main/sdk/FileCount/FileCountFilter.js +10 -0
  16. package/build/main/sdk/FileCount/Interfaces.d.ts +19 -0
  17. package/build/main/sdk/FileCount/Interfaces.js +8 -0
  18. package/build/main/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
  19. package/build/main/sdk/Filtering/DefaultFilterForDependencies.js +144 -0
  20. package/build/main/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
  21. package/build/main/sdk/Filtering/DefaultFilterForScanning.js +193 -0
  22. package/build/main/sdk/Filtering/Filtering.d.ts +80 -0
  23. package/build/main/sdk/Filtering/Filtering.js +259 -0
  24. package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
  25. package/build/main/sdk/scanner/ScannerCfg.js +3 -3
  26. package/build/main/sdk/tree/Filters/DependencyFilter.js +4 -4
  27. package/build/main/sdk/tree/Filters/ScanFilter.js +4 -4
  28. package/build/main/src/cli/bin/cli-bin.d.ts +2 -0
  29. package/build/main/src/cli/bin/cli-bin.js +68 -0
  30. package/build/main/src/cli/commands/dep.d.ts +1 -0
  31. package/build/main/src/cli/commands/dep.js +38 -0
  32. package/build/main/src/cli/commands/helpers.d.ts +2 -0
  33. package/build/main/src/cli/commands/helpers.js +25 -0
  34. package/build/main/src/cli/commands/scan.d.ts +1 -0
  35. package/build/main/src/cli/commands/scan.js +138 -0
  36. package/build/main/src/cli/commands/wfp.d.ts +1 -0
  37. package/build/main/src/cli/commands/wfp.js +54 -0
  38. package/build/main/src/index.d.ts +14 -0
  39. package/build/main/src/index.js +30 -0
  40. package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
  41. package/build/main/src/sdk/DataLayer/DataLayerTypes.js +5 -0
  42. package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
  43. package/build/main/src/sdk/DataLayer/DataProviderManager.js +24 -0
  44. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
  45. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +164 -0
  46. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
  47. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +37 -0
  48. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
  49. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +148 -0
  50. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
  51. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +33 -0
  52. package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
  53. package/build/main/src/sdk/Decompress/DecompressionManager.js +73 -0
  54. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
  55. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +22 -0
  56. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
  57. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +24 -0
  58. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
  59. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +18 -0
  60. package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
  61. package/build/main/src/sdk/Dependencies/DependencyScanner.js +96 -0
  62. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
  63. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +10 -0
  64. package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
  65. package/build/main/src/sdk/Dependencies/DependencyTypes.js +2 -0
  66. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  67. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
  68. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
  69. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +102 -0
  70. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
  71. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +95 -0
  72. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
  73. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +97 -0
  74. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  75. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +183 -0
  76. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
  77. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +187 -0
  78. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
  79. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +58 -0
  80. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  81. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +64 -0
  82. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
  83. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +132 -0
  84. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
  85. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +19 -0
  86. package/build/main/src/sdk/Report/Report.d.ts +8 -0
  87. package/build/main/src/sdk/Report/Report.js +26 -0
  88. package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
  89. package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +145 -0
  90. package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
  91. package/build/main/src/sdk/filters/DefaultFilterForScanning.js +194 -0
  92. package/build/main/src/sdk/filters/filtering.d.ts +32 -0
  93. package/build/main/src/sdk/filters/filtering.js +228 -0
  94. package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
  95. package/build/main/src/sdk/grpc/GrpcDependencyService.js +86 -0
  96. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  97. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
  98. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
  99. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
  100. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
  101. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
  102. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
  103. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
  104. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
  105. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
  106. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
  107. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
  108. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
  109. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +43 -0
  110. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
  111. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +160 -0
  112. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
  113. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +33 -0
  114. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
  115. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +32 -0
  116. package/build/main/src/sdk/scanner/Fingerprint.d.ts +16 -0
  117. package/build/main/src/sdk/scanner/Fingerprint.js +78 -0
  118. package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
  119. package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +27 -0
  120. package/build/main/src/sdk/scanner/Scanner.d.ts +46 -0
  121. package/build/main/src/sdk/scanner/Scanner.js +283 -0
  122. package/build/main/src/sdk/scanner/ScannerCfg.d.ts +16 -0
  123. package/build/main/src/sdk/scanner/ScannerCfg.js +30 -0
  124. package/build/main/src/sdk/scanner/ScannerTypes.d.ts +121 -0
  125. package/build/main/src/sdk/scanner/ScannerTypes.js +48 -0
  126. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
  127. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +31 -0
  128. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
  129. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +492 -0
  130. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
  131. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +68 -0
  132. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
  133. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +139 -0
  134. package/build/main/src/sdk/tree/File.d.ts +7 -0
  135. package/build/main/src/sdk/tree/File.js +24 -0
  136. package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
  137. package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +21 -0
  138. package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
  139. package/build/main/src/sdk/tree/Filters/DependencyFilter.js +17 -0
  140. package/build/main/src/sdk/tree/Filters/Filter.d.ts +4 -0
  141. package/build/main/src/sdk/tree/Filters/Filter.js +6 -0
  142. package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
  143. package/build/main/src/sdk/tree/Filters/ScanFilter.js +17 -0
  144. package/build/main/src/sdk/tree/Folder.d.ts +12 -0
  145. package/build/main/src/sdk/tree/Folder.js +58 -0
  146. package/build/main/src/sdk/tree/Node.d.ts +17 -0
  147. package/build/main/src/sdk/tree/Node.js +25 -0
  148. package/build/main/src/sdk/tree/Tree.d.ts +18 -0
  149. package/build/main/src/sdk/tree/Tree.js +70 -0
  150. package/build/main/tsconfig.tsbuildinfo +190 -144
  151. package/build/module/cli/bin/cli-bin.d.ts +2 -1
  152. package/build/module/cli/bin/cli-bin.js +6 -2
  153. package/build/module/index.d.ts +2 -0
  154. package/build/module/index.js +3 -1
  155. package/build/module/package.json +120 -0
  156. package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
  157. package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
  158. package/build/module/sdk/FileCount/FileCount.d.ts +6 -0
  159. package/build/module/sdk/FileCount/FileCount.js +63 -0
  160. package/build/module/sdk/FileCount/FileCountFilter.d.ts +2 -0
  161. package/build/module/sdk/FileCount/FileCountFilter.js +8 -0
  162. package/build/module/sdk/FileCount/Interfaces.d.ts +19 -0
  163. package/build/module/sdk/FileCount/Interfaces.js +6 -0
  164. package/build/module/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
  165. package/build/module/sdk/Filtering/DefaultFilterForDependencies.js +142 -0
  166. package/build/module/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
  167. package/build/module/sdk/Filtering/DefaultFilterForScanning.js +191 -0
  168. package/build/module/sdk/Filtering/Filtering.d.ts +80 -0
  169. package/build/module/sdk/Filtering/Filtering.js +229 -0
  170. package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
  171. package/build/module/sdk/scanner/ScannerCfg.js +3 -3
  172. package/build/module/sdk/tree/Filters/DependencyFilter.js +4 -4
  173. package/build/module/sdk/tree/Filters/ScanFilter.js +4 -4
  174. package/build/module/src/cli/bin/cli-bin.d.ts +2 -0
  175. package/build/module/src/cli/bin/cli-bin.js +67 -0
  176. package/build/module/src/cli/commands/dep.d.ts +1 -0
  177. package/build/module/src/cli/commands/dep.js +32 -0
  178. package/build/module/src/cli/commands/helpers.d.ts +2 -0
  179. package/build/module/src/cli/commands/helpers.js +19 -0
  180. package/build/module/src/cli/commands/scan.d.ts +1 -0
  181. package/build/module/src/cli/commands/scan.js +135 -0
  182. package/build/module/src/cli/commands/wfp.d.ts +1 -0
  183. package/build/module/src/cli/commands/wfp.js +48 -0
  184. package/build/module/src/index.d.ts +14 -0
  185. package/build/module/src/index.js +19 -0
  186. package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
  187. package/build/module/src/sdk/DataLayer/DataLayerTypes.js +5 -0
  188. package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
  189. package/build/module/src/sdk/DataLayer/DataProviderManager.js +21 -0
  190. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
  191. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +159 -0
  192. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
  193. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +34 -0
  194. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
  195. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +145 -0
  196. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
  197. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +30 -0
  198. package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
  199. package/build/module/src/sdk/Decompress/DecompressionManager.js +67 -0
  200. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
  201. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +16 -0
  202. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
  203. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +18 -0
  204. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
  205. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +15 -0
  206. package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
  207. package/build/module/src/sdk/Dependencies/DependencyScanner.js +93 -0
  208. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
  209. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +7 -0
  210. package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
  211. package/build/module/src/sdk/Dependencies/DependencyTypes.js +2 -0
  212. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  213. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
  214. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
  215. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +96 -0
  216. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
  217. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +87 -0
  218. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
  219. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +88 -0
  220. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  221. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +180 -0
  222. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
  223. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +175 -0
  224. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
  225. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +49 -0
  226. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  227. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +57 -0
  228. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
  229. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +125 -0
  230. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
  231. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +15 -0
  232. package/build/module/src/sdk/Report/Report.d.ts +8 -0
  233. package/build/module/src/sdk/Report/Report.js +20 -0
  234. package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
  235. package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +143 -0
  236. package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
  237. package/build/module/src/sdk/filters/DefaultFilterForScanning.js +192 -0
  238. package/build/module/src/sdk/filters/filtering.d.ts +32 -0
  239. package/build/module/src/sdk/filters/filtering.js +203 -0
  240. package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
  241. package/build/module/src/sdk/grpc/GrpcDependencyService.js +64 -0
  242. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  243. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
  244. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
  245. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
  246. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
  247. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
  248. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
  249. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
  250. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
  251. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
  252. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
  253. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
  254. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
  255. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +37 -0
  256. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
  257. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +135 -0
  258. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
  259. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +30 -0
  260. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
  261. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +26 -0
  262. package/build/module/src/sdk/scanner/Fingerprint.d.ts +16 -0
  263. package/build/module/src/sdk/scanner/Fingerprint.js +54 -0
  264. package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
  265. package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +24 -0
  266. package/build/module/src/sdk/scanner/Scanner.d.ts +46 -0
  267. package/build/module/src/sdk/scanner/Scanner.js +275 -0
  268. package/build/module/src/sdk/scanner/ScannerCfg.d.ts +16 -0
  269. package/build/module/src/sdk/scanner/ScannerCfg.js +27 -0
  270. package/build/module/src/sdk/scanner/ScannerTypes.d.ts +121 -0
  271. package/build/module/src/sdk/scanner/ScannerTypes.js +46 -0
  272. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
  273. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +28 -0
  274. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
  275. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +486 -0
  276. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
  277. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +65 -0
  278. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
  279. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +132 -0
  280. package/build/module/src/sdk/tree/File.d.ts +7 -0
  281. package/build/module/src/sdk/tree/File.js +19 -0
  282. package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
  283. package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +18 -0
  284. package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
  285. package/build/module/src/sdk/tree/Filters/DependencyFilter.js +14 -0
  286. package/build/module/src/sdk/tree/Filters/Filter.d.ts +4 -0
  287. package/build/module/src/sdk/tree/Filters/Filter.js +3 -0
  288. package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
  289. package/build/module/src/sdk/tree/Filters/ScanFilter.js +14 -0
  290. package/build/module/src/sdk/tree/Folder.d.ts +12 -0
  291. package/build/module/src/sdk/tree/Folder.js +53 -0
  292. package/build/module/src/sdk/tree/Node.d.ts +17 -0
  293. package/build/module/src/sdk/tree/Node.js +22 -0
  294. package/build/module/src/sdk/tree/Tree.d.ts +18 -0
  295. package/build/module/src/sdk/tree/Tree.js +64 -0
  296. package/build/module/tsconfig.module.tsbuildinfo +190 -144
  297. package/package-lock.json +17116 -0
  298. package/package.json +3 -3
  299. package/src/cli/bin/cli-bin.ts +7 -4
  300. package/src/index.ts +5 -0
  301. package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +10 -9
  302. package/src/sdk/FileCount/FileCount.ts +81 -0
  303. package/src/sdk/FileCount/FileCountFilter.ts +14 -0
  304. package/src/sdk/FileCount/Interfaces.ts +23 -0
  305. package/src/sdk/Filtering/DefaultFilterForDependencies.ts +148 -0
  306. package/src/sdk/Filtering/DefaultFilterForScanning.ts +206 -0
  307. package/src/sdk/Filtering/Filtering.ts +273 -0
  308. package/src/sdk/scanner/Dispatcher/Dispatcher.ts +5 -2
  309. package/src/sdk/scanner/ScannerCfg.ts +2 -2
  310. package/src/sdk/tree/Filters/DependencyFilter.ts +4 -4
  311. package/src/sdk/tree/Filters/ScanFilter.ts +4 -4
  312. package/src/sdk/tree/Node.ts +1 -1
  313. package/src/sdk/tree/Tree.ts +1 -1
  314. package/tests/sdk/FileCount/FileCount.spec.ts +35 -0
  315. package/tests/sdk/FileCount/samples/16557/.y.ts +27 -0
  316. package/tests/sdk/FileCount/samples/16557/.z.ts +129 -0
  317. package/tests/sdk/FileCount/samples/16557/files/a.ts +195 -0
  318. package/tests/sdk/FileCount/samples/16557/files/b.ts +184 -0
  319. package/tests/sdk/FileCount/samples/16557/files/c.ts +47 -0
  320. package/tests/sdk/FileCount/samples/22036/files/a.ts +195 -0
  321. package/tests/sdk/FileCount/samples/22036/files/b.ts +184 -0
  322. package/tests/sdk/FileCount/samples/22036/files/c.ts +47 -0
  323. package/tests/sdk/FileCount/samples/22036/files/d.ts +48 -0
  324. package/tests/sdk/FileCount/samples/22036/y.ts +27 -0
  325. package/tests/sdk/FileCount/samples/22036/z.ts +129 -0
  326. package/yarn.lock +316 -203
  327. package/src/sdk/filters/DefaultFilterForDependencies.ts +0 -149
  328. package/src/sdk/filters/DefaultFilterForScanning.ts +0 -207
  329. package/src/sdk/filters/filtering.ts +0 -235
@@ -0,0 +1,192 @@
1
+ // ------ FILTERS SYNC WITH PYTHON CLIENT 06/10/2021 ------ //
2
+ import { FilterListType } from "./filtering";
3
+ export const defaultFilterForScanning = {
4
+ name: 'Default',
5
+ type: FilterListType.BANNED,
6
+ filters: [
7
+ { condition: '=', value: '0', ftype: 'SIZE', scope: 'FILE' },
8
+ //Folders and files filters
9
+ { condition: 'starts', value: '.', ftype: 'NAME' },
10
+ //Folder filters
11
+ { condition: 'ends', value: '.egg-info', ftype: 'NAME', scope: 'FOLDER' },
12
+ { condition: 'fullmatch', value: 'nbproject', ftype: 'NAME', scope: 'FOLDER' },
13
+ { condition: 'fullmatch', value: 'nbbuild', ftype: 'NAME', scope: 'FOLDER' },
14
+ { condition: 'fullmatch', value: 'nbdist', ftype: 'NAME', scope: 'FOLDER' },
15
+ { condition: 'fullmatch', value: '__pycache__', ftype: 'NAME', scope: 'FOLDER' },
16
+ { condition: 'fullmatch', value: 'venv', ftype: 'NAME', scope: 'FOLDER' },
17
+ { condition: 'fullmatch', value: '_yardoc', ftype: 'NAME', scope: 'FOLDER' },
18
+ { condition: 'fullmatch', value: 'eggs', ftype: 'NAME', scope: 'FOLDER' },
19
+ { condition: 'fullmatch', value: 'wheels', ftype: 'NAME', scope: 'FOLDER' },
20
+ { condition: 'fullmatch', value: 'htmlcov', ftype: 'NAME', scope: 'FOLDER' },
21
+ { condition: 'fullmatch', value: '__pypackages__', ftype: 'NAME', scope: 'FOLDER' },
22
+ //Files filters
23
+ { condition: 'fullmatch', value: 'gradlew', ftype: 'NAME', scope: 'FILE' },
24
+ { condition: 'fullmatch', value: 'gradlew.bat', ftype: 'NAME', scope: 'FILE' },
25
+ { condition: 'fullmatch', value: 'mvnw', ftype: 'NAME', scope: 'FILE' },
26
+ { condition: 'fullmatch', value: 'mvnw.cmd', ftype: 'NAME', scope: 'FILE' },
27
+ { condition: 'fullmatch', value: 'gradle-wrapper.jar', ftype: 'NAME', scope: 'FILE' },
28
+ { condition: 'fullmatch', value: 'maven-wrapper.jar', ftype: 'NAME', scope: 'FILE' },
29
+ { condition: 'fullmatch', value: 'thumbs.db', ftype: 'NAME', scope: 'FILE' },
30
+ { condition: 'fullmatch', value: 'babel.config.js', ftype: 'NAME', scope: 'FILE' },
31
+ { condition: 'fullmatch', value: 'license.txt', ftype: 'NAME', scope: 'FILE' },
32
+ { condition: 'fullmatch', value: 'license.md', ftype: 'NAME', scope: 'FILE' },
33
+ { condition: 'fullmatch', value: 'copying.lib', ftype: 'NAME', scope: 'FILE' },
34
+ { condition: 'fullmatch', value: 'makefile', ftype: 'NAME', scope: 'FILE' },
35
+ { condition: 'starts', value: '.asar', ftype: 'NAME', scope: 'FILE' },
36
+ { condition: 'ends', value: 'news', ftype: 'NAME', scope: 'FILE' },
37
+ { condition: 'ends', value: 'authors', ftype: 'NAME', scope: 'FILE' },
38
+ { condition: 'ends', value: '-doc', ftype: 'NAME', scope: 'FILE' },
39
+ { condition: 'ends', value: 'changelog', ftype: 'NAME', scope: 'FILE' },
40
+ { condition: 'ends', value: 'config', ftype: 'NAME', scope: 'FILE' },
41
+ { condition: 'ends', value: 'copying', ftype: 'NAME', scope: 'FILE' },
42
+ { condition: 'ends', value: 'license', ftype: 'NAME', scope: 'FILE' },
43
+ { condition: 'ends', value: 'licenses', ftype: 'NAME', scope: 'FILE' },
44
+ { condition: 'ends', value: 'notice', ftype: 'NAME', scope: 'FILE' },
45
+ { condition: 'ends', value: 'readme', ftype: 'NAME', scope: 'FILE' },
46
+ { condition: 'ends', value: 'swiftdoc', ftype: 'NAME', scope: 'FILE' },
47
+ { condition: 'ends', value: 'texidoc', ftype: 'NAME', scope: 'FILE' },
48
+ { condition: 'ends', value: 'todo', ftype: 'NAME', scope: 'FILE' },
49
+ { condition: 'ends', value: 'version', ftype: 'NAME', scope: 'FILE' },
50
+ { condition: 'ends', value: 'ignore', ftype: 'NAME', scope: 'FILE' },
51
+ { condition: 'ends', value: 'manifest', ftype: 'NAME', scope: 'FILE' },
52
+ { condition: 'ends', value: 'sqlite', ftype: 'NAME', scope: 'FILE' },
53
+ { condition: 'ends', value: 'sqlite3', ftype: 'NAME', scope: 'FILE' },
54
+ { condition: '=', value: '.1', ftype: 'EXTENSION', scope: 'FILE' },
55
+ { condition: '=', value: '.2', ftype: 'EXTENSION', scope: 'FILE' },
56
+ { condition: '=', value: '.3', ftype: 'EXTENSION', scope: 'FILE' },
57
+ { condition: '=', value: '.4', ftype: 'EXTENSION', scope: 'FILE' },
58
+ { condition: '=', value: '.5', ftype: 'EXTENSION', scope: 'FILE' },
59
+ { condition: '=', value: '.6', ftype: 'EXTENSION', scope: 'FILE' },
60
+ { condition: '=', value: '.7', ftype: 'EXTENSION', scope: 'FILE' },
61
+ { condition: '=', value: '.8', ftype: 'EXTENSION', scope: 'FILE' },
62
+ { condition: '=', value: '.9', ftype: 'EXTENSION', scope: 'FILE' },
63
+ { condition: '=', value: '.ac', ftype: 'EXTENSION', scope: 'FILE' },
64
+ { condition: '=', value: '.adoc', ftype: 'EXTENSION', scope: 'FILE' },
65
+ { condition: '=', value: '.am', ftype: 'EXTENSION', scope: 'FILE' },
66
+ { condition: '=', value: '.asciidoc', ftype: 'EXTENSION', scope: 'FILE' },
67
+ { condition: '=', value: '.bmp', ftype: 'EXTENSION', scope: 'FILE' },
68
+ { condition: '=', value: '.build', ftype: 'EXTENSION', scope: 'FILE' },
69
+ { condition: '=', value: '.cfg', ftype: 'EXTENSION', scope: 'FILE' },
70
+ { condition: '=', value: '.chm', ftype: 'EXTENSION', scope: 'FILE' },
71
+ { condition: '=', value: '.class', ftype: 'EXTENSION', scope: 'FILE' },
72
+ { condition: '=', value: '.cmake', ftype: 'EXTENSION', scope: 'FILE' },
73
+ { condition: '=', value: '.cnf', ftype: 'EXTENSION', scope: 'FILE' },
74
+ { condition: '=', value: '.conf', ftype: 'EXTENSION', scope: 'FILE' },
75
+ { condition: '=', value: '.config', ftype: 'EXTENSION', scope: 'FILE' },
76
+ { condition: '=', value: '.contributors', ftype: 'EXTENSION', scope: 'FILE' },
77
+ { condition: '=', value: '.copying', ftype: 'EXTENSION', scope: 'FILE' },
78
+ { condition: '=', value: '.crt', ftype: 'EXTENSION', scope: 'FILE' },
79
+ { condition: '=', value: '.csproj', ftype: 'EXTENSION', scope: 'FILE' },
80
+ { condition: '=', value: '.css', ftype: 'EXTENSION', scope: 'FILE' },
81
+ { condition: '=', value: '.csv', ftype: 'EXTENSION', scope: 'FILE' },
82
+ { condition: '=', value: '.dat', ftype: 'EXTENSION', scope: 'FILE' },
83
+ { condition: '=', value: '.data', ftype: 'EXTENSION', scope: 'FILE' },
84
+ { condition: '=', value: '.doc', ftype: 'EXTENSION', scope: 'FILE' },
85
+ { condition: '=', value: '.docx', ftype: 'EXTENSION', scope: 'FILE' },
86
+ { condition: '=', value: '.dtd', ftype: 'EXTENSION', scope: 'FILE' },
87
+ { condition: '=', value: '.dts', ftype: 'EXTENSION', scope: 'FILE' },
88
+ { condition: '=', value: '.iws', ftype: 'EXTENSION', scope: 'FILE' },
89
+ { condition: '=', value: '.c9', ftype: 'EXTENSION', scope: 'FILE' },
90
+ { condition: '=', value: '.c9revisions', ftype: 'EXTENSION', scope: 'FILE' },
91
+ { condition: '=', value: '.dtsi', ftype: 'EXTENSION', scope: 'FILE' },
92
+ { condition: '=', value: '.dump', ftype: 'EXTENSION', scope: 'FILE' },
93
+ { condition: '=', value: '.eot', ftype: 'EXTENSION', scope: 'FILE' },
94
+ { condition: '=', value: '.eps', ftype: 'EXTENSION', scope: 'FILE' },
95
+ { condition: '=', value: '.geojson', ftype: 'EXTENSION', scope: 'FILE' },
96
+ { condition: '=', value: '.gdoc', ftype: 'EXTENSION', scope: 'FILE' },
97
+ { condition: '=', value: '.gif', ftype: 'EXTENSION', scope: 'FILE' },
98
+ { condition: '=', value: '.glif', ftype: 'EXTENSION', scope: 'FILE' },
99
+ { condition: '=', value: '.gmo', ftype: 'EXTENSION', scope: 'FILE' },
100
+ { condition: '=', value: '.gradle', ftype: 'EXTENSION', scope: 'FILE' },
101
+ { condition: '=', value: '.guess', ftype: 'EXTENSION', scope: 'FILE' },
102
+ { condition: '=', value: '.hex', ftype: 'EXTENSION', scope: 'FILE' },
103
+ { condition: '=', value: '.htm', ftype: 'EXTENSION', scope: 'FILE' },
104
+ { condition: '=', value: '.html', ftype: 'EXTENSION', scope: 'FILE' },
105
+ { condition: '=', value: '.ico', ftype: 'EXTENSION', scope: 'FILE' },
106
+ { condition: '=', value: '.iml', ftype: 'EXTENSION', scope: 'FILE' },
107
+ { condition: '=', value: '.in', ftype: 'EXTENSION', scope: 'FILE' },
108
+ { condition: '=', value: '.inc', ftype: 'EXTENSION', scope: 'FILE' },
109
+ { condition: '=', value: '.info', ftype: 'EXTENSION', scope: 'FILE' },
110
+ { condition: '=', value: '.ini', ftype: 'EXTENSION', scope: 'FILE' },
111
+ { condition: '=', value: '.ipynb', ftype: 'EXTENSION', scope: 'FILE' },
112
+ { condition: '=', value: '.jpeg', ftype: 'EXTENSION', scope: 'FILE' },
113
+ { condition: '=', value: '.jpg', ftype: 'EXTENSION', scope: 'FILE' },
114
+ { condition: '=', value: '.json', ftype: 'EXTENSION', scope: 'FILE' },
115
+ { condition: '=', value: '.jsonld', ftype: 'EXTENSION', scope: 'FILE' },
116
+ { condition: '=', value: '.lock', ftype: 'EXTENSION', scope: 'FILE' },
117
+ { condition: '=', value: '.log', ftype: 'EXTENSION', scope: 'FILE' },
118
+ { condition: '=', value: '.m4', ftype: 'EXTENSION', scope: 'FILE' },
119
+ { condition: '=', value: '.map', ftype: 'EXTENSION', scope: 'FILE' },
120
+ { condition: '=', value: '.markdown', ftype: 'EXTENSION', scope: 'FILE' },
121
+ { condition: '=', value: '.md', ftype: 'EXTENSION', scope: 'FILE' },
122
+ { condition: '=', value: '.md5', ftype: 'EXTENSION', scope: 'FILE' },
123
+ { condition: '=', value: '.meta', ftype: 'EXTENSION', scope: 'FILE' },
124
+ { condition: '=', value: '.mk', ftype: 'EXTENSION', scope: 'FILE' },
125
+ { condition: '=', value: '.mxml', ftype: 'EXTENSION', scope: 'FILE' },
126
+ { condition: '=', value: '.o', ftype: 'EXTENSION', scope: 'FILE' },
127
+ { condition: '=', value: '.otf', ftype: 'EXTENSION', scope: 'FILE' },
128
+ { condition: '=', value: '.out', ftype: 'EXTENSION', scope: 'FILE' },
129
+ { condition: '=', value: '.pbtxt', ftype: 'EXTENSION', scope: 'FILE' },
130
+ { condition: '=', value: '.pdf', ftype: 'EXTENSION', scope: 'FILE' },
131
+ { condition: '=', value: '.pem', ftype: 'EXTENSION', scope: 'FILE' },
132
+ { condition: '=', value: '.phtml', ftype: 'EXTENSION', scope: 'FILE' },
133
+ { condition: '=', value: '.plist', ftype: 'EXTENSION', scope: 'FILE' },
134
+ { condition: '=', value: '.png', ftype: 'EXTENSION', scope: 'FILE' },
135
+ { condition: '=', value: '.po', ftype: 'EXTENSION', scope: 'FILE' },
136
+ { condition: '=', value: '.ppt', ftype: 'EXTENSION', scope: 'FILE' },
137
+ { condition: '=', value: '.prefs', ftype: 'EXTENSION', scope: 'FILE' },
138
+ { condition: '=', value: '.properties', ftype: 'EXTENSION', scope: 'FILE' },
139
+ { condition: '=', value: '.pyc', ftype: 'EXTENSION', scope: 'FILE' },
140
+ { condition: '=', value: '.qdoc', ftype: 'EXTENSION', scope: 'FILE' },
141
+ { condition: '=', value: '.result', ftype: 'EXTENSION', scope: 'FILE' },
142
+ { condition: '=', value: '.rgb', ftype: 'EXTENSION', scope: 'FILE' },
143
+ { condition: '=', value: '.rst', ftype: 'EXTENSION', scope: 'FILE' },
144
+ { condition: '=', value: '.scss', ftype: 'EXTENSION', scope: 'FILE' },
145
+ { condition: '=', value: '.sha', ftype: 'EXTENSION', scope: 'FILE' },
146
+ { condition: '=', value: '.sha1', ftype: 'EXTENSION', scope: 'FILE' },
147
+ { condition: '=', value: '.sha2', ftype: 'EXTENSION', scope: 'FILE' },
148
+ { condition: '=', value: '.sha256', ftype: 'EXTENSION', scope: 'FILE' },
149
+ { condition: '=', value: '.sln', ftype: 'EXTENSION', scope: 'FILE' },
150
+ { condition: '=', value: '.spec', ftype: 'EXTENSION', scope: 'FILE' },
151
+ { condition: '=', value: '.sql', ftype: 'EXTENSION', scope: 'FILE' },
152
+ { condition: '=', value: '.sub', ftype: 'EXTENSION', scope: 'FILE' },
153
+ { condition: '=', value: '.svg', ftype: 'EXTENSION', scope: 'FILE' },
154
+ { condition: '=', value: '.svn-base', ftype: 'EXTENSION', scope: 'FILE' },
155
+ { condition: '=', value: '.tab', ftype: 'EXTENSION', scope: 'FILE' },
156
+ { condition: '=', value: '.template', ftype: 'EXTENSION', scope: 'FILE' },
157
+ { condition: '=', value: '.test', ftype: 'EXTENSION', scope: 'FILE' },
158
+ { condition: '=', value: '.tex', ftype: 'EXTENSION', scope: 'FILE' },
159
+ { condition: '=', value: '.tiff', ftype: 'EXTENSION', scope: 'FILE' },
160
+ { condition: '=', value: '.toml', ftype: 'EXTENSION', scope: 'FILE' },
161
+ { condition: '=', value: '.ttf', ftype: 'EXTENSION', scope: 'FILE' },
162
+ { condition: '=', value: '.txt', ftype: 'EXTENSION', scope: 'FILE' },
163
+ { condition: '=', value: '.utf-8', ftype: 'EXTENSION', scope: 'FILE' },
164
+ { condition: '=', value: '.vim', ftype: 'EXTENSION', scope: 'FILE' },
165
+ { condition: '=', value: '.wav', ftype: 'EXTENSION', scope: 'FILE' },
166
+ { condition: '=', value: '.whl', ftype: 'EXTENSION', scope: 'FILE' },
167
+ { condition: '=', value: '.woff', ftype: 'EXTENSION', scope: 'FILE' },
168
+ { condition: '=', value: '.xht', ftype: 'EXTENSION', scope: 'FILE' },
169
+ { condition: '=', value: '.xhtml', ftype: 'EXTENSION', scope: 'FILE' },
170
+ { condition: '=', value: '.xls', ftype: 'EXTENSION', scope: 'FILE' },
171
+ { condition: '=', value: '.xlsx', ftype: 'EXTENSION', scope: 'FILE' },
172
+ { condition: '=', value: '.xml', ftype: 'EXTENSION', scope: 'FILE' },
173
+ { condition: '=', value: '.xpm', ftype: 'EXTENSION', scope: 'FILE' },
174
+ { condition: '=', value: '.xsd', ftype: 'EXTENSION', scope: 'FILE' },
175
+ { condition: '=', value: '.xul', ftype: 'EXTENSION', scope: 'FILE' },
176
+ { condition: '=', value: '.yaml', ftype: 'EXTENSION', scope: 'FILE' },
177
+ { condition: '=', value: '.yml', ftype: 'EXTENSION', scope: 'FILE' },
178
+ { condition: '=', value: '.wfp', ftype: 'EXTENSION', scope: 'FILE' },
179
+ { condition: '=', value: '.editorconfig', ftype: 'EXTENSION', scope: 'FILE' },
180
+ { condition: '=', value: '.dotcover', ftype: 'EXTENSION', scope: 'FILE' },
181
+ { condition: '=', value: '.pid', ftype: 'EXTENSION', scope: 'FILE' },
182
+ { condition: '=', value: '.lcov', ftype: 'EXTENSION', scope: 'FILE' },
183
+ { condition: '=', value: '.egg', ftype: 'EXTENSION', scope: 'FILE' },
184
+ { condition: '=', value: '.manifest', ftype: 'EXTENSION', scope: 'FILE' },
185
+ { condition: '=', value: '.cache', ftype: 'EXTENSION', scope: 'FILE' },
186
+ { condition: '=', value: '.coverage', ftype: 'EXTENSION', scope: 'FILE' },
187
+ { condition: '=', value: '.cover', ftype: 'EXTENSION', scope: 'FILE' },
188
+ { condition: '=', value: '.gem', ftype: 'EXTENSION', scope: 'FILE' },
189
+ { condition: '=', value: '.lst', ftype: 'EXTENSION', scope: 'FILE' },
190
+ ],
191
+ };
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEZpbHRlckZvclNjYW5uaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9maWx0ZXJzL0RlZmF1bHRGaWx0ZXJGb3JTY2FubmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTTtJQUMzQixPQUFPLEVBQUU7UUFDUCxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFFNUQsMkJBQTJCO1FBQzNCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFFbEQsZ0JBQWdCO1FBQ2hCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUV6RSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDOUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFHO1FBQzdFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRztRQUM1RSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUc7UUFDakYsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFHO1FBQzFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRztRQUM3RSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUc7UUFDMUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFHO1FBQzVFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRztRQUM3RSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRztRQUdwRixlQUFlO1FBRWYsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQzFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUM5RSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdkUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQzNFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BGLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUM1RSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNsRixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDOUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQzdFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUM5RSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFHM0UsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBR3JFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNsRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFHckUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ2xFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN2RSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdEUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdEUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNsRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN0RSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBRXJFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNsRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDbEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ2xFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNsRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDbEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ2xFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNsRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDbEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ2xFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNuRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ25FLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN6RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN0RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN2RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDN0UsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3hFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdkUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ25FLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUM1RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3hFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdkUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ25FLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN0RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdkUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDbkUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN6RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDbkUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDbkUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNsRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN0RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN0RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNuRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUMzRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN2RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdkUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDekUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN6RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDckUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNyRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQzdFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN6RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDcEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDekUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3RFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN6RSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDdEUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3BFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtLQUNyRTtDQUNGLENBQUMifQ==
@@ -0,0 +1,32 @@
1
+ export declare enum FilterType {
2
+ NAME = "NAME",
3
+ CONTENT = "CONTENT",
4
+ EXTENSION = "EXTENSION",
5
+ SIZE = "SIZE",
6
+ DATE = "DATE"
7
+ }
8
+ export declare enum FilterListType {
9
+ BANNED = "BANNED",
10
+ WHITELIST = "WHITELIST"
11
+ }
12
+ declare class AbstractFilter {
13
+ condition: string;
14
+ value: string;
15
+ ftype: string;
16
+ scope: string;
17
+ constructor(condition: string, value: string);
18
+ evaluate(path: string): boolean;
19
+ }
20
+ export declare class FilterList {
21
+ type: FilterListType;
22
+ name: string;
23
+ filters: AbstractFilter[];
24
+ constructor(name: string);
25
+ addFilter(filter: AbstractFilter): void;
26
+ evaluate(path: string): boolean;
27
+ include(path: string): boolean;
28
+ save(path: string): void;
29
+ loadFromFile(path: string): void;
30
+ load(fList: FilterList): void;
31
+ }
32
+ export {};
@@ -0,0 +1,203 @@
1
+ import fs from 'fs';
2
+ import * as fpath from 'path';
3
+ import { isBinaryFileSync } from 'isbinaryfile';
4
+ export var FilterType;
5
+ (function (FilterType) {
6
+ FilterType["NAME"] = "NAME";
7
+ FilterType["CONTENT"] = "CONTENT";
8
+ FilterType["EXTENSION"] = "EXTENSION";
9
+ FilterType["SIZE"] = "SIZE";
10
+ FilterType["DATE"] = "DATE";
11
+ })(FilterType || (FilterType = {}));
12
+ ;
13
+ export var FilterListType;
14
+ (function (FilterListType) {
15
+ FilterListType["BANNED"] = "BANNED";
16
+ FilterListType["WHITELIST"] = "WHITELIST";
17
+ })(FilterListType || (FilterListType = {}));
18
+ ;
19
+ class AbstractFilter {
20
+ constructor(condition, value) {
21
+ this.condition = condition;
22
+ this.value = value;
23
+ this.ftype = 'NONE';
24
+ this.scope = 'ALL';
25
+ }
26
+ evaluate(path) {
27
+ return true;
28
+ }
29
+ }
30
+ class NameFilter extends AbstractFilter {
31
+ constructor(condition, value, scope) {
32
+ super(condition, value);
33
+ this.ftype = 'NAME';
34
+ this.scope = scope || super.scope;
35
+ }
36
+ evaluate(path) {
37
+ this.value = this.value.toLowerCase();
38
+ path = path.toLowerCase();
39
+ if (this.condition === 'contains') {
40
+ return !(path.indexOf(this.value) >= 0);
41
+ }
42
+ if (this.condition === 'fullmatch')
43
+ return fpath.basename(path) !== this.value;
44
+ if (this.condition === 'starts') {
45
+ let filename;
46
+ filename = fpath.basename(path);
47
+ return !filename.startsWith(this.value);
48
+ }
49
+ if (this.condition === 'ends') {
50
+ let filename;
51
+ filename = fpath.basename(path);
52
+ return !filename.endsWith(this.value);
53
+ }
54
+ return true;
55
+ }
56
+ }
57
+ class ContentFilter extends AbstractFilter {
58
+ constructor(condition, value, scope) {
59
+ super(condition, value);
60
+ this.ftype = 'CONTENT';
61
+ this.scope = scope || super.scope; // Verificar
62
+ }
63
+ evaluate(path) {
64
+ const binary = isBinaryFileSync(path);
65
+ if (this.condition === '=' && this.value === 'BINARY' && binary)
66
+ return false;
67
+ if (this.condition === '!=' && this.value === 'TEXT' && binary)
68
+ return false;
69
+ if (this.condition === '=' && this.value === 'TEXT' && !binary)
70
+ return false;
71
+ if (this.condition === '!=' && this.value === 'BINARY' && !binary)
72
+ return false;
73
+ return true;
74
+ }
75
+ }
76
+ class ExtensionFilter extends AbstractFilter {
77
+ constructor(condition, value, scope) {
78
+ super(condition, value);
79
+ this.ftype = 'EXTENSION';
80
+ this.scope = scope || super.scope; // Verificar
81
+ }
82
+ evaluate(path) {
83
+ path = path.toLowerCase();
84
+ this.value = this.value.toLowerCase();
85
+ return !path.endsWith(this.value);
86
+ }
87
+ }
88
+ class SizeFilter extends AbstractFilter {
89
+ constructor(condition, value, scope) {
90
+ super(condition, value);
91
+ this.ftype = 'SIZE';
92
+ this.scope = scope || super.scope; // Verificar
93
+ }
94
+ evaluate(path) {
95
+ const stat = fs.statSync(path);
96
+ if (this.condition === '>') {
97
+ if (stat.size > parseInt(this.value, 10)) {
98
+ // console.log("NO aceptado por que NO es mayor");
99
+ return false;
100
+ }
101
+ return true;
102
+ }
103
+ if (this.condition === '<') {
104
+ if (stat.size < parseInt(this.value, 10)) {
105
+ return false;
106
+ }
107
+ return true;
108
+ }
109
+ if (this.condition === '=') {
110
+ if (stat.size === parseInt(this.value, 10)) {
111
+ return false;
112
+ }
113
+ return true;
114
+ }
115
+ return true;
116
+ }
117
+ }
118
+ class DateFilter extends AbstractFilter {
119
+ constructor(condition, value, scope) {
120
+ super(condition, value);
121
+ this.ftype = 'DATE';
122
+ this.scope = scope || super.scope; // Verificar
123
+ }
124
+ evaluate(path) {
125
+ const stats = fs.statSync(path);
126
+ modified = stats.mtime;
127
+ const lDate = new Date(this.value);
128
+ const ms = stats.mtimeMs;
129
+ var modified = new Date(ms);
130
+ // console.log(lDate);
131
+ // console.log(modified);
132
+ if (this.condition === '>') {
133
+ if (modified > lDate) {
134
+ return false;
135
+ }
136
+ return true;
137
+ }
138
+ if (this.condition === '<') {
139
+ if (modified < lDate) {
140
+ return false;
141
+ }
142
+ return true;
143
+ }
144
+ return true;
145
+ }
146
+ }
147
+ export class FilterList {
148
+ constructor(name) {
149
+ this.name = name;
150
+ this.filters = [];
151
+ }
152
+ addFilter(filter) {
153
+ this.filters.push(filter);
154
+ }
155
+ // Returns false if the path match with some filter in the list
156
+ evaluate(path) {
157
+ const pathStat = fs.lstatSync(path);
158
+ let i;
159
+ for (i = 0; i < this.filters.length; i += 1) {
160
+ const evaluation = this.filters[i].evaluate(path);
161
+ if (this.filters[i].scope === 'FOLDER' && pathStat.isDirectory() && !evaluation)
162
+ return false;
163
+ if (this.filters[i].scope === 'FILE' && pathStat.isFile() && !evaluation)
164
+ return false;
165
+ if (this.filters[i].scope === 'ALL' && !evaluation)
166
+ return false;
167
+ }
168
+ return true;
169
+ }
170
+ include(path) {
171
+ if (this.type === FilterListType.BANNED)
172
+ return this.evaluate(path);
173
+ return !this.evaluate(path);
174
+ }
175
+ save(path) {
176
+ fs.writeFileSync(path, JSON.stringify(this.filters).toString());
177
+ }
178
+ loadFromFile(path) {
179
+ const json = fs.readFileSync(path, 'utf8');
180
+ const filters = JSON.parse(json);
181
+ this.load(filters);
182
+ }
183
+ load(fList) {
184
+ this.name = fList.name;
185
+ this.type = fList.type;
186
+ const a = fList.filters;
187
+ let i;
188
+ for (i = 0; i < a.length; i += 1) {
189
+ const scope = a[i].scope || 'ALL';
190
+ if (a[i].ftype === 'NAME')
191
+ this.addFilter(new NameFilter(a[i].condition, a[i].value, scope));
192
+ if (a[i].ftype === 'DATE')
193
+ this.addFilter(new DateFilter(a[i].condition, a[i].value, scope));
194
+ if (a[i].ftype === 'SIZE')
195
+ this.addFilter(new SizeFilter(a[i].condition, a[i].value, scope));
196
+ if (a[i].ftype === 'EXTENSION')
197
+ this.addFilter(new ExtensionFilter(a[i].condition, a[i].value, scope));
198
+ if (a[i].ftype === 'CONTENT')
199
+ this.addFilter(new ContentFilter(a[i].condition, a[i].value, scope));
200
+ }
201
+ }
202
+ }
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9maWx0ZXJzL2ZpbHRlcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxLQUFLLEtBQUssTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhELE1BQU0sQ0FBTixJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIsMkJBQWEsQ0FBQTtJQUNiLGlDQUFtQixDQUFBO0lBQ25CLHFDQUF1QixDQUFBO0lBQ3ZCLDJCQUFhLENBQUE7SUFDYiwyQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLFVBQVUsS0FBVixVQUFVLFFBTXJCO0FBQUEsQ0FBQztBQUVGLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsbUNBQWlCLENBQUE7SUFDakIseUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCO0FBQUEsQ0FBQztBQUVGLE1BQU0sY0FBYztJQVNsQixZQUFZLFNBQWlCLEVBQUUsS0FBYTtRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVcsU0FBUSxjQUFjO0lBQ3JDLFlBQVksU0FBaUIsRUFBRSxLQUFhLEVBQUUsS0FBYTtRQUN6RCxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElB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
@@ -0,0 +1,11 @@
1
+ import * as DependenciesMessages from './scanoss/api/dependencies/v2/scanoss-dependencies_pb';
2
+ import * as CommonMessages from './scanoss/api/common/v2/scanoss-common_pb';
3
+ export declare class GrpcDependencyService {
4
+ private client;
5
+ private metadata;
6
+ constructor(endpoint: string, port: string, apiKey?: string);
7
+ get(req: DependenciesMessages.DependencyRequest): Promise<DependenciesMessages.DependencyResponse>;
8
+ buildDependencyRequestMsg(plainObj: DependenciesMessages.DependencyRequest.AsObject): DependenciesMessages.DependencyRequest;
9
+ echo(req: CommonMessages.EchoRequest): Promise<CommonMessages.EchoResponse>;
10
+ buildEchoRequestMsg(plainObj: CommonMessages.EchoRequest.AsObject): CommonMessages.EchoRequest;
11
+ }
@@ -0,0 +1,64 @@
1
+ import * as grpc from '@grpc/grpc-js';
2
+ import { DependenciesClient } from './scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb';
3
+ import * as DependenciesMessages from './scanoss/api/dependencies/v2/scanoss-dependencies_pb';
4
+ import * as CommonMessages from './scanoss/api/common/v2/scanoss-common_pb';
5
+ export class GrpcDependencyService {
6
+ constructor(endpoint, port, apiKey = '') {
7
+ this.client = new DependenciesClient(endpoint + ':' + port, grpc.credentials.createSsl());
8
+ if (apiKey) {
9
+ this.metadata = new grpc.Metadata();
10
+ this.metadata.add('x-api-key', apiKey);
11
+ }
12
+ }
13
+ async get(req) {
14
+ return new Promise((resolve, reject) => {
15
+ this.client.getDependencies(req, (err, response) => {
16
+ if (err)
17
+ reject(err);
18
+ resolve(response);
19
+ });
20
+ });
21
+ }
22
+ buildDependencyRequestMsg(plainObj) {
23
+ try {
24
+ const depMessage = new DependenciesMessages.DependencyRequest();
25
+ for (const dependency of plainObj.filesList) {
26
+ const fileMsg = new DependenciesMessages.DependencyRequest.Files();
27
+ fileMsg.setFile(dependency.file);
28
+ for (const purl of dependency.purlsList) {
29
+ const purlMsg = new DependenciesMessages.DependencyRequest.Purls();
30
+ purlMsg.setPurl(purl.purl);
31
+ purlMsg.setRequirement(purl?.requirement);
32
+ fileMsg.addPurls(purlMsg);
33
+ }
34
+ depMessage.addFiles(fileMsg);
35
+ }
36
+ return depMessage;
37
+ }
38
+ catch (e) {
39
+ console.error(e);
40
+ return null;
41
+ }
42
+ }
43
+ async echo(req) {
44
+ return new Promise((resolve, reject) => {
45
+ this.client.echo(req, (err, response) => {
46
+ if (err)
47
+ reject(err);
48
+ resolve(response);
49
+ });
50
+ });
51
+ }
52
+ buildEchoRequestMsg(plainObj) {
53
+ try {
54
+ const echoMessage = new CommonMessages.EchoRequest();
55
+ echoMessage.setMessage(plainObj.message);
56
+ return echoMessage;
57
+ }
58
+ catch (e) {
59
+ console.error(e);
60
+ return null;
61
+ }
62
+ }
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JwY0RlcGVuZGVuY3lTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9ncnBjL0dycGNEZXBlbmRlbmN5U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNoRyxPQUFPLEtBQUssb0JBQW9CLE1BQU0sdURBQXVELENBQUM7QUFDOUYsT0FBTyxLQUFLLGNBQWMsTUFBTSwyQ0FBMkMsQ0FBQTtBQUUzRSxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLFlBQVksUUFBZ0IsRUFBRSxJQUFZLEVBQUUsTUFBTSxHQUFDLEVBQUU7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFHLE1BQU0sRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBMkM7UUFDMUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pELElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHlCQUF5QixDQUFDLFFBQXlEO1FBQ3hGLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEUsS0FBSyxNQUFNLFVBQVUsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFO2dCQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFO29CQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDM0IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQzFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzNCO2dCQUNELFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUI7WUFDRCxPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUdNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBK0I7UUFDL0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdNLG1CQUFtQixDQUFDLFFBQTZDO1FBQ3RFLElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxPQUFPLFdBQVcsQ0FBQztTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztDQUVGIn0=
@@ -0,0 +1,2 @@
1
+ // GENERATED CODE -- NO SERVICES IN PROTO
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbm9zcy1jb21tb25fZ3JwY19wYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvZ3JwYy9zY2Fub3NzL2FwaS9jb21tb24vdjIvc2Nhbm9zcy1jb21tb25fZ3JwY19wYi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUMifQ==