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.
- package/.idea/workspace.xml +64 -47
- package/.nyc_output/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
- package/.nyc_output/processinfo/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/build/main/cli/bin/cli-bin.d.ts +2 -1
- package/build/main/cli/bin/cli-bin.js +10 -2
- package/build/main/index.d.ts +2 -0
- package/build/main/index.js +3 -1
- package/build/main/package.json +120 -0
- package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
- package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
- package/build/main/sdk/FileCount/FileCount.d.ts +6 -0
- package/build/main/sdk/FileCount/FileCount.js +88 -0
- package/build/main/sdk/FileCount/FileCountFilter.d.ts +2 -0
- package/build/main/sdk/FileCount/FileCountFilter.js +10 -0
- package/build/main/sdk/FileCount/Interfaces.d.ts +19 -0
- package/build/main/sdk/FileCount/Interfaces.js +8 -0
- package/build/main/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
- package/build/main/sdk/Filtering/DefaultFilterForDependencies.js +144 -0
- package/build/main/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
- package/build/main/sdk/Filtering/DefaultFilterForScanning.js +193 -0
- package/build/main/sdk/Filtering/Filtering.d.ts +80 -0
- package/build/main/sdk/Filtering/Filtering.js +259 -0
- package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
- package/build/main/sdk/scanner/ScannerCfg.js +3 -3
- package/build/main/sdk/tree/Filters/DependencyFilter.js +4 -4
- package/build/main/sdk/tree/Filters/ScanFilter.js +4 -4
- package/build/main/src/cli/bin/cli-bin.d.ts +2 -0
- package/build/main/src/cli/bin/cli-bin.js +68 -0
- package/build/main/src/cli/commands/dep.d.ts +1 -0
- package/build/main/src/cli/commands/dep.js +38 -0
- package/build/main/src/cli/commands/helpers.d.ts +2 -0
- package/build/main/src/cli/commands/helpers.js +25 -0
- package/build/main/src/cli/commands/scan.d.ts +1 -0
- package/build/main/src/cli/commands/scan.js +138 -0
- package/build/main/src/cli/commands/wfp.d.ts +1 -0
- package/build/main/src/cli/commands/wfp.js +54 -0
- package/build/main/src/index.d.ts +14 -0
- package/build/main/src/index.js +30 -0
- package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
- package/build/main/src/sdk/DataLayer/DataLayerTypes.js +5 -0
- package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
- package/build/main/src/sdk/DataLayer/DataProviderManager.js +24 -0
- package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
- package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +164 -0
- package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
- package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +37 -0
- package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
- package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +148 -0
- package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
- package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +33 -0
- package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
- package/build/main/src/sdk/Decompress/DecompressionManager.js +73 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +22 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +24 -0
- package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
- package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +18 -0
- package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
- package/build/main/src/sdk/Dependencies/DependencyScanner.js +96 -0
- package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
- package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +10 -0
- package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
- package/build/main/src/sdk/Dependencies/DependencyTypes.js +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +102 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +95 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +97 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +183 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +187 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +58 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +64 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +132 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +19 -0
- package/build/main/src/sdk/Report/Report.d.ts +8 -0
- package/build/main/src/sdk/Report/Report.js +26 -0
- package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
- package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +145 -0
- package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
- package/build/main/src/sdk/filters/DefaultFilterForScanning.js +194 -0
- package/build/main/src/sdk/filters/filtering.d.ts +32 -0
- package/build/main/src/sdk/filters/filtering.js +228 -0
- package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
- package/build/main/src/sdk/grpc/GrpcDependencyService.js +86 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +43 -0
- package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
- package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +160 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +33 -0
- package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
- package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +32 -0
- package/build/main/src/sdk/scanner/Fingerprint.d.ts +16 -0
- package/build/main/src/sdk/scanner/Fingerprint.js +78 -0
- package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
- package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +27 -0
- package/build/main/src/sdk/scanner/Scanner.d.ts +46 -0
- package/build/main/src/sdk/scanner/Scanner.js +283 -0
- package/build/main/src/sdk/scanner/ScannerCfg.d.ts +16 -0
- package/build/main/src/sdk/scanner/ScannerCfg.js +30 -0
- package/build/main/src/sdk/scanner/ScannerTypes.d.ts +121 -0
- package/build/main/src/sdk/scanner/ScannerTypes.js +48 -0
- package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
- package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +31 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +492 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +68 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +139 -0
- package/build/main/src/sdk/tree/File.d.ts +7 -0
- package/build/main/src/sdk/tree/File.js +24 -0
- package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
- package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +21 -0
- package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
- package/build/main/src/sdk/tree/Filters/DependencyFilter.js +17 -0
- package/build/main/src/sdk/tree/Filters/Filter.d.ts +4 -0
- package/build/main/src/sdk/tree/Filters/Filter.js +6 -0
- package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
- package/build/main/src/sdk/tree/Filters/ScanFilter.js +17 -0
- package/build/main/src/sdk/tree/Folder.d.ts +12 -0
- package/build/main/src/sdk/tree/Folder.js +58 -0
- package/build/main/src/sdk/tree/Node.d.ts +17 -0
- package/build/main/src/sdk/tree/Node.js +25 -0
- package/build/main/src/sdk/tree/Tree.d.ts +18 -0
- package/build/main/src/sdk/tree/Tree.js +70 -0
- package/build/main/tsconfig.tsbuildinfo +190 -144
- package/build/module/cli/bin/cli-bin.d.ts +2 -1
- package/build/module/cli/bin/cli-bin.js +6 -2
- package/build/module/index.d.ts +2 -0
- package/build/module/index.js +3 -1
- package/build/module/package.json +120 -0
- package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
- package/build/module/sdk/FileCount/FileCount.d.ts +6 -0
- package/build/module/sdk/FileCount/FileCount.js +63 -0
- package/build/module/sdk/FileCount/FileCountFilter.d.ts +2 -0
- package/build/module/sdk/FileCount/FileCountFilter.js +8 -0
- package/build/module/sdk/FileCount/Interfaces.d.ts +19 -0
- package/build/module/sdk/FileCount/Interfaces.js +6 -0
- package/build/module/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
- package/build/module/sdk/Filtering/DefaultFilterForDependencies.js +142 -0
- package/build/module/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
- package/build/module/sdk/Filtering/DefaultFilterForScanning.js +191 -0
- package/build/module/sdk/Filtering/Filtering.d.ts +80 -0
- package/build/module/sdk/Filtering/Filtering.js +229 -0
- package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
- package/build/module/sdk/scanner/ScannerCfg.js +3 -3
- package/build/module/sdk/tree/Filters/DependencyFilter.js +4 -4
- package/build/module/sdk/tree/Filters/ScanFilter.js +4 -4
- package/build/module/src/cli/bin/cli-bin.d.ts +2 -0
- package/build/module/src/cli/bin/cli-bin.js +67 -0
- package/build/module/src/cli/commands/dep.d.ts +1 -0
- package/build/module/src/cli/commands/dep.js +32 -0
- package/build/module/src/cli/commands/helpers.d.ts +2 -0
- package/build/module/src/cli/commands/helpers.js +19 -0
- package/build/module/src/cli/commands/scan.d.ts +1 -0
- package/build/module/src/cli/commands/scan.js +135 -0
- package/build/module/src/cli/commands/wfp.d.ts +1 -0
- package/build/module/src/cli/commands/wfp.js +48 -0
- package/build/module/src/index.d.ts +14 -0
- package/build/module/src/index.js +19 -0
- package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
- package/build/module/src/sdk/DataLayer/DataLayerTypes.js +5 -0
- package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
- package/build/module/src/sdk/DataLayer/DataProviderManager.js +21 -0
- package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
- package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +159 -0
- package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
- package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +34 -0
- package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
- package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +145 -0
- package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
- package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +30 -0
- package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
- package/build/module/src/sdk/Decompress/DecompressionManager.js +67 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +16 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +18 -0
- package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
- package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +15 -0
- package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
- package/build/module/src/sdk/Dependencies/DependencyScanner.js +93 -0
- package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
- package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +7 -0
- package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
- package/build/module/src/sdk/Dependencies/DependencyTypes.js +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +96 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +87 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +88 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +180 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +175 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +49 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +57 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +125 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +15 -0
- package/build/module/src/sdk/Report/Report.d.ts +8 -0
- package/build/module/src/sdk/Report/Report.js +20 -0
- package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
- package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +143 -0
- package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
- package/build/module/src/sdk/filters/DefaultFilterForScanning.js +192 -0
- package/build/module/src/sdk/filters/filtering.d.ts +32 -0
- package/build/module/src/sdk/filters/filtering.js +203 -0
- package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
- package/build/module/src/sdk/grpc/GrpcDependencyService.js +64 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +37 -0
- package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
- package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +135 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +30 -0
- package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
- package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +26 -0
- package/build/module/src/sdk/scanner/Fingerprint.d.ts +16 -0
- package/build/module/src/sdk/scanner/Fingerprint.js +54 -0
- package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
- package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +24 -0
- package/build/module/src/sdk/scanner/Scanner.d.ts +46 -0
- package/build/module/src/sdk/scanner/Scanner.js +275 -0
- package/build/module/src/sdk/scanner/ScannerCfg.d.ts +16 -0
- package/build/module/src/sdk/scanner/ScannerCfg.js +27 -0
- package/build/module/src/sdk/scanner/ScannerTypes.d.ts +121 -0
- package/build/module/src/sdk/scanner/ScannerTypes.js +46 -0
- package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
- package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +28 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +486 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +65 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +132 -0
- package/build/module/src/sdk/tree/File.d.ts +7 -0
- package/build/module/src/sdk/tree/File.js +19 -0
- package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
- package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +18 -0
- package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
- package/build/module/src/sdk/tree/Filters/DependencyFilter.js +14 -0
- package/build/module/src/sdk/tree/Filters/Filter.d.ts +4 -0
- package/build/module/src/sdk/tree/Filters/Filter.js +3 -0
- package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
- package/build/module/src/sdk/tree/Filters/ScanFilter.js +14 -0
- package/build/module/src/sdk/tree/Folder.d.ts +12 -0
- package/build/module/src/sdk/tree/Folder.js +53 -0
- package/build/module/src/sdk/tree/Node.d.ts +17 -0
- package/build/module/src/sdk/tree/Node.js +22 -0
- package/build/module/src/sdk/tree/Tree.d.ts +18 -0
- package/build/module/src/sdk/tree/Tree.js +64 -0
- package/build/module/tsconfig.module.tsbuildinfo +190 -144
- package/package-lock.json +17116 -0
- package/package.json +3 -3
- package/src/cli/bin/cli-bin.ts +7 -4
- package/src/index.ts +5 -0
- package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +10 -9
- package/src/sdk/FileCount/FileCount.ts +81 -0
- package/src/sdk/FileCount/FileCountFilter.ts +14 -0
- package/src/sdk/FileCount/Interfaces.ts +23 -0
- package/src/sdk/Filtering/DefaultFilterForDependencies.ts +148 -0
- package/src/sdk/Filtering/DefaultFilterForScanning.ts +206 -0
- package/src/sdk/Filtering/Filtering.ts +273 -0
- package/src/sdk/scanner/Dispatcher/Dispatcher.ts +5 -2
- package/src/sdk/scanner/ScannerCfg.ts +2 -2
- package/src/sdk/tree/Filters/DependencyFilter.ts +4 -4
- package/src/sdk/tree/Filters/ScanFilter.ts +4 -4
- package/src/sdk/tree/Node.ts +1 -1
- package/src/sdk/tree/Tree.ts +1 -1
- package/tests/sdk/FileCount/FileCount.spec.ts +35 -0
- package/tests/sdk/FileCount/samples/16557/.y.ts +27 -0
- package/tests/sdk/FileCount/samples/16557/.z.ts +129 -0
- package/tests/sdk/FileCount/samples/16557/files/a.ts +195 -0
- package/tests/sdk/FileCount/samples/16557/files/b.ts +184 -0
- package/tests/sdk/FileCount/samples/16557/files/c.ts +47 -0
- package/tests/sdk/FileCount/samples/22036/files/a.ts +195 -0
- package/tests/sdk/FileCount/samples/22036/files/b.ts +184 -0
- package/tests/sdk/FileCount/samples/22036/files/c.ts +47 -0
- package/tests/sdk/FileCount/samples/22036/files/d.ts +48 -0
- package/tests/sdk/FileCount/samples/22036/y.ts +27 -0
- package/tests/sdk/FileCount/samples/22036/z.ts +129 -0
- package/yarn.lock +316 -203
- package/src/sdk/filters/DefaultFilterForDependencies.ts +0 -149
- package/src/sdk/filters/DefaultFilterForScanning.ts +0 -207
- package/src/sdk/filters/filtering.ts +0 -235
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "scanoss",
|
|
3
|
+
"version": "0.6.2",
|
|
4
|
+
"description": "The SCANOSS JS package provides a simple, easy to consume module for interacting with SCANOSS APIs/Engine.",
|
|
5
|
+
"main": "build/main/index.js",
|
|
6
|
+
"typings": "build/main/index.d.ts",
|
|
7
|
+
"module": "build/module/index.js",
|
|
8
|
+
"repository": "https://github.com/scanoss/scanoss.js",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"keywords": [],
|
|
11
|
+
"bin": {
|
|
12
|
+
"scanoss-js": "build/main/cli/bin/cli-bin.js"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "run-p build:*",
|
|
16
|
+
"build:main": "tsc -p tsconfig.json",
|
|
17
|
+
"build:module": "tsc -p tsconfig.module.json",
|
|
18
|
+
"fix": "run-s fix:*",
|
|
19
|
+
"fix:prettier": "prettier \"src/**/*.ts\" --write",
|
|
20
|
+
"fix:lint": "eslint src --ext .ts --fix",
|
|
21
|
+
"test": "mocha -r ts-node/register 'tests/**/*.ts'",
|
|
22
|
+
"test:lint": "eslint src --ext .ts",
|
|
23
|
+
"test:prettier": "prettier \"src/**/*.ts\" --list-different",
|
|
24
|
+
"test:spelling": "cspell \"{README.md,.github/*.md,src/**/*.ts}\"",
|
|
25
|
+
"check-cli": "run-s test diff-integration-tests check-integration-tests",
|
|
26
|
+
"check-integration-tests": "run-s check-integration-test:*",
|
|
27
|
+
"diff-integration-tests": "mkdir -p diff && rm -rf diff/test && cp -r test diff/test && rm -rf diff/test/test-*/.git && cd diff && git init --quiet && git add -A && git commit --quiet --no-verify --allow-empty -m 'WIP' && echo '\\n\\nCommitted most recent integration test output in the \"diff\" directory. Review the changes with \"cd diff && git diff HEAD\" or your preferred git diff viewer.'",
|
|
28
|
+
"watch:build": "tsc -p tsconfig.json -w",
|
|
29
|
+
"cov": "run-s build test:unit cov:html cov:lcov && open-cli coverage/index.html",
|
|
30
|
+
"cov:html": "nyc report --reporter=html",
|
|
31
|
+
"cov:lcov": "nyc report --reporter=lcov",
|
|
32
|
+
"cov:send": "run-s cov:lcov && codecov",
|
|
33
|
+
"cov:check": "nyc report && nyc check-coverage --lines 100 --functions 100 --branches 100",
|
|
34
|
+
"doc": "run-s doc:html && open-cli build/docs/index.html",
|
|
35
|
+
"doc:html": "typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --out build/docs",
|
|
36
|
+
"doc:json": "typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --json build/docs/typedoc.json",
|
|
37
|
+
"doc:publish": "gh-pages -m \"[ci skip] Updates\" -d build/docs",
|
|
38
|
+
"version": "standard-version",
|
|
39
|
+
"reset-hard": "git clean -dfx && git reset --hard && yarn",
|
|
40
|
+
"prepare-release": "run-s reset-hard test cov:check doc:html version doc:publish"
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=10"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@grpc/grpc-js": "^1.5.5",
|
|
47
|
+
"abort-controller": "^3.0.0",
|
|
48
|
+
"adm-zip": "^0.5.9",
|
|
49
|
+
"cli-progress": "^3.9.1",
|
|
50
|
+
"commander": "^8.3.0",
|
|
51
|
+
"eventemitter3": "^4.0.7",
|
|
52
|
+
"form-data": "^4.0.0",
|
|
53
|
+
"google-protobuf": "^3.19.4",
|
|
54
|
+
"gunzip-maybe": "^1.4.2",
|
|
55
|
+
"https-proxy-agent": "^5.0.1",
|
|
56
|
+
"isbinaryfile": "^4.0.8",
|
|
57
|
+
"node-fetch": "^2.6.1",
|
|
58
|
+
"p-queue": "6.6.2",
|
|
59
|
+
"packageurl-js": "^0.0.5",
|
|
60
|
+
"sort-paths": "^1.1.1",
|
|
61
|
+
"syswide-cas": "^5.3.0",
|
|
62
|
+
"tar": "^6.1.11",
|
|
63
|
+
"tar-stream": "^2.2.0",
|
|
64
|
+
"xml-js": "^1.6.11"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@ava/typescript": "^1.1.1",
|
|
68
|
+
"@istanbuljs/nyc-config-typescript": "^1.0.1",
|
|
69
|
+
"@types/chai": "^4.3.1",
|
|
70
|
+
"@types/mocha": "^9.1.1",
|
|
71
|
+
"@types/node": "^17.0.2",
|
|
72
|
+
"@types/node-gzip": "^1.1.0",
|
|
73
|
+
"@types/tar": "^6.1.3",
|
|
74
|
+
"@typescript-eslint/eslint-plugin": "^4.0.1",
|
|
75
|
+
"@typescript-eslint/parser": "^4.0.1",
|
|
76
|
+
"chai": "^4.3.6",
|
|
77
|
+
"codecov": "^3.5.0",
|
|
78
|
+
"cspell": "^4.1.0",
|
|
79
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
80
|
+
"deep-equal-in-any-order": "^2.0.1",
|
|
81
|
+
"eslint": "^7.8.0",
|
|
82
|
+
"eslint-config-prettier": "^6.11.0",
|
|
83
|
+
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
84
|
+
"eslint-plugin-functional": "^3.0.2",
|
|
85
|
+
"eslint-plugin-import": "^2.22.0",
|
|
86
|
+
"gh-pages": "^3.1.0",
|
|
87
|
+
"mocha": "^10.0.0",
|
|
88
|
+
"npm-run-all": "^4.1.5",
|
|
89
|
+
"nyc": "^15.1.0",
|
|
90
|
+
"open-cli": "^6.0.1",
|
|
91
|
+
"prettier": "^2.1.1",
|
|
92
|
+
"standard-version": "^9.0.0",
|
|
93
|
+
"ts-node": "^10.4.0",
|
|
94
|
+
"typedoc": "^0.19.0",
|
|
95
|
+
"typescript": "^4.0.2"
|
|
96
|
+
},
|
|
97
|
+
"files": [
|
|
98
|
+
"build/main",
|
|
99
|
+
"build/module",
|
|
100
|
+
"!**/*.spec.*",
|
|
101
|
+
"!**/*.json",
|
|
102
|
+
"CHANGELOG.md",
|
|
103
|
+
"LICENSE",
|
|
104
|
+
"README.md"
|
|
105
|
+
],
|
|
106
|
+
"config": {
|
|
107
|
+
"commitizen": {
|
|
108
|
+
"path": "cz-conventional-changelog"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"prettier": {
|
|
112
|
+
"singleQuote": true
|
|
113
|
+
},
|
|
114
|
+
"nyc": {
|
|
115
|
+
"extends": "@istanbuljs/nyc-config-typescript",
|
|
116
|
+
"exclude": [
|
|
117
|
+
"**/*.spec.js"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ILocalDependency } from
|
|
1
|
+
import { ILocalDependency } from '../DependencyTypes';
|
|
2
2
|
export declare function gemfileParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
|
|
3
3
|
export declare function gemfilelockParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
|
|
@@ -36,7 +36,7 @@ export function gemfilelockParser(fileContent, filePath) {
|
|
|
36
36
|
const gemlockParser = new GemfileLockParser();
|
|
37
37
|
const purls = gemlockParser.getDependencies(fileContent);
|
|
38
38
|
for (const purl of purls) {
|
|
39
|
-
results.purls.push(
|
|
39
|
+
results.purls.push(purl);
|
|
40
40
|
}
|
|
41
41
|
return Promise.resolve(results);
|
|
42
42
|
}
|
|
@@ -111,8 +111,8 @@ class GemfileLockParser {
|
|
|
111
111
|
if (firstDepLevelRegex.test(line)) {
|
|
112
112
|
line = line.trimStart();
|
|
113
113
|
const match = line.match(specRegex);
|
|
114
|
-
const purl = new PackageURL(PURL_TYPE,
|
|
115
|
-
this.purlList.push(purl);
|
|
114
|
+
const purl = new PackageURL(PURL_TYPE, null, match.groups.name, null, null, null).toString();
|
|
115
|
+
this.purlList.push({ purl: purl, requirement: match.groups.version });
|
|
116
116
|
}
|
|
117
117
|
else { // Second level of dependence
|
|
118
118
|
}
|
|
@@ -122,4 +122,4 @@ class GemfileLockParser {
|
|
|
122
122
|
if (this.current_gem == PATH) { }
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVieVBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvRGVwZW5kZW5jaWVzL0xvY2FsRGVwZW5kZW5jeS9wYXJzZXJzL3J1YnlQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBR3hCLGlDQUFpQztBQUNqQyxvREFBb0Q7QUFDcEQsNENBQTRDO0FBQzVDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUNoQyxNQUFNLFVBQVUsYUFBYSxDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFFL0QsOERBQThEO0lBQzlELE1BQU0sT0FBTyxHQUFxQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzlELElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUdsQyxNQUFNLEtBQUssR0FBa0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFFMUIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRSxFQUFFLGlDQUFpQztZQUMzRSwrQ0FBK0M7WUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUksY0FB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
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { Format } from "./Interfaces";
|
|
4
|
+
import { FilterList } from '../Filtering/Filtering';
|
|
5
|
+
import { FileCountFilter } from './FileCountFilter';
|
|
6
|
+
export class FileCount {
|
|
7
|
+
static async walk(rootPath, option) {
|
|
8
|
+
//By default hidden folders and files are ignored
|
|
9
|
+
const filters = new FilterList(FileCountFilter);
|
|
10
|
+
if (option?.filters?.countHidden)
|
|
11
|
+
filters.unload();
|
|
12
|
+
const data = await this.exploreBFS(rootPath, filters);
|
|
13
|
+
if (option?.output == Format.CSV)
|
|
14
|
+
return this.produceCsv(data.fileSummary);
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
static async exploreBFS(rootPath, filters) {
|
|
18
|
+
const results = { fileSummary: new Map(), totalFileSize: 0 };
|
|
19
|
+
const queue = [];
|
|
20
|
+
//TODO: Improve the queue implementation for a linked list
|
|
21
|
+
queue.push(rootPath);
|
|
22
|
+
while (queue.length) {
|
|
23
|
+
const currentPath = queue.shift();
|
|
24
|
+
const entries = await fs.promises.readdir(currentPath, { withFileTypes: true });
|
|
25
|
+
for await (const entry of entries) {
|
|
26
|
+
const newPath = path.join(currentPath, entry.name);
|
|
27
|
+
if (filters.include(newPath)) {
|
|
28
|
+
if (entry.isDirectory())
|
|
29
|
+
queue.push(newPath);
|
|
30
|
+
else if (entry.isFile() && !entry.isSymbolicLink()) {
|
|
31
|
+
const currentExt = path.extname(entry.name);
|
|
32
|
+
const currentFileSize = (await fs.promises.stat(path.join(currentPath, entry.name))).size;
|
|
33
|
+
if (results.fileSummary.has(currentExt)) {
|
|
34
|
+
const fileSum = results.fileSummary.get(currentExt);
|
|
35
|
+
fileSum.count++;
|
|
36
|
+
fileSum.size += currentFileSize;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
results.fileSummary.set(currentExt, { count: 1, size: currentFileSize, percentage: 0 });
|
|
40
|
+
}
|
|
41
|
+
results.totalFileSize += currentFileSize;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//Update percentage
|
|
47
|
+
for (const ext of results.fileSummary.keys()) {
|
|
48
|
+
const entry = results.fileSummary.get(ext);
|
|
49
|
+
entry.percentage = Number((entry.size / results.totalFileSize).toFixed(2));
|
|
50
|
+
}
|
|
51
|
+
return results;
|
|
52
|
+
}
|
|
53
|
+
static produceCsv(data) {
|
|
54
|
+
let csv = '';
|
|
55
|
+
for (const key of data.keys()) {
|
|
56
|
+
const value = data.get(key);
|
|
57
|
+
const newLine = `${key},${value?.count},${value?.percentage}\n`;
|
|
58
|
+
csv += newLine;
|
|
59
|
+
}
|
|
60
|
+
return csv;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZUNvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9GaWxlQ291bnQvRmlsZUNvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFtQixNQUFNLEVBQTRCLE1BQU0sY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHcEQsTUFBTSxPQUFPLFNBQVM7SUFFWCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFnQixFQUFFLE1BQXlCO1FBRWxFLGlEQUFpRDtRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRCxJQUFHLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVztZQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVsRCxNQUFNLElBQUksR0FBSSxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRELElBQUksTUFBTSxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBZ0IsRUFBRSxPQUFtQjtRQUVuRSxNQUFNLE9BQU8sR0FBZ0IsRUFBQyxXQUFXLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDeEUsTUFBTSxLQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUVoQyww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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FilterScope, FilterType, FilterListType, NameFilter } from '../Filtering/Filtering';
|
|
2
|
+
export const FileCountFilter = {
|
|
3
|
+
type: FilterListType.BANNED,
|
|
4
|
+
filters: [
|
|
5
|
+
{ ftype: FilterType.NAME, condition: NameFilter.STARTS, value: '.', scope: FilterScope.ALL },
|
|
6
|
+
],
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZUNvdW50RmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9GaWxlQ291bnQvRmlsZUNvdW50RmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxFQUNWLGNBQWMsRUFDZCxVQUFVLEVBQ1gsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVk7SUFDdEMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNO0lBQzNCLE9BQU8sRUFBRTtRQUNQLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUcsRUFBRTtLQUM3RjtDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface IDirSummary {
|
|
2
|
+
fileSummary: Map<string, IFileSummary>;
|
|
3
|
+
totalFileSize: number;
|
|
4
|
+
}
|
|
5
|
+
export interface IFileSummary {
|
|
6
|
+
count: number;
|
|
7
|
+
size: number;
|
|
8
|
+
percentage: number;
|
|
9
|
+
}
|
|
10
|
+
export declare enum Format {
|
|
11
|
+
RAW = 0,
|
|
12
|
+
CSV = 1
|
|
13
|
+
}
|
|
14
|
+
export interface FileCountOptions {
|
|
15
|
+
filters?: {
|
|
16
|
+
countHidden: boolean;
|
|
17
|
+
};
|
|
18
|
+
output: Format;
|
|
19
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var Format;
|
|
2
|
+
(function (Format) {
|
|
3
|
+
Format[Format["RAW"] = 0] = "RAW";
|
|
4
|
+
Format[Format["CSV"] = 1] = "CSV";
|
|
5
|
+
})(Format || (Format = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZGsvRmlsZUNvdW50L0ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsTUFBTSxDQUFOLElBQVksTUFHWDtBQUhELFdBQVksTUFBTTtJQUNkLGlDQUFHLENBQUE7SUFDSCxpQ0FBRyxDQUFBO0FBQ1AsQ0FBQyxFQUhXLE1BQU0sS0FBTixNQUFNLFFBR2pCIn0=
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
// ------ FILTERS SYNC WITH PYTHON CLIENT 06/10/2021 ------ //
|
|
2
|
+
import { FilterListType, FilterScope, FilterType } from './Filtering';
|
|
3
|
+
export const defaultFilterForDependencies = {
|
|
4
|
+
type: FilterListType.BANNED,
|
|
5
|
+
filters: [
|
|
6
|
+
{ condition: '=', value: '0', ftype: FilterType.SIZE, scope: FilterScope.FILE },
|
|
7
|
+
//Folders and files filters
|
|
8
|
+
{ condition: 'starts', value: '.', ftype: FilterType.NAME, scope: FilterScope.ALL },
|
|
9
|
+
//Folder filters
|
|
10
|
+
{ condition: 'ends', value: '.egg-info', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
11
|
+
{ condition: 'fullmatch', value: 'nbproject', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
12
|
+
{ condition: 'fullmatch', value: 'nbbuild', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
13
|
+
{ condition: 'fullmatch', value: 'nbdist', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
14
|
+
{ condition: 'fullmatch', value: '__pycache__', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
15
|
+
{ condition: 'fullmatch', value: 'venv', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
16
|
+
{ condition: 'fullmatch', value: '_yardoc', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
17
|
+
{ condition: 'fullmatch', value: 'eggs', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
18
|
+
{ condition: 'fullmatch', value: 'wheels', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
19
|
+
{ condition: 'fullmatch', value: 'node_modules', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
20
|
+
{ condition: 'fullmatch', value: '__pypackages__', ftype: FilterType.NAME, scope: FilterScope.FOLDER },
|
|
21
|
+
{ condition: '=', value: '.1', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
22
|
+
{ condition: '=', value: '.2', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
23
|
+
{ condition: '=', value: '.3', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
24
|
+
{ condition: '=', value: '.4', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
25
|
+
{ condition: '=', value: '.5', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
26
|
+
{ condition: '=', value: '.6', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
27
|
+
{ condition: '=', value: '.7', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
28
|
+
{ condition: '=', value: '.8', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
29
|
+
{ condition: '=', value: '.9', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
30
|
+
{ condition: '=', value: '.ac', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
31
|
+
{ condition: '=', value: '.adoc', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
32
|
+
{ condition: '=', value: '.am', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
33
|
+
{ condition: '=', value: '.asciidoc', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
34
|
+
{ condition: '=', value: '.bmp', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
35
|
+
{ condition: '=', value: '.build', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
36
|
+
{ condition: '=', value: '.cfg', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
37
|
+
{ condition: '=', value: '.chm', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
38
|
+
{ condition: '=', value: '.class', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
39
|
+
{ condition: '=', value: '.cmake', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
40
|
+
{ condition: '=', value: '.cnf', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
41
|
+
{ condition: '=', value: '.conf', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
42
|
+
{ condition: '=', value: '.contributors', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
43
|
+
{ condition: '=', value: '.copying', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
44
|
+
{ condition: '=', value: '.crt', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
45
|
+
{ condition: '=', value: '.css', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
46
|
+
{ condition: '=', value: '.csv', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
47
|
+
{ condition: '=', value: '.dat', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
48
|
+
{ condition: '=', value: '.data', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
49
|
+
{ condition: '=', value: '.doc', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
50
|
+
{ condition: '=', value: '.docx', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
51
|
+
{ condition: '=', value: '.dtd', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
52
|
+
{ condition: '=', value: '.dts', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
53
|
+
{ condition: '=', value: '.iws', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
54
|
+
{ condition: '=', value: '.c9', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
55
|
+
{ condition: '=', value: '.c9revisions', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
56
|
+
{ condition: '=', value: '.dtsi', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
57
|
+
{ condition: '=', value: '.dump', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
58
|
+
{ condition: '=', value: '.eot', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
59
|
+
{ condition: '=', value: '.eps', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
60
|
+
{ condition: '=', value: '.geojson', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
61
|
+
{ condition: '=', value: '.gdoc', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
62
|
+
{ condition: '=', value: '.gif', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
63
|
+
{ condition: '=', value: '.glif', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
64
|
+
{ condition: '=', value: '.gmo', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
65
|
+
{ condition: '=', value: '.guess', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
66
|
+
{ condition: '=', value: '.htm', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
67
|
+
{ condition: '=', value: '.html', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
68
|
+
{ condition: '=', value: '.ico', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
69
|
+
{ condition: '=', value: '.iml', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
70
|
+
{ condition: '=', value: '.in', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
71
|
+
{ condition: '=', value: '.inc', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
72
|
+
{ condition: '=', value: '.info', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
73
|
+
{ condition: '=', value: '.ini', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
74
|
+
{ condition: '=', value: '.jpeg', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
75
|
+
{ condition: '=', value: '.jpg', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
76
|
+
{ condition: '=', value: '.m4', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
77
|
+
{ condition: '=', value: '.map', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
78
|
+
{ condition: '=', value: '.markdown', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
79
|
+
{ condition: '=', value: '.md', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
80
|
+
{ condition: '=', value: '.md5', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
81
|
+
{ condition: '=', value: '.meta', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
82
|
+
{ condition: '=', value: '.mk', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
83
|
+
{ condition: '=', value: '.mxml', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
84
|
+
{ condition: '=', value: '.o', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
85
|
+
{ condition: '=', value: '.otf', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
86
|
+
{ condition: '=', value: '.out', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
87
|
+
{ condition: '=', value: '.pbtxt', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
88
|
+
{ condition: '=', value: '.pdf', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
89
|
+
{ condition: '=', value: '.phtml', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
90
|
+
{ condition: '=', value: '.plist', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
91
|
+
{ condition: '=', value: '.png', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
92
|
+
{ condition: '=', value: '.po', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
93
|
+
{ condition: '=', value: '.ppt', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
94
|
+
{ condition: '=', value: '.prefs', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
95
|
+
{ condition: '=', value: '.properties', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
96
|
+
{ condition: '=', value: '.qdoc', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
97
|
+
{ condition: '=', value: '.result', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
98
|
+
{ condition: '=', value: '.rgb', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
99
|
+
{ condition: '=', value: '.rst', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
100
|
+
{ condition: '=', value: '.scss', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
101
|
+
{ condition: '=', value: '.sha', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
102
|
+
{ condition: '=', value: '.sha1', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
103
|
+
{ condition: '=', value: '.sha2', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
104
|
+
{ condition: '=', value: '.sha256', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
105
|
+
{ condition: '=', value: '.sln', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
106
|
+
{ condition: '=', value: '.spec', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
107
|
+
{ condition: '=', value: '.sql', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
108
|
+
{ condition: '=', value: '.sub', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
109
|
+
{ condition: '=', value: '.svg', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
110
|
+
{ condition: '=', value: '.svn-base', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
111
|
+
{ condition: '=', value: '.tab', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
112
|
+
{ condition: '=', value: '.template', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
113
|
+
{ condition: '=', value: '.test', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
114
|
+
{ condition: '=', value: '.tex', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
115
|
+
{ condition: '=', value: '.tiff', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
116
|
+
{ condition: '=', value: '.ttf', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
117
|
+
{ condition: '=', value: '.utf-8', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
118
|
+
{ condition: '=', value: '.vim', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
119
|
+
{ condition: '=', value: '.wav', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
120
|
+
{ condition: '=', value: '.whl', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
121
|
+
{ condition: '=', value: '.woff', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
122
|
+
{ condition: '=', value: '.xht', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
123
|
+
{ condition: '=', value: '.xhtml', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
124
|
+
{ condition: '=', value: '.xls', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
125
|
+
{ condition: '=', value: '.xlsx', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
126
|
+
{ condition: '=', value: '.xpm', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
127
|
+
{ condition: '=', value: '.xsd', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
128
|
+
{ condition: '=', value: '.xul', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
129
|
+
{ condition: '=', value: '.wfp', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
130
|
+
{ condition: '=', value: '.editorconfig', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
131
|
+
{ condition: '=', value: '.dotcover', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
132
|
+
{ condition: '=', value: '.pid', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
133
|
+
{ condition: '=', value: '.lcov', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
134
|
+
{ condition: '=', value: '.egg', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
135
|
+
{ condition: '=', value: '.manifest', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
136
|
+
{ condition: '=', value: '.cache', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
137
|
+
{ condition: '=', value: '.coverage', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
138
|
+
{ condition: '=', value: '.cover', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
139
|
+
{ condition: '=', value: '.lst', ftype: FilterType.EXTENSION, scope: FilterScope.FILE },
|
|
140
|
+
],
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEZpbHRlckZvckRlcGVuZGVuY2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZGsvRmlsdGVyaW5nL0RlZmF1bHRGaWx0ZXJGb3JEZXBlbmRlbmNpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBVyxNQUFNLGFBQWEsQ0FBQztBQUcvRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBWTtJQUNuRCxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU07SUFDM0IsT0FBTyxFQUFFO1FBQ1AsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUU7UUFFL0UsMkJBQTJCO1FBQzNCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRyxFQUFFO1FBRW5GLGdCQUFnQjtRQUNoQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRTtRQUU1RixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRTtRQUNqRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUNoRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUMvRixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUNwRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUM3RixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUNoRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUM3RixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUMvRixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRztRQUNyRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFHO1FBRXZHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ2hHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzNGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQy9GLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzNGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3JGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3RGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzlGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzFGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzFGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ2hHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3ZGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQzVGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3pGLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO0tBQ3hGO0NBQ0YsQ0FBQyJ9
|