)]}'
{
  "commit": "6e1bd5002f7a64eb06a4f8fbc7e4c8265538fa5a",
  "tree": "308cc7c0541e58ebdb431816dfc7434624a62fc8",
  "parents": [
    "91ecfd6dfb02f90d40ae34f702376bac602a985b"
  ],
  "author": {
    "name": "Stephane Barbarie",
    "email": "sbarbari@ciena.com",
    "time": "Mon Nov 05 22:44:45 2018 -0500"
  },
  "committer": {
    "name": "Stephane Barbarie",
    "email": "sbarbari@ciena.com",
    "time": "Mon Nov 05 22:44:45 2018 -0500"
  },
  "message": "VOL-1097 : Ofagent integration for voltha 2.0\n\n- Created a common location for python based components\n- Adjusted the ofagent component to interact with voltha 2.0\n- Added streaming rpc methods for rcv/send of packets to voltha api\n- Adjusted voltha.proto\n\nChange-Id: I47fb7b80878ead060b4b42bd16cb4f8aa384fdb6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "45e8f36949af0d5e2d6acdc03214a61b75668341",
      "old_mode": 33188,
      "old_path": "common/core/northbound/grpc/default_api_handler.go",
      "new_id": "f9354620ec76a209dc980a610145b26c87ec2cd7",
      "new_mode": 33188,
      "new_path": "common/core/northbound/grpc/default_api_handler.go"
    },
    {
      "type": "modify",
      "old_id": "6d373291e3b1f97eb0d7d0dbd0ae3e34c6b373b9",
      "old_mode": 33188,
      "old_path": "protos/voltha.proto",
      "new_id": "7574dd2d556c07f4c641338e9ded8976e3fec392",
      "new_mode": 33188,
      "new_path": "protos/voltha.proto"
    },
    {
      "type": "rename",
      "old_id": "25319856ddf54c7d51e963256c5bf179ef4480b8",
      "old_mode": 33188,
      "old_path": "adapters/Makefile",
      "new_id": "25319856ddf54c7d51e963256c5bf179ef4480b8",
      "new_mode": 33188,
      "new_path": "python/adapters/Makefile",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3eda0781a87973540af66b2b77090e1fdd72355d",
      "old_mode": 33188,
      "old_path": "adapters/README.md",
      "new_id": "3eda0781a87973540af66b2b77090e1fdd72355d",
      "new_mode": 33188,
      "new_path": "python/adapters/README.md",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "58aca1effef436b6eb2d179d86a09278d431eec8",
      "old_mode": 33188,
      "old_path": "adapters/__init__.py",
      "new_id": "58aca1effef436b6eb2d179d86a09278d431eec8",
      "new_mode": 33188,
      "new_path": "python/adapters/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/common/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e717c1652ab2f8444397cc8fee5ca42ec2493356",
      "old_mode": 33188,
      "old_path": "adapters/common/event_bus.py",
      "new_id": "e717c1652ab2f8444397cc8fee5ca42ec2493356",
      "new_mode": 33188,
      "new_path": "python/adapters/common/event_bus.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "2f68ef86792d8c71f435a51bbc5d3e769158573a",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/frameio.py",
      "new_id": "2f68ef86792d8c71f435a51bbc5d3e769158573a",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/frameio.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/third_party/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3216042d8d6b9f4898b53d2e3720128cfb2181cb",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/LICENSE",
      "new_id": "3216042d8d6b9f4898b53d2e3720128cfb2181cb",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/third_party/oftest/LICENSE",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "f0cb6490a045fbfb5148d0a62aefc2bacf0f11c5",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/README.md",
      "new_id": "f0cb6490a045fbfb5148d0a62aefc2bacf0f11c5",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/third_party/oftest/README.md",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/third_party/oftest/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "9ae80754f3af2a55ec1a89bf63ed8681feb437f5",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/afpacket.py",
      "new_id": "9ae80754f3af2a55ec1a89bf63ed8681feb437f5",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/third_party/oftest/afpacket.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "092d4904dce3101ec816b714f7111d9393f733af",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/netutils.py",
      "new_id": "092d4904dce3101ec816b714f7111d9393f733af",
      "new_mode": 33188,
      "new_path": "python/adapters/common/frameio/third_party/oftest/netutils.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "c00c900a20a2415e158b3868471271cbc63ab769",
      "old_mode": 33188,
      "old_path": "adapters/common/manhole.py",
      "new_id": "c00c900a20a2415e158b3868471271cbc63ab769",
      "new_mode": 33188,
      "new_path": "python/adapters/common/manhole.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/openflow/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/common/openflow/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "730c71427483b6433819e93f62f19bac9bedd979",
      "old_mode": 33188,
      "old_path": "adapters/common/openflow/utils.py",
      "new_id": "730c71427483b6433819e93f62f19bac9bedd979",
      "new_mode": 33188,
      "new_path": "python/adapters/common/openflow/utils.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3401977620c75970b6a561d60c9100e28281e052",
      "old_mode": 33188,
      "old_path": "adapters/common/structlog_setup.py",
      "new_id": "3401977620c75970b6a561d60c9100e28281e052",
      "new_mode": 33188,
      "new_path": "python/adapters/common/structlog_setup.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "10d1ce39587af99f919f184616be28f77dee7424",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/asleep.py",
      "new_id": "10d1ce39587af99f919f184616be28f77dee7424",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/asleep.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "6060ba3410ec6740968cd3470660177b1d829360",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/consulhelpers.py",
      "new_id": "6060ba3410ec6740968cd3470660177b1d829360",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/consulhelpers.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3c55c1aa4c52f4ee0fe467a8cb3911122ede0c4e",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/deferred_utils.py",
      "new_id": "3c55c1aa4c52f4ee0fe467a8cb3911122ede0c4e",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/deferred_utils.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4620aeff25060ebaee9270c1bc10bb462d8310f1",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/dockerhelpers.py",
      "new_id": "4620aeff25060ebaee9270c1bc10bb462d8310f1",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/dockerhelpers.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "8df630e6f511f598141d3daf29d0138889e66383",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/grpc_utils.py",
      "new_id": "8df630e6f511f598141d3daf29d0138889e66383",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/grpc_utils.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e0fea1c95fae20a26243620674bcebd40bd14df7",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/id_generation.py",
      "new_id": "e0fea1c95fae20a26243620674bcebd40bd14df7",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/id_generation.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "858cb3a1c7cbb982f8fdbeddff6d2c8be88f9cfa",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/indexpool.py",
      "new_id": "858cb3a1c7cbb982f8fdbeddff6d2c8be88f9cfa",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/indexpool.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "c18d0135bd380871ed760b95ff1803be4aff77f9",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/json_format.py",
      "new_id": "c18d0135bd380871ed760b95ff1803be4aff77f9",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/json_format.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "2b4257acbd8cfbc6134ad55f8506de86a59cc8e4",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/message_queue.py",
      "new_id": "2b4257acbd8cfbc6134ad55f8506de86a59cc8e4",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/message_queue.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b17aced8ab1413e5081df9102f881020a8382d49",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/nethelpers.py",
      "new_id": "b17aced8ab1413e5081df9102f881020a8382d49",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/nethelpers.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "9ea739a7c147e8e9ff964494c7c0f9a96c314c80",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/ordered_weakvalue_dict.py",
      "new_id": "9ea739a7c147e8e9ff964494c7c0f9a96c314c80",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/ordered_weakvalue_dict.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "270bd71e2515d11a2201ea799acea7e0150ba3a1",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/registry.py",
      "new_id": "270bd71e2515d11a2201ea799acea7e0150ba3a1",
      "new_mode": 33188,
      "new_path": "python/adapters/common/utils/registry.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "209200d686e4f6e591c83d6164eb34996e2c37dc",
      "old_mode": 33188,
      "old_path": "adapters/docker/Dockerfile.adapter_ponsim_olt",
      "new_id": "209200d686e4f6e591c83d6164eb34996e2c37dc",
      "new_mode": 33188,
      "new_path": "python/adapters/docker/Dockerfile.adapter_ponsim_olt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "d0d3e36fce63750cf7c00fc77fa9f248612d3dd7",
      "old_mode": 33188,
      "old_path": "adapters/docker/Dockerfile.adapter_ponsim_onu",
      "new_id": "d0d3e36fce63750cf7c00fc77fa9f248612d3dd7",
      "new_mode": 33188,
      "new_path": "python/adapters/docker/Dockerfile.adapter_ponsim_onu",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "1b912e041032a2b423fcbe7a0314c7a2713c778b",
      "old_mode": 33188,
      "old_path": "adapters/docker/Dockerfile.base",
      "new_id": "1b912e041032a2b423fcbe7a0314c7a2713c778b",
      "new_mode": 33188,
      "new_path": "python/adapters/docker/Dockerfile.base",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "eef6f540eb0021537c79f0f7d597448be7b1095c",
      "old_mode": 33188,
      "old_path": "adapters/docker/Dockerfile.protoc",
      "new_id": "eef6f540eb0021537c79f0f7d597448be7b1095c",
      "new_mode": 33188,
      "new_path": "python/adapters/docker/Dockerfile.protoc",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "db70d139c44077617dca1dcea91dcf7202602cf0",
      "old_mode": 33188,
      "old_path": "adapters/docker/Dockerfile.protos",
      "new_id": "db70d139c44077617dca1dcea91dcf7202602cf0",
      "new_mode": 33188,
      "new_path": "python/adapters/docker/Dockerfile.protos",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "12ff9e301898d28b814deb1ee373463322da1827",
      "old_mode": 33188,
      "old_path": "adapters/docker/config/Makefile.protos",
      "new_id": "12ff9e301898d28b814deb1ee373463322da1827",
      "new_mode": 33188,
      "new_path": "python/adapters/docker/config/Makefile.protos",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "f4f9f97e5a07c22a0862935b2bfcfa333337dcb1",
      "old_mode": 33188,
      "old_path": "adapters/env.sh",
      "new_id": "f4f9f97e5a07c22a0862935b2bfcfa333337dcb1",
      "new_mode": 33188,
      "new_path": "python/adapters/env.sh",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "ee4d116fbb8159628a85c73b6ec3bd11db35f377",
      "old_mode": 33188,
      "old_path": "adapters/iadapter.py",
      "new_id": "ee4d116fbb8159628a85c73b6ec3bd11db35f377",
      "new_mode": 33188,
      "new_path": "python/adapters/iadapter.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0390d8441f3678c23c5a3c89e5973d3e12fdea6",
      "old_mode": 33188,
      "old_path": "adapters/interface.py",
      "new_id": "b0390d8441f3678c23c5a3c89e5973d3e12fdea6",
      "new_mode": 33188,
      "new_path": "python/adapters/interface.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "58aca1effef436b6eb2d179d86a09278d431eec8",
      "old_mode": 33188,
      "old_path": "adapters/kafka/__init__.py",
      "new_id": "58aca1effef436b6eb2d179d86a09278d431eec8",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "fad10937032e2dd67caadea2bf9e5388b4b46bcb",
      "old_mode": 33188,
      "old_path": "adapters/kafka/adapter_proxy.py",
      "new_id": "fad10937032e2dd67caadea2bf9e5388b4b46bcb",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/adapter_proxy.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "67f78694d7ce60f18cd0ae9ffcee8174f0bf70d9",
      "old_mode": 33188,
      "old_path": "adapters/kafka/adapter_request_facade.py",
      "new_id": "67f78694d7ce60f18cd0ae9ffcee8174f0bf70d9",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/adapter_request_facade.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "79918cd76c040f78f75dc6cfd3f969f777680fe5",
      "old_mode": 33188,
      "old_path": "adapters/kafka/container_proxy.py",
      "new_id": "79918cd76c040f78f75dc6cfd3f969f777680fe5",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/container_proxy.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "cc3f081948d58ed5e33f3d30d3e3194fb8c36558",
      "old_mode": 33188,
      "old_path": "adapters/kafka/core_proxy.py",
      "new_id": "cc3f081948d58ed5e33f3d30d3e3194fb8c36558",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/core_proxy.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "011fdea5a6aa02c2017ce18021eedda8292ca9c4",
      "old_mode": 33188,
      "old_path": "adapters/kafka/event_bus_publisher.py",
      "new_id": "011fdea5a6aa02c2017ce18021eedda8292ca9c4",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/event_bus_publisher.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3f6f5ebc522834efd61601b5aa992079e051a8a6",
      "old_mode": 33188,
      "old_path": "adapters/kafka/kafka_inter_container_library.py",
      "new_id": "3f6f5ebc522834efd61601b5aa992079e051a8a6",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/kafka_inter_container_library.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "c11caa77b864d741e0eb55ca3e874bccc0e90e3e",
      "old_mode": 33188,
      "old_path": "adapters/kafka/kafka_proxy.py",
      "new_id": "c11caa77b864d741e0eb55ca3e874bccc0e90e3e",
      "new_mode": 33188,
      "new_path": "python/adapters/kafka/kafka_proxy.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "c0ab82c2ff703bab28ab9487de402d334f0753c5",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_olt/VERSION",
      "new_id": "c0ab82c2ff703bab28ab9487de402d334f0753c5",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_olt/VERSION",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4a826284a66d31ec199d916526b71c6e8802b619",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_olt/__init__.py",
      "new_id": "4a826284a66d31ec199d916526b71c6e8802b619",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_olt/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "569e284625307ac60adcac9ea2b84e5c9a920c4c",
      "old_mode": 33261,
      "old_path": "adapters/ponsim_olt/main.py",
      "new_id": "569e284625307ac60adcac9ea2b84e5c9a920c4c",
      "new_mode": 33261,
      "new_path": "python/adapters/ponsim_olt/main.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "52fb63b704af5e009a2354ea4143327d2d4d0c4b",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_olt/ponsim_olt.py",
      "new_id": "52fb63b704af5e009a2354ea4143327d2d4d0c4b",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_olt/ponsim_olt.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7c7fac3d00442e85e921ce541ea5bc723770a616",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_olt/ponsim_olt.yml",
      "new_id": "7c7fac3d00442e85e921ce541ea5bc723770a616",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_olt/ponsim_olt.yml",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "c0ab82c2ff703bab28ab9487de402d334f0753c5",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_onu/VERSION",
      "new_id": "c0ab82c2ff703bab28ab9487de402d334f0753c5",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_onu/VERSION",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4a826284a66d31ec199d916526b71c6e8802b619",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_onu/__init__.py",
      "new_id": "4a826284a66d31ec199d916526b71c6e8802b619",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_onu/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3f18e50efe0d5eac235cb9cd2f69061bddfc142c",
      "old_mode": 33261,
      "old_path": "adapters/ponsim_onu/main.py",
      "new_id": "3f18e50efe0d5eac235cb9cd2f69061bddfc142c",
      "new_mode": 33261,
      "new_path": "python/adapters/ponsim_onu/main.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e15d0a905b54ffb2913d28b1391b7f86d2d8498c",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_onu/ponsim_onu.py",
      "new_id": "e15d0a905b54ffb2913d28b1391b7f86d2d8498c",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_onu/ponsim_onu.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "aa9d43c7d616f4dfa2e7103c9d1c70a556461968",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_onu/ponsim_onu.yml",
      "new_id": "aa9d43c7d616f4dfa2e7103c9d1c70a556461968",
      "new_mode": 33188,
      "new_path": "python/adapters/ponsim_onu/ponsim_onu.yml",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "0fad97077a1a381e3f36d20e94f1f50987e327a2",
      "old_mode": 33188,
      "old_path": "adapters/protos/Makefile",
      "new_id": "0fad97077a1a381e3f36d20e94f1f50987e327a2",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/Makefile",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "cfcdc97bcc3603a8206845a4b4f53e5d6f231033",
      "old_mode": 33188,
      "old_path": "adapters/protos/__init__.py",
      "new_id": "cfcdc97bcc3603a8206845a4b4f53e5d6f231033",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "2740afe2d496b16109b531b046c8372243e4775c",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/__init__.py",
      "new_id": "2740afe2d496b16109b531b046c8372243e4775c",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/third_party/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/LICENSE",
      "new_id": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/third_party/google/LICENSE",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/third_party/google/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/api/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/third_party/google/api/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "cbd18b847f39ea4b9b432825424c13f60a010b0d",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/api/annotations.proto",
      "new_id": "cbd18b847f39ea4b9b432825424c13f60a010b0d",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/third_party/google/api/annotations.proto",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "ce07aa14f54feec4c107cdde161395ad2fb42e2e",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/api/http.proto",
      "new_id": "ce07aa14f54feec4c107cdde161395ad2fb42e2e",
      "new_mode": 33188,
      "new_path": "python/adapters/protos/third_party/google/api/http.proto",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "a0641b2e1ae09836f7bfbf7e578565eaafcb2cae",
      "old_mode": 33261,
      "old_path": "adapters/requirements.txt",
      "new_id": "a0641b2e1ae09836f7bfbf7e578565eaafcb2cae",
      "new_mode": 33261,
      "new_path": "python/adapters/requirements.txt",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/common/__init__.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "e717c1652ab2f8444397cc8fee5ca42ec2493356",
      "old_mode": 33188,
      "old_path": "adapters/common/event_bus.py",
      "new_id": "e717c1652ab2f8444397cc8fee5ca42ec2493356",
      "new_mode": 33188,
      "new_path": "python/common/event_bus.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/common/frameio/__init__.py",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3f5bcf6dd883d6aa793d93fbd98791f408ad7f1a",
      "new_mode": 33188,
      "new_path": "python/common/frameio/frameio.py"
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/common/frameio/third_party/__init__.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "3216042d8d6b9f4898b53d2e3720128cfb2181cb",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/LICENSE",
      "new_id": "3216042d8d6b9f4898b53d2e3720128cfb2181cb",
      "new_mode": 33188,
      "new_path": "python/common/frameio/third_party/oftest/LICENSE",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "f0cb6490a045fbfb5148d0a62aefc2bacf0f11c5",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/README.md",
      "new_id": "f0cb6490a045fbfb5148d0a62aefc2bacf0f11c5",
      "new_mode": 33188,
      "new_path": "python/common/frameio/third_party/oftest/README.md",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/common/frameio/third_party/oftest/__init__.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "9ae80754f3af2a55ec1a89bf63ed8681feb437f5",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/afpacket.py",
      "new_id": "9ae80754f3af2a55ec1a89bf63ed8681feb437f5",
      "new_mode": 33188,
      "new_path": "python/common/frameio/third_party/oftest/afpacket.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "092d4904dce3101ec816b714f7111d9393f733af",
      "old_mode": 33188,
      "old_path": "adapters/common/frameio/third_party/oftest/netutils.py",
      "new_id": "092d4904dce3101ec816b714f7111d9393f733af",
      "new_mode": 33188,
      "new_path": "python/common/frameio/third_party/oftest/netutils.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "4a826284a66d31ec199d916526b71c6e8802b619",
      "old_mode": 33188,
      "old_path": "adapters/ponsim_olt/__init__.py",
      "new_id": "4a826284a66d31ec199d916526b71c6e8802b619",
      "new_mode": 33188,
      "new_path": "python/common/kvstore/__init__.py",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc14759fff23c6386c96d1f5646c36cc0aecfd22",
      "new_mode": 33188,
      "new_path": "python/common/kvstore/consul_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a958b717ffccfee40857eb308ac19a38feed5e2b",
      "new_mode": 33188,
      "new_path": "python/common/kvstore/etcd_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "69a648086a3fd816e8cec7d53131f88cc00f556b",
      "new_mode": 33188,
      "new_path": "python/common/kvstore/kv_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "662b34dc81d469348ff20b2b94a2c95dd2811bad",
      "new_mode": 33188,
      "new_path": "python/common/kvstore/kvstore.py"
    },
    {
      "type": "copy",
      "old_id": "c00c900a20a2415e158b3868471271cbc63ab769",
      "old_mode": 33188,
      "old_path": "adapters/common/manhole.py",
      "new_id": "c00c900a20a2415e158b3868471271cbc63ab769",
      "new_mode": 33188,
      "new_path": "python/common/manhole.py",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2d104e044dc917140caa46fb2218e7ef25fe58aa",
      "new_mode": 33188,
      "new_path": "python/common/pon_resource_manager/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1a5c1481279d7f162e29a27b3ee0735411272f9",
      "new_mode": 33188,
      "new_path": "python/common/pon_resource_manager/resource_kv_store.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "17b2871a896cde37826b740b2e23a1e86f8a4376",
      "new_mode": 33188,
      "new_path": "python/common/pon_resource_manager/resource_manager.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cbbda893cef342bfc38157b5aabe16f1d498eee5",
      "new_mode": 33188,
      "new_path": "python/common/structlog_setup.py"
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/common/utils/__init__.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "10d1ce39587af99f919f184616be28f77dee7424",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/asleep.py",
      "new_id": "10d1ce39587af99f919f184616be28f77dee7424",
      "new_mode": 33188,
      "new_path": "python/common/utils/asleep.py",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df4dd58b16c109d0186cb1d9a67a4a92fb2b90f8",
      "new_mode": 33188,
      "new_path": "python/common/utils/consulhelpers.py"
    },
    {
      "type": "copy",
      "old_id": "3c55c1aa4c52f4ee0fe467a8cb3911122ede0c4e",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/deferred_utils.py",
      "new_id": "3c55c1aa4c52f4ee0fe467a8cb3911122ede0c4e",
      "new_mode": 33188,
      "new_path": "python/common/utils/deferred_utils.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "4620aeff25060ebaee9270c1bc10bb462d8310f1",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/dockerhelpers.py",
      "new_id": "4620aeff25060ebaee9270c1bc10bb462d8310f1",
      "new_mode": 33188,
      "new_path": "python/common/utils/dockerhelpers.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "8df630e6f511f598141d3daf29d0138889e66383",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/grpc_utils.py",
      "new_id": "8df630e6f511f598141d3daf29d0138889e66383",
      "new_mode": 33188,
      "new_path": "python/common/utils/grpc_utils.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "e0fea1c95fae20a26243620674bcebd40bd14df7",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/id_generation.py",
      "new_id": "e0fea1c95fae20a26243620674bcebd40bd14df7",
      "new_mode": 33188,
      "new_path": "python/common/utils/id_generation.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "858cb3a1c7cbb982f8fdbeddff6d2c8be88f9cfa",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/indexpool.py",
      "new_id": "858cb3a1c7cbb982f8fdbeddff6d2c8be88f9cfa",
      "new_mode": 33188,
      "new_path": "python/common/utils/indexpool.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "c18d0135bd380871ed760b95ff1803be4aff77f9",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/json_format.py",
      "new_id": "c18d0135bd380871ed760b95ff1803be4aff77f9",
      "new_mode": 33188,
      "new_path": "python/common/utils/json_format.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "2b4257acbd8cfbc6134ad55f8506de86a59cc8e4",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/message_queue.py",
      "new_id": "2b4257acbd8cfbc6134ad55f8506de86a59cc8e4",
      "new_mode": 33188,
      "new_path": "python/common/utils/message_queue.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "b17aced8ab1413e5081df9102f881020a8382d49",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/nethelpers.py",
      "new_id": "b17aced8ab1413e5081df9102f881020a8382d49",
      "new_mode": 33188,
      "new_path": "python/common/utils/nethelpers.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "9ea739a7c147e8e9ff964494c7c0f9a96c314c80",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/ordered_weakvalue_dict.py",
      "new_id": "9ea739a7c147e8e9ff964494c7c0f9a96c314c80",
      "new_mode": 33188,
      "new_path": "python/common/utils/ordered_weakvalue_dict.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "1b912e041032a2b423fcbe7a0314c7a2713c778b",
      "old_mode": 33188,
      "old_path": "adapters/docker/Dockerfile.base",
      "new_id": "1b912e041032a2b423fcbe7a0314c7a2713c778b",
      "new_mode": 33188,
      "new_path": "python/docker/Dockerfile.base",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "48b4728ec4d311f9e09ed1aed6b6ab2a6a1d6608",
      "new_mode": 33188,
      "new_path": "python/docker/Dockerfile.ofagent"
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33261,
      "new_path": "python/ofagent/__init__.py",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6117c8fd8326416ce8dd8c19eeacaba8b35fcd94",
      "new_mode": 33261,
      "new_path": "python/ofagent/agent.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b960b6901c5842ab5b62fbf27e69f5371b56b862",
      "new_mode": 33261,
      "new_path": "python/ofagent/connection_mgr.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "192a65a3d74b1ce65476b8f3c3af56a306b86c1e",
      "new_mode": 33261,
      "new_path": "python/ofagent/converter.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5a05696caea61e9129b9c14517a6d332692ac4a5",
      "new_mode": 33261,
      "new_path": "python/ofagent/grpc_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "adb067b550d2fa5a9375da74cfc6c545b5d00c9a",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fc61161c4c81461ae335870e884bd6c1b2d3024c",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/connection.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7cbf32ede3b024c0e0decc059291650bab139c44",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/generic_util.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d4457f5b3f3005f6a34056c82de4600b15c9699d",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of10/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "43702f090b8fe306a96f581b2958a33020d6236c",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of10/action.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7bd77dea33dfac7c319aa16445917c0b9fe0cbc",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of10/common.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "01404ee69b533a7c83c3094afe93aebbf8424737",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of10/const.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8c3d46c9294b61305b98d396b9365356abc92273",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of10/message.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28ffba1a5f7f153d16309ade171a6fe851dbf576",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of10/util.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "29d4afe4db446e9e2fb84cd940ff760f622f6f5a",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of11/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "79fc2ffd0950a9a7332f55fe03084d23bb6926b1",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of11/action.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dadd6bc2deff2ffe55e47a6558ada1a71948ce27",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of11/common.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9705d891548ab0c5ebed39a293b78115646df8df",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of11/const.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7910aef535f57ecb7eae570f90f5f0b49cdeaf6f",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of11/instruction.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cb102f8914d40fa8ef2c206d47707db92e4679ae",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of11/message.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f5dd74365e9fc3ce41333ca892f137f0d8478404",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of11/util.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "675a44c58b6ec6c65d7afcf049b334aaa9d09131",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "da7ee0bf478d9d6ae2da1ec0bd60df8d04b058ca",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/action.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ce4918e390426f8143bbde9f6cf2a523e753526",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/common.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d1df449e06116cd947b63c52bc0bd50be092a9d1",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/const.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1e7cb62e1b9f5d25b162bdaf5e83396ca40ee5a9",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/instruction.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9c0da0d43c6077a55638d6665c96f7b076e06b7b",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/message.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2d6dfec6630a8adfe8a2d55c978a41e3139b136",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/oxm.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "90913a2dc3e7f3f497915a19ee2a856b9e5ce3db",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of12/util.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ff0f0b67bf694d0766c19a1fd89b9b772d39a2d8",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f8727a18089ed3dc5c2f0e204d0bce5f7a92fd7d",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/action.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "016220517e1d55188eeacc5ff4bf492f65999d7c",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/action_id.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "964ca7c96b2ea35746118af02127f9b1c41df440",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/bsn_tlv.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4e95fcb864e9370b1c3d5394cfa372874231fdbb",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/common.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7a33f3e21ad0931b635f75cad8dd3b712df77f70",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/const.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e839429f711ebf7ff22793193fcf0cee326791f8",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/instruction.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c5f0ca6df18cdf5b1b9064295b904ebd3f7f6ea0",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/instruction_id.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "036aa547d7f92bef35c9e9bd6b6550d124831988",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/message.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "822567ed214f599c26fc70c568281bc370395115",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/meter_band.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0e43b2b8ecf590a8365ca93eb969d32887ddf49f",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/oxm.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e88d02227ec12b39ef3d2a28e7216f3eb078215b",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of13/util.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e256fbb1dbfdf2e354a850238d1b8c9f8203c1dc",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d03b05d08585f735094b41cd01a4e7e02c43c017",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/action.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1ff80ff126ff92be5df865c23be4c51882b39a59",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/action_id.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6188c87779a9d8e46d57ce29e2e04aeb385482ba",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/async_config_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "125f534ed699845daeeed601078d61005dba7f88",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/bsn_tlv.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6a36f28ad312e6cdb0cfd7180c188bc62c66e335",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/bundle_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "124b26a79c846e058bd29ed6aa076ca43825e509",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/common.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f942ac024aad16c12e4b1279c07fc02cac0e7b14",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/const.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "62a1f61da0ed25eaf3c22f316200119865ad37c3",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/instruction.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "da9f84a222ec9dc4ae517e00e184e8eb825ea85d",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/instruction_id.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "68dc3ab3b53016d59ccf29776954dc268dc78d49",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/message.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "21ca49e4dba79a2ff3987914a7d281f59e513c2b",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/meter_band.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d446ebed753a13ce0e5b225d66731a9bc562b862",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/oxm.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "333f2cdb0a253d6f0bf0c4e6c1002e9029eaf267",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/port_desc_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0c6f647f6f8ee9de87f111d1ae8942b33f17d3b2",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/port_mod_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10460e24527fadebb9574244f3b655888817274f",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/port_stats_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bceb50d6ad5de3ffaf665fb391cf2377772b3e4",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/queue_desc_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0a4bd6752881d2766cfa29ca861a1683c4579fba",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/queue_stats_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "de27245cece142ad73e2f879840e5192e87d8ed3",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/role_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fe002e32d62dcbc28261bfd025ab3925fa0bd56f",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/table_mod_prop.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c013109ed625d211e8b9d9a8939031062aafa0b",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/of14/util.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a3fc97a0184c39678e735c488bb2ca787e16ec2",
      "new_mode": 33188,
      "new_path": "python/ofagent/loxi/pp.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "06c2ae380dc9f3d2b36f34e5fa0ddce77a3068c8",
      "new_mode": 33261,
      "new_path": "python/ofagent/main.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1dcc5215e5c84f82a40a149760de909bc8699996",
      "new_mode": 33261,
      "new_path": "python/ofagent/of_connection.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8d0946170295a59cb1a133294f55d5284b6e9a10",
      "new_mode": 33261,
      "new_path": "python/ofagent/of_protocol_handler.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a0e2cdd73a00d0ba89d72c7b63917a7d6e12d456",
      "new_mode": 33188,
      "new_path": "python/ofagent/ofagent.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6f5d8ce93a8e88d5d2a54496e86d9c5d181f9ef",
      "new_mode": 33188,
      "new_path": "python/ofagent/protos/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65c5e930e8b1159bba39c491173946177c1d8910",
      "new_mode": 33188,
      "new_path": "python/ofagent/protos/README"
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/common/utils/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33261,
      "new_path": "python/ofagent/protos/__init__.py",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "818c1b1cd48cf2904b3a7ebc6fc011650b53f424",
      "new_mode": 33188,
      "new_path": "python/ofagent/protos/third_party/__init__.py"
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/ofagent/protos/third_party/google/__init__.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/api/__init__.py",
      "new_id": "b0fb0b29262c9f11d05552e2bede52be6264c848",
      "new_mode": 33188,
      "new_path": "python/ofagent/protos/third_party/google/api/__init__.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "cbd18b847f39ea4b9b432825424c13f60a010b0d",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/api/annotations.proto",
      "new_id": "cbd18b847f39ea4b9b432825424c13f60a010b0d",
      "new_mode": 33188,
      "new_path": "python/ofagent/protos/third_party/google/api/annotations.proto",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "ce07aa14f54feec4c107cdde161395ad2fb42e2e",
      "old_mode": 33188,
      "old_path": "adapters/protos/third_party/google/api/http.proto",
      "new_id": "ce07aa14f54feec4c107cdde161395ad2fb42e2e",
      "new_mode": 33188,
      "new_path": "python/ofagent/protos/third_party/google/api/http.proto",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e72bef96c23a8552c9a8b7334f792547a4fadbb",
      "new_mode": 33261,
      "new_path": "python/ofagent/utils.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d3d9a186a20844d0b9ff813774f9a7e95194d616",
      "new_mode": 33188,
      "new_path": "python/pki/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a71091b6080356574d1f7f840fc1d2f3579c7073",
      "new_mode": 33188,
      "new_path": "python/pki/voltha-CA.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "75520104f3f96fb62de60e4552f48f2da6e5c808",
      "new_mode": 33188,
      "new_path": "python/pki/voltha.cnf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "efeef03cf873534f95f804eaa0c2595d18eb323f",
      "new_mode": 33188,
      "new_path": "python/pki/voltha.crt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "614efa1d280d33b3ef2b783e90574805a9941ee5",
      "new_mode": 33188,
      "new_path": "python/pki/voltha.key"
    },
    {
      "type": "copy",
      "old_id": "a0641b2e1ae09836f7bfbf7e578565eaafcb2cae",
      "old_mode": 33261,
      "old_path": "adapters/requirements.txt",
      "new_id": "a0641b2e1ae09836f7bfbf7e578565eaafcb2cae",
      "new_mode": 33188,
      "new_path": "python/requirements.txt",
      "score": 100
    },
    {
      "type": "modify",
      "old_id": "215f60f72d62f5641686dfda6ab2d0315ff3f417",
      "old_mode": 33188,
      "old_path": "rw_core/core/grpc_nbi_api_handler.go",
      "new_id": "152447413dd0daef14c99e02a62f35bb60952569",
      "new_mode": 33188,
      "new_path": "rw_core/core/grpc_nbi_api_handler.go"
    }
  ]
}
