)]}'
{
  "log": [
    {
      "commit": "ea3cbf03b6714d942807e3e512a0dbbc929ed51d",
      "tree": "d9d75cc7fdc31b2f0eb3914954d3464a374b7654",
      "parents": [
        "20997cfc3d169317fa79f21b807029fe04225aa3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jun 03 11:48:38 2019 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jun 03 11:50:07 2019 -0700"
      },
      "message": "SEBA-709 Handle parse errors at end of input\n\nChange-Id: I8209dfc41c48e42ab4016ad6ad4d3e37f9195a3b\n"
    },
    {
      "commit": "20997cfc3d169317fa79f21b807029fe04225aa3",
      "tree": "ed2ea238efad9f91c22cff205100084c24728c7e",
      "parents": [
        "fc960cc6adf2423261eafb20807b74732499ecd2"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Apr 04 10:10:06 2019 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Apr 04 16:09:22 2019 -0700"
      },
      "message": "SEBA-421 Print error messages to stderr, not stdout;\nAdd Makefile\n\nChange-Id: I7d4285a343d723ff3fc2aa2f7b1abfb806de8966\n"
    },
    {
      "commit": "fc960cc6adf2423261eafb20807b74732499ecd2",
      "tree": "9381f137a9ca4298c1ca339279d3896a5899110b",
      "parents": [
        "28f1e498bd2eba7eaeea4e9abf6356631c0b75ad"
      ],
      "author": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Wed Feb 13 11:36:26 2019 -0700"
      },
      "committer": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Thu Feb 14 08:48:41 2019 -0700"
      },
      "message": "Release version 4.0.0\n\nChange-Id: I4a30b6b68247306b04f0727aea0eb9c3902c4446\n"
    },
    {
      "commit": "28f1e498bd2eba7eaeea4e9abf6356631c0b75ad",
      "tree": "9515bdb4c06225b7270c3b0c7d1b2bb1c1d7bd9b",
      "parents": [
        "f194ae00181c3ebafbbd13d37cea1ffadb55d419"
      ],
      "author": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Fri Feb 01 10:02:56 2019 -0700"
      },
      "committer": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Wed Feb 13 10:57:56 2019 -0700"
      },
      "message": "Major Refactoring on plyxproto\n\n- Reorganized code and removed copy of ply\n- Reformatted code to be closer to PEP8\n- Updated to Python3 compatibility\n- Added tox test runner and created test cases\n"
    },
    {
      "commit": "f194ae00181c3ebafbbd13d37cea1ffadb55d419",
      "tree": "153695afa9ef6f9e413f6abe6f5c2629a2ce0c1c",
      "parents": [
        "be7f36d38a9e75c374ba1861e72b47ca7f41aeff",
        "d708ffccd4a49b865e6395774e50b9ca2246d4aa"
      ],
      "author": {
        "name": "Zack Williams",
        "email": "zdw@users.noreply.github.com",
        "time": "Fri Oct 05 12:06:06 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 05 12:06:06 2018 -0700"
      },
      "message": "Merge pull request #1 from sbconsulting/master\n\nAdding :REVERSE_ID syntax to links"
    },
    {
      "commit": "d708ffccd4a49b865e6395774e50b9ca2246d4aa",
      "tree": "153695afa9ef6f9e413f6abe6f5c2629a2ce0c1c",
      "parents": [
        "afe5532a5e0cfb25ff04bf75fdbbad2be418067d"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Oct 01 16:38:48 2018 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Oct 01 16:38:48 2018 -0700"
      },
      "message": "release 3.1.0\n"
    },
    {
      "commit": "afe5532a5e0cfb25ff04bf75fdbbad2be418067d",
      "tree": "a46896d4cec90d4f8824eda6e2330e857ca5bac5",
      "parents": [
        "ba36b4912d8f7cc3843244c2e4e17af578241d4e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Oct 01 09:37:44 2018 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Oct 01 09:37:44 2018 -0700"
      },
      "message": "set development version\n"
    },
    {
      "commit": "ba36b4912d8f7cc3843244c2e4e17af578241d4e",
      "tree": "153695afa9ef6f9e413f6abe6f5c2629a2ce0c1c",
      "parents": [
        "be7f36d38a9e75c374ba1861e72b47ca7f41aeff"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 28 17:18:41 2018 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 28 17:19:06 2018 -0700"
      },
      "message": "Add optional :REVERSE_ID to links\n"
    },
    {
      "commit": "be7f36d38a9e75c374ba1861e72b47ca7f41aeff",
      "tree": "c816e48dcbe6e480546a79539e1f59a838470b19",
      "parents": [
        "9c579726be51ef36203e708f7761060571ff4b95"
      ],
      "author": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Fri Feb 02 11:37:11 2018 -0700"
      },
      "committer": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Fri Feb 02 11:37:11 2018 -0700"
      },
      "message": "First pass of pep8\u0027ing the code\n"
    },
    {
      "commit": "9c579726be51ef36203e708f7761060571ff4b95",
      "tree": "4f9aa1afc77a1c347fe096aa9b16ba53b5afeecf",
      "parents": [
        "9966973ea2f9889224a2aabbb56e8873b9d33fcd"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jan 12 13:45:09 2018 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jan 12 13:45:09 2018 -0500"
      },
      "message": "Improvements to parser, resolution for shift/reduce conflicts\n"
    },
    {
      "commit": "9966973ea2f9889224a2aabbb56e8873b9d33fcd",
      "tree": "724db4d2ab7f1776e3bd5c0ee80358a87d0d56f4",
      "parents": [
        "29c4759c4c863eac032b57fd8155f1be66ff8e95"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapan@opennetworking.org",
        "time": "Tue Jul 25 19:19:14 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapan@opennetworking.org",
        "time": "Tue Jul 25 19:19:14 2017 -0400"
      },
      "message": "Support for invoking one policy from another\n"
    },
    {
      "commit": "29c4759c4c863eac032b57fd8155f1be66ff8e95",
      "tree": "adf5dac960297297d918f7abdc2bdcd7225cfac0",
      "parents": [
        "cee0402b1d8e3c261be789de43aaa8d56b78e743"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapan@opennetworking.org",
        "time": "Sun Jul 23 21:32:44 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapan@opennetworking.org",
        "time": "Sun Jul 23 21:32:44 2017 -0400"
      },
      "message": "Packaged for pypi\n"
    },
    {
      "commit": "cee0402b1d8e3c261be789de43aaa8d56b78e743",
      "tree": "e4aaabe08556470cbc0ecaaf1ec7e4e55f790d06",
      "parents": [
        "5d76b24a5a59dac7388edc1b3f832a14e28083c7"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapan@opennetworking.org",
        "time": "Thu Jul 20 02:12:43 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapan@opennetworking.org",
        "time": "Thu Jul 20 02:12:43 2017 -0400"
      },
      "message": "Support for in and function calls\n"
    },
    {
      "commit": "5d76b24a5a59dac7388edc1b3f832a14e28083c7",
      "tree": "75698ffecb6154a0cbbf1e5d5063437ba28ce986",
      "parents": [
        "fc1278ced0228adbeccea508bb98e52275302735"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapan@nat-tvwna-inside-visitornet101-c-10228.princeton.org",
        "time": "Wed Jul 19 12:48:15 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapan@nat-tvwna-inside-visitornet101-c-10228.princeton.org",
        "time": "Wed Jul 19 12:48:15 2017 -0400"
      },
      "message": "Bug fix - support for implications was broken in xproto\n"
    },
    {
      "commit": "fc1278ced0228adbeccea508bb98e52275302735",
      "tree": "3cc964edbd7b4c72768f961f219b457e315796d8",
      "parents": [
        "bc6268ca9a71fe881e0fbb5d8128d91e2da771ac"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jul 17 12:57:13 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jul 17 12:57:13 2017 -0400"
      },
      "message": "Added support for string and numeric constants\n"
    },
    {
      "commit": "bc6268ca9a71fe881e0fbb5d8128d91e2da771ac",
      "tree": "26834749752f78b75eae9021cd39bf2f915dccf5",
      "parents": [
        "05beb08a80a625ae7fd0e4845f83003bcc516d0e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Jul 16 02:43:45 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Jul 16 02:43:45 2017 -0400"
      },
      "message": "Remove whitespaces from Python escapes\n"
    },
    {
      "commit": "05beb08a80a625ae7fd0e4845f83003bcc516d0e",
      "tree": "307ac3040f52c77b4cb8392477845f83cfc598a0",
      "parents": [
        "b934f7267c2475b3608ff466dd5d11b5b78a0471"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Jul 16 02:23:31 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Jul 16 02:23:31 2017 -0400"
      },
      "message": "Dropped braces from python injection\n"
    },
    {
      "commit": "b934f7267c2475b3608ff466dd5d11b5b78a0471",
      "tree": "8393785c0847087ab8c5a9a3504c3e3bc741cf5b",
      "parents": [
        "bdf8b385516ff304f9801fd252dd15ed436d1f63"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jul 15 08:42:19 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jul 15 08:42:27 2017 -0400"
      },
      "message": "Bug fix: Python escapes should not contain extra whitespace\n"
    },
    {
      "commit": "bdf8b385516ff304f9801fd252dd15ed436d1f63",
      "tree": "7e0a5564e6e813fb9316f2847756f4cbd54ba0e3",
      "parents": [
        "117609f7407a40552839756bfcd81112316c115b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jul 14 11:09:05 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jul 14 11:09:05 2017 -0400"
      },
      "message": "Changed once again to true/false in Python syntax\n"
    },
    {
      "commit": "117609f7407a40552839756bfcd81112316c115b",
      "tree": "53829991951a27c27567b2cdbd37db63bcf07e42",
      "parents": [
        "d85f7f03522ae9b1b8418e7a608dbbb1a0f75dc0"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jul 14 10:45:16 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jul 14 10:45:16 2017 -0400"
      },
      "message": "Bugfix: Python escapes specify terms not complete expressions\n"
    },
    {
      "commit": "d85f7f03522ae9b1b8418e7a608dbbb1a0f75dc0",
      "tree": "3b6aea9e3248b37cd82ff156720e2337d63d597a",
      "parents": [
        "2fc2a94dd6bb90d095b980dd826a9218c46fbb4e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Jul 13 21:25:23 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Jul 13 21:25:23 2017 -0400"
      },
      "message": "Switch back to original true/false\n"
    },
    {
      "commit": "2fc2a94dd6bb90d095b980dd826a9218c46fbb4e",
      "tree": "f4ea547e109fa788ececda546d417f8752ea86f2",
      "parents": [
        "8ea61d1c64521d453eec01a7d6e1be095109c40a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Jul 13 21:18:00 2017 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Jul 13 21:18:00 2017 -0400"
      },
      "message": "Minor bug fixes\n"
    },
    {
      "commit": "8ea61d1c64521d453eec01a7d6e1be095109c40a",
      "tree": "704542a60c75b7f8d2c6f5a5a38e0c5f0d6d03df",
      "parents": [
        "89bbaa531df4e709beb60008632b2dde2c602fc1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 28 22:59:53 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 28 22:59:53 2017 -0700"
      },
      "message": "Drop prefixize.py\n"
    },
    {
      "commit": "89bbaa531df4e709beb60008632b2dde2c602fc1",
      "tree": "5a64b7d2a32223bc172943c8b1b93006fa5c27db",
      "parents": [
        "d70c3786dc99adfcaf0d6ed57ba908329bd9499d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 28 22:58:15 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 28 22:58:15 2017 -0700"
      },
      "message": "Add map/reduce to main parser body\n"
    },
    {
      "commit": "d70c3786dc99adfcaf0d6ed57ba908329bd9499d",
      "tree": "ca8db49a33cf550a3772717a282b903701e846bf",
      "parents": [
        "ad79feeef186a387d5e92d76363cfda85bd04486"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 28 22:47:22 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 28 22:47:22 2017 -0700"
      },
      "message": "Fixed parsing error with policies\n"
    },
    {
      "commit": "ad79feeef186a387d5e92d76363cfda85bd04486",
      "tree": "fc5f92b3bdc3176aab728ebfbef7e868fda482f7",
      "parents": [
        "84a2924d65a3e5c22cb9ef149f9759c4e5cb4c95"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jun 26 23:35:57 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jun 26 23:35:57 2017 -0700"
      },
      "message": "Map / Reduce operators in addition to policies\n"
    },
    {
      "commit": "84a2924d65a3e5c22cb9ef149f9759c4e5cb4c95",
      "tree": "a558acc6fe1b8c3dadcc803e33cd1f93c0c4a784",
      "parents": [
        "a368602431f94a57c3100aa150817799decf045d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 24 07:40:33 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 24 07:40:33 2017 -0700"
      },
      "message": "Field policy bug fix\n"
    },
    {
      "commit": "a368602431f94a57c3100aa150817799decf045d",
      "tree": "d57502801adaccfbd5655a585aa2d334b47e1925",
      "parents": [
        "684862f1b5c5313ab9617ace99df56fd2ae9147c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 24 07:24:19 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 24 07:24:19 2017 -0700"
      },
      "message": "Annotate models and fields with policies\n"
    },
    {
      "commit": "684862f1b5c5313ab9617ace99df56fd2ae9147c",
      "tree": "f48b400c9c9106aa5b2c948439ee453213112ec3",
      "parents": [
        "64c7251d464dd39df1d018b3c9788159935c4798"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jun 23 02:33:57 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jun 23 02:33:57 2017 -0700"
      },
      "message": "Bumped version to 2.0\n"
    },
    {
      "commit": "64c7251d464dd39df1d018b3c9788159935c4798",
      "tree": "69538f84ca4e21f253c0644769a8821ad73d31ab",
      "parents": [
        "ff86b01d3adfbe4acdc83091adc398956b53ea28"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jun 23 02:32:45 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Jun 23 02:33:11 2017 -0700"
      },
      "message": "Support for policies in first-order logic\n"
    },
    {
      "commit": "ff86b01d3adfbe4acdc83091adc398956b53ea28",
      "tree": "1e6fa7e91ab78f9bcb5b28e6d0233086d24d8780",
      "parents": [
        "88d1aa31123be62ec7a8bc0faa1bbac3e4c83f51"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Jun 11 14:44:15 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Jun 11 14:44:15 2017 -0700"
      },
      "message": "Support package statement at block level\n"
    },
    {
      "commit": "88d1aa31123be62ec7a8bc0faa1bbac3e4c83f51",
      "tree": "3b3298d285393d539824ed980b8d88401f5f4d6e",
      "parents": [
        "2ddf83aced62aff8364de1dad6ed8eee1ba6ae2e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 10 04:38:54 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 10 04:38:54 2017 -0700"
      },
      "message": "Renamed package to plyxproto to distinguish it from the original\nplyproto package.\n"
    },
    {
      "commit": "2ddf83aced62aff8364de1dad6ed8eee1ba6ae2e",
      "tree": "5105d4b2c32597f80febdfa1cc4cd2f2170cac7d",
      "parents": [
        "4460911bfce282bac3041608812e8da0fd9c3bdd"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 10 04:31:40 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Jun 10 04:31:40 2017 -0700"
      },
      "message": "Allow fully qualified model names in xproto models\n"
    },
    {
      "commit": "4460911bfce282bac3041608812e8da0fd9c3bdd",
      "tree": "99b1261e59e86d6f2a07270052b92ab90bd8d0b5",
      "parents": [
        "83ebe42fd8e73933066741934af24d8eb93fd919"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon May 15 00:00:25 2017 +0200"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon May 15 00:00:25 2017 +0200"
      },
      "message": "Write parsetab file to /tmp instead of the plyproto directory, and bump\nversion\n"
    },
    {
      "commit": "83ebe42fd8e73933066741934af24d8eb93fd919",
      "tree": "7aff7c8a5ec0cb5b6a3b10c86a4bbb7dabf4d4f1",
      "parents": [
        "4a159acbaf333fec31a4a9d79eb4f72f1a02bb8e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Apr 30 17:02:07 2017 +0200"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sun Apr 30 17:02:07 2017 +0200"
      },
      "message": "Bumped version\n"
    },
    {
      "commit": "4a159acbaf333fec31a4a9d79eb4f72f1a02bb8e",
      "tree": "f1fbacd2a60af9bd8ff393a4d21c40989705c174",
      "parents": [
        "78fee770bcad6b942c4a8620cb7ebbd6006e68f8"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Apr 29 20:10:05 2017 +0200"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Sat Apr 29 20:10:05 2017 +0200"
      },
      "message": "Accept options in messages\n"
    },
    {
      "commit": "78fee770bcad6b942c4a8620cb7ebbd6006e68f8",
      "tree": "3a7180ef93218b3e5fbd65bc299bb80f6e444ed4",
      "parents": [
        "87792a13e8ec18a2bb2c54d80711a120cecf67c3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Apr 21 19:00:48 2017 +0200"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Apr 21 19:00:48 2017 +0200"
      },
      "message": "Support for additional xproto constructs, bug fixes\n"
    },
    {
      "commit": "87792a13e8ec18a2bb2c54d80711a120cecf67c3",
      "tree": "b87645f12a0c72e8ed41fc1b24fc9138825c98b7",
      "parents": [
        "b7acc8ca9c6c41aff7ffb419125f54d21da09652"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Apr 10 19:35:05 2017 -0700"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Apr 10 19:35:05 2017 -0700"
      },
      "message": "Updates to model and parser\n"
    },
    {
      "commit": "b7acc8ca9c6c41aff7ffb419125f54d21da09652",
      "tree": "6b99f80ea2a98e2454be873c23dfd92a855e9a92",
      "parents": [
        "75d3b41d1a58150b2cc2e8cb5b2252ee78c6d201"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Mar 29 21:17:25 2017 +0200"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Mar 29 21:17:25 2017 +0200"
      },
      "message": "Add dependency to ply package\n"
    },
    {
      "commit": "75d3b41d1a58150b2cc2e8cb5b2252ee78c6d201",
      "tree": "f0fef668f8dc4c6ab35cbf5f46f8b89fb8d57af3",
      "parents": [
        "b1225873191a9d9b62c34d3e430b483572ca3bb3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Mar 29 21:10:29 2017 +0200"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Mar 29 21:10:29 2017 +0200"
      },
      "message": "Package based installer\n"
    },
    {
      "commit": "b1225873191a9d9b62c34d3e430b483572ca3bb3",
      "tree": "f97b7ab046ebfbef26c09dfa90ff15ba4ec6146a",
      "parents": [
        "52d11c9fcaaed932b035fca96dcd08c147a7e0c7"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Mar 29 20:47:47 2017 +0200"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Mar 29 20:47:47 2017 +0200"
      },
      "message": "Support post actions in visitor, fixes to the grammar\n"
    },
    {
      "commit": "52d11c9fcaaed932b035fca96dcd08c147a7e0c7",
      "tree": "b1fb7196b1c33fa2cbd0d4a254bc0a45da2417d5",
      "parents": [
        "d0fdd3a36a7111a6f12db37804988b73afe3efb3"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Tue Nov 11 15:54:36 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Tue Nov 11 15:54:36 2014 +0100"
      },
      "message": "Readme update\n"
    },
    {
      "commit": "d0fdd3a36a7111a6f12db37804988b73afe3efb3",
      "tree": "a38af856eec0629fd1384988cfdfdcf632089563",
      "parents": [
        "1064fb3477460eb255307a77e54c2165ff80ecac"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:55:51 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:55:51 2014 +0100"
      },
      "message": "Name sanitizing for entity names for Protocol Buffers entities.\n\n* If entity names conflicts with ObjectiveC reserved words or some method name (e.g., hash, description), it is renamed.\n"
    },
    {
      "commit": "1064fb3477460eb255307a77e54c2165ff80ecac",
      "tree": "3a749fd9bc1e16521d5f4a726ba815a418495846",
      "parents": [
        "00eb5da832d872297cdbe4f310ade3f3a222757d"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:48:50 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:48:50 2014 +0100"
      },
      "message": "More convenient \u0026 safe parent setting and visitor.\n"
    },
    {
      "commit": "00eb5da832d872297cdbe4f310ade3f3a222757d",
      "tree": "de3b1af2df5792b01af4fdf9d38fab53d8f6d753",
      "parents": [
        "a9f6d36d83dfefc00c0b7395cab00446c23fb155"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:24:15 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:24:15 2014 +0100"
      },
      "message": "Model system changed - setting parent to the elements.\n\n* Elements can determine its parent in the visitor.\n"
    },
    {
      "commit": "a9f6d36d83dfefc00c0b7395cab00446c23fb155",
      "tree": "3f058ad2f0f746cd713ba3134dad2604d8ac8cc8",
      "parents": [
        "ee7d898807f80d75975f649717037c254ac375cd"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:07:08 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 21:07:08 2014 +0100"
      },
      "message": "Visitors visits also child elements. LU added to directives.\n"
    },
    {
      "commit": "ee7d898807f80d75975f649717037c254ac375cd",
      "tree": "06b26d593cd4c030384050b299a34ea9afe3060e",
      "parents": [
        "3880d236d876adce168c22f1eaab3dafa876f106"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 19:01:48 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 19:01:48 2014 +0100"
      },
      "message": "Prefixize comment - added reference to objc proto compiler.\n"
    },
    {
      "commit": "3880d236d876adce168c22f1eaab3dafa876f106",
      "tree": "50933d4f8c0b79491f6f972fc6fe17d9473787c3",
      "parents": [
        "aa9ff47db80bf107999f00709291bd264a269dd7"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 19:01:13 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 19:01:13 2014 +0100"
      },
      "message": "Prefixize demo script added.\n\n* Demo script for prefixing identifiers for Protocol Buffers entities. It is useful when using with protoc objective C compiler which does not prefix entities. https://github.com/alexeyxo/protobuf-objc\n"
    },
    {
      "commit": "aa9ff47db80bf107999f00709291bd264a269dd7",
      "tree": "6186d664b892e41cf4bd352480b11b93a7c2b078",
      "parents": [
        "c9b031aefeefcbcde9055438587003a1e3834be4"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 18:02:03 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 18:02:03 2014 +0100"
      },
      "message": "Lexical units added\n\n* Lexical support added to the model. Enables to get information about position of a particular element in the source text (character number). This helps with refactoring (search \u0026 replace).\n* Lexical unit object wraps raw string occurrence so it can be easily found.\n"
    },
    {
      "commit": "c9b031aefeefcbcde9055438587003a1e3834be4",
      "tree": "5365a75176f65095f59e097c268b11b4dca4d54f",
      "parents": [
        "a4fae1127ad01653e79424128b990fc2852136f3"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 13:21:08 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 13:21:08 2014 +0100"
      },
      "message": "ProtoFile parse entity, output from lexed added to object (e.g., positions in the input).\n"
    },
    {
      "commit": "a4fae1127ad01653e79424128b990fc2852136f3",
      "tree": "6a0c27e1874930b5b5b1d29d21ad9b766c8969dd",
      "parents": [
        "e26bb0274919667b3d064a2f3125cf62120ff170"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 08:50:27 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Mon Nov 10 08:50:27 2014 +0100"
      },
      "message": "Fixed java package name (with dots), field name can be \u0027message\u0027.\n"
    },
    {
      "commit": "e26bb0274919667b3d064a2f3125cf62120ff170",
      "tree": "4869eb407a892d53385e4900b4992c902604140e",
      "parents": [
        "e4b95395441be68df663314b07b9babf3ca569ca"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 12:21:37 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 12:21:37 2014 +0100"
      },
      "message": "Model names refactoring\n"
    },
    {
      "commit": "e4b95395441be68df663314b07b9babf3ca569ca",
      "tree": "33a12318a5064f43f921038cf52b5bd69fa36c60",
      "parents": [
        "9826612233ffa2870cdcc08507125f4531a28949"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 11:40:28 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 11:40:28 2014 +0100"
      },
      "message": "readme fix\n"
    },
    {
      "commit": "9826612233ffa2870cdcc08507125f4531a28949",
      "tree": "0b1128db84e83c9852996ce4df58b472fc4ce927",
      "parents": [
        "f19f23f3d9883aed0cbe8e6ce99e253e3393b150"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 03:39:18 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 03:39:18 2014 +0100"
      },
      "message": "Readme update\n"
    },
    {
      "commit": "f19f23f3d9883aed0cbe8e6ce99e253e3393b150",
      "tree": "1594464a0880ae24f6e5ce22c6162b9c2b6ae901",
      "parents": [
        "ccaa0d9db911f01fa31979df55bb43bb1e13f09f"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 03:26:36 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 03:26:36 2014 +0100"
      },
      "message": "Readme update.\n"
    },
    {
      "commit": "ccaa0d9db911f01fa31979df55bb43bb1e13f09f",
      "tree": "227ea320144958edbc3de9c83455e29776412b52",
      "parents": [
        "b827fb06b5bfd341c8cf144303af42c7bbf3a997"
      ],
      "author": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 03:21:31 2014 +0100"
      },
      "committer": {
        "name": "Dusan Klinec",
        "email": "dusan.klinec@gmail.com",
        "time": "Sun Nov 09 03:21:31 2014 +0100"
      },
      "message": "Initial import\n"
    },
    {
      "commit": "b827fb06b5bfd341c8cf144303af42c7bbf3a997",
      "tree": "4148ad0999923687de16cbdad9ba2b17073ed8d3",
      "parents": [],
      "author": {
        "name": "ph4r05",
        "email": "ph4r05@gmail.com",
        "time": "Sun Nov 09 03:03:04 2014 +0100"
      },
      "committer": {
        "name": "ph4r05",
        "email": "ph4r05@gmail.com",
        "time": "Sun Nov 09 03:03:04 2014 +0100"
      },
      "message": "Initial commit\n"
    }
  ]
}
