[ {
  "key" : "primary",
  "components" : [ {
    "name" : "uforwarder-core",
    "filesCount" : 140,
    "linesOfCode" : 11072,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 135,
      "description" : [ ]
    }, {
      "name" : "  *.html",
      "value" : 5,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 10183,
      "description" : [ ]
    }, {
      "name" : "  *.html",
      "value" : 889,
      "description" : [ ]
    } ]
  }, {
    "name" : "idl",
    "filesCount" : 13,
    "linesOfCode" : 1107,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.proto",
      "value" : 13,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.proto",
      "value" : 1107,
      "description" : [ ]
    } ]
  }, {
    "name" : "fievel-common",
    "filesCount" : 1,
    "linesOfCode" : 2,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 2,
      "description" : [ ]
    } ]
  }, {
    "name" : "uforwarder-container",
    "filesCount" : 4,
    "linesOfCode" : 320,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 4,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 320,
      "description" : [ ]
    } ]
  }, {
    "name" : "uforwarder-sample-consumer",
    "filesCount" : 6,
    "linesOfCode" : 232,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 5,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 227,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 5,
      "description" : [ ]
    } ]
  }, {
    "name" : "instrumentation",
    "filesCount" : 11,
    "linesOfCode" : 693,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 11,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 693,
      "description" : [ ]
    } ]
  }, {
    "name" : "uforwarder",
    "filesCount" : 90,
    "linesOfCode" : 10678,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 88,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 10531,
      "description" : [ ]
    }, {
      "name" : "  *.yaml",
      "value" : 147,
      "description" : [ ]
    } ]
  }, {
    "name" : "uforwarder-client",
    "filesCount" : 7,
    "linesOfCode" : 280,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 7,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 280,
      "description" : [ ]
    } ]
  } ],
  "componentDependencies" : [ {
    "fromComponent" : "uforwarder-core",
    "locFrom" : 3106,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/creator/BatchJobCreator.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/coordinator/LeaderSelector.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/storage/TTLDecorator.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/storage/LoggingAndMetricsStoreDecorator.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/storage/BufferedWriteDecorator.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/rpc/ControllerAdminService.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.BiConsumerConverter;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/rpc/ControllerWorkerService.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.BiConsumerConverter;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/common/KafkaPartitionExpansionWatcher.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/worker/fetchers/kafka/AbstractKafkaFetcherThread.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/worker/pipelines/KafkaPipelineStateManager.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/worker/dispatchers/kafka/KafkaDispatcher.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Tags;"
    } ],
    "toComponent" : "instrumentation",
    "count" : 11,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder-core -> instrumentation"
  }, {
    "fromComponent" : "uforwarder-container",
    "locFrom" : 264,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder-container/src/integrationTest/java/com/uber/data/kafka/consumerproxy/container/UforwarderContainerIntegrationTests.java",
      "evidence" : "import com.uber.fievel.testing.base.FievelTestBase;"
    } ],
    "toComponent" : "fievel-common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder-container -> fievel-common"
  }, {
    "fromComponent" : "uforwarder-container",
    "locFrom" : 264,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder-container/src/integrationTest/java/com/uber/data/kafka/consumerproxy/container/UforwarderContainerIntegrationTests.java",
      "evidence" : "import static com.uber.data.kafka.consumerproxy.testutils.Constants.JOB_GROUP_ID_DELIMITER;"
    } ],
    "toComponent" : "uforwarder",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder-container -> uforwarder"
  }, {
    "fromComponent" : "uforwarder-container",
    "locFrom" : 264,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder-container/src/integrationTest/java/com/uber/data/kafka/consumerproxy/container/UforwarderContainerIntegrationTests.java",
      "evidence" : "import com.uber.data.kafka.consumerproxy.client.grpc.ConsumerBytesServerMethodDefinition;"
    } ],
    "toComponent" : "uforwarder-client",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder-container -> uforwarder-client"
  }, {
    "fromComponent" : "uforwarder-sample-consumer",
    "locFrom" : 117,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder-sample-consumer/src/main/java/com/uber/data/kafka/uforwarder/SampleConsumerHandler.java",
      "evidence" : "import com.uber.data.kafka.consumerproxy.client.grpc.ConsumerMetadata;"
    }, {
      "pathFrom" : "uforwarder-sample-consumer/src/main/java/com/uber/data/kafka/uforwarder/SampleConsumerAutoConfiguration.java",
      "evidence" : "import com.uber.data.kafka.consumerproxy.client.grpc.ConsumerBytesServerMethodDefinition;"
    } ],
    "toComponent" : "uforwarder-client",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder-sample-consumer -> uforwarder-client"
  }, {
    "fromComponent" : "uforwarder",
    "locFrom" : 6659,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/UForwarder.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.DataTransferMaster;"
    }, {
      "pathFrom" : "uforwarder/src/integrationTest/java/com/uber/data/kafka/consumerproxy/testutils/UForwarderUtils.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.ZKStringSerializer;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/config/KafkaAdminClientConfiguration.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.KafkaClusterResolver;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/management/WorkerStubsJson.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.worker.pipelines.Pipeline;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/RebalancerCommon.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.RebalancingJobGroup;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/ShadowRebalancerDelegateImpl.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.Rebalancer;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/BatchRpcUriRebalancer.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.RebalancingJobGroup;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/RpcJobColocatingRebalancer.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.RebalancingJobGroup;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/RebalancingJob.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.RebalancingJobGroup;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/AbstractRpcUriRebalancer.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.Rebalancer;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/HibernatingJobRebalancer.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.RebalancingJobGroup;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/rebalancer/StreamingRpcUriRebalancer.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rebalancer.RebalancingJobGroup;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/UForwarderControllerFactory.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.creator.BatchJobCreator;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/GrpcServerRunner.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.rpc.ControllerAdminService;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/controller/confg/CoordinatorAutoConfiguration.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.controller.coordinator.LeaderSelector;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/common/MetricsUtils.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.RoutingUtils;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/common/StructuredTags.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.RoutingUtils;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/MessageAckStatusManager.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/ProcessorMessage.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/ProcessorImpl.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/ProcessorFactory.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/UnprocessedMessageManager.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/SimpleOutboundMessageLimiter.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/BlockingQueueStubManager.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.RoutingUtils;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/AckManager.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.worker.common.MetricSource;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/DlqDispatchManager.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.worker.common.MetricSource;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/OutboundMessageLimiter.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.worker.common.MetricSource;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/AckTrackingQueue.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.worker.common.MetricSource;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/dispatcher/DispatcherImpl.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/dispatcher/grpc/GrpcDispatcherFactory.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/dispatcher/grpc/GrpcUtils.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.RoutingUtils;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/dispatcher/grpc/GrpcDispatcher.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/dispatcher/grpc/GrpcRequest.java",
      "evidence" : "import static com.uber.data.kafka.datatransfer.common.MetadataUtils.metadataInterceptor;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/dispatcher/grpc/DedupHeaderInterceptor.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.StructuredTags;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/PipelineFactoryImpl.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/UForwarderWorkerFactory.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/PipelineImpl.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.StructuredLogging;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/fetcher/RetryTopicKafkaFetcher.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/fetcher/KafkaFetcherFactory.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/fetcher/OriginalTopicKafkaFetcher.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/fetcher/DlqTopicKafkaFetcher.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.common.CoreInfra;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/fetcher/KafkaFetcherAutoConfiguration.java",
      "evidence" : "import com.uber.data.kafka.datatransfer.worker.fetchers.kafka.KafkaFetcherConfiguration;"
    } ],
    "toComponent" : "uforwarder-core",
    "count" : 42,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder -> uforwarder-core"
  }, {
    "fromComponent" : "uforwarder",
    "locFrom" : 408,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder/src/integrationTest/java/com/uber/data/kafka/consumerproxy/UforwarderIntegrationTests.java",
      "evidence" : "import com.uber.fievel.testing.base.FievelTestBase;"
    } ],
    "toComponent" : "fievel-common",
    "count" : 1,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder -> fievel-common"
  }, {
    "fromComponent" : "uforwarder",
    "locFrom" : 509,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder/src/integrationTest/java/com/uber/data/kafka/consumerproxy/UforwarderIntegrationTests.java",
      "evidence" : "import com.uber.data.kafka.consumerproxy.client.grpc.ConsumerBytesServerMethodDefinition;"
    }, {
      "pathFrom" : "uforwarder/src/integrationTest/java/com/uber/data/kafka/consumerproxy/testutils/MockConsumerServiceStarter.java",
      "evidence" : "import com.uber.data.kafka.consumerproxy.client.grpc.ConsumerMetadata;"
    } ],
    "toComponent" : "uforwarder-client",
    "count" : 2,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder -> uforwarder-client"
  }, {
    "fromComponent" : "uforwarder",
    "locFrom" : 1827,
    "valueFrom" : 0.0,
    "valueTo" : 0.0,
    "evidence" : [ {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/config/KafkaAdminClientConfiguration.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/ProcessorImpl.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.DirectSupplier;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/processor/BlockingQueueStubManager.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Tags;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/dispatcher/grpc/GrpcDispatcher.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    }, {
      "pathFrom" : "uforwarder/src/main/java/com/uber/data/kafka/consumerproxy/worker/fetcher/RetryTopicKafkaFetcher.java",
      "evidence" : "import com.uber.data.kafka.instrumentation.Instrumentation;"
    } ],
    "toComponent" : "instrumentation",
    "count" : 5,
    "text" : null,
    "color" : "",
    "dependencyString" : "uforwarder -> instrumentation"
  } ],
  "componentDependenciesErrors" : [ ],
  "logicalDecomposition" : {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ {
      "name" : "uforwarder-core",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uforwarder-core/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "idl",
      "sourceFileFilters" : [ {
        "pathPattern" : "./idl/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "fievel-common",
      "sourceFileFilters" : [ {
        "pathPattern" : "./fievel-common/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "uforwarder-container",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uforwarder-container/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "uforwarder-sample-consumer",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uforwarder-sample-consumer/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "instrumentation",
      "sourceFileFilters" : [ {
        "pathPattern" : "./instrumentation/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "uforwarder",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uforwarder/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      }, {
        "pathPattern" : "./uforwarder-core/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./uforwarder-container/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./uforwarder-sample-consumer/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      }, {
        "pathPattern" : "./uforwarder-client/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "uforwarder-client",
      "sourceFileFilters" : [ {
        "pathPattern" : "./uforwarder-client/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    } ],
    "metaComponents" : [ ],
    "groups" : [ ],
    "includeRemainingFiles" : true,
    "dependenciesFinder" : {
      "useBuiltInDependencyFinders" : true,
      "rules" : [ ],
      "metaRules" : [ ]
    },
    "renderingOptions" : {
      "orientation" : "TB",
      "maxNumberOfDependencies" : 100,
      "renderComponentsWithoutDependencies" : true,
      "renderIndirectDependencies" : false,
      "renderInternalIndirectDependencies" : false,
      "reverseDirection" : false
    },
    "includeExternalComponents" : true,
    "dependencyLinkThreshold" : 1,
    "duplicationLinkThreshold" : 50,
    "temporalLinkThreshold" : 1,
    "maxSearchDepthLines" : 200
  },
  "fileCountPerComponent" : [ {
    "name" : "uforwarder-core",
    "value" : 140,
    "description" : [ ]
  }, {
    "name" : "idl",
    "value" : 13,
    "description" : [ ]
  }, {
    "name" : "fievel-common",
    "value" : 1,
    "description" : [ ]
  }, {
    "name" : "uforwarder-container",
    "value" : 4,
    "description" : [ ]
  }, {
    "name" : "uforwarder-sample-consumer",
    "value" : 6,
    "description" : [ ]
  }, {
    "name" : "instrumentation",
    "value" : 11,
    "description" : [ ]
  }, {
    "name" : "uforwarder",
    "value" : 90,
    "description" : [ ]
  }, {
    "name" : "uforwarder-client",
    "value" : 7,
    "description" : [ ]
  } ],
  "linesOfCodePerComponent" : [ {
    "name" : "uforwarder-core",
    "value" : 11072,
    "description" : [ ]
  }, {
    "name" : "idl",
    "value" : 1107,
    "description" : [ ]
  }, {
    "name" : "fievel-common",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "uforwarder-container",
    "value" : 320,
    "description" : [ ]
  }, {
    "name" : "uforwarder-sample-consumer",
    "value" : 232,
    "description" : [ ]
  }, {
    "name" : "instrumentation",
    "value" : 693,
    "description" : [ ]
  }, {
    "name" : "uforwarder",
    "value" : 10678,
    "description" : [ ]
  }, {
    "name" : "uforwarder-client",
    "value" : 280,
    "description" : [ ]
  } ]
} ]