)]}'
{
  "log": [
    {
      "commit": "aa1b1ae3ced52dc28b8c2e6220a3f467e5bbbe61",
      "tree": "95641b80c88983aa1c24b64c1201a4ef2f44e6b0",
      "parents": [
        "1ad6fa4c64418e3270bd4e4738aaa5dc48ab1d20"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 08:02:49 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 21 08:02:49 2017 +0100"
      },
      "message": "overwrite the cached exports for a node with the recalculated exports\n"
    },
    {
      "commit": "1ad6fa4c64418e3270bd4e4738aaa5dc48ab1d20",
      "tree": "9d00ae9d77620bdfa1ef435e88dd60a2808177a5",
      "parents": [
        "c872763f7f1d4a8f23f6b5cd09dfb4c33aae2a3f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:39:50 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:39:50 2017 +0100"
      },
      "message": "use \u003d\u003d instead of is\n"
    },
    {
      "commit": "c872763f7f1d4a8f23f6b5cd09dfb4c33aae2a3f",
      "tree": "379ae1ad95c8382468bbcea6126dedddb41e45fa",
      "parents": [
        "be7098a49f1c9235a92869c3c70187f249cc2117"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:27:03 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 21:27:03 2017 +0100"
      },
      "message": "streamline the value parsing\n"
    },
    {
      "commit": "be7098a49f1c9235a92869c3c70187f249cc2117",
      "tree": "7344bd7dc76802335c288638102f1bb8f9586a24",
      "parents": [
        "bb4e01bc1924984dfacaebf8126dfd0a21f0eae8"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 17:01:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 17:01:05 2017 +0100"
      },
      "message": "set exports_uri in salt adapter\n"
    },
    {
      "commit": "bb4e01bc1924984dfacaebf8126dfd0a21f0eae8",
      "tree": "9761b3d4ce17eaaa7a5ce59231c72769246608ec",
      "parents": [
        "69e7782b7793372c815a22690da2f47e573334ed"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:48:20 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:48:20 2017 +0100"
      },
      "message": "set the initial exports to contents of the exports file when calculating\nthe inventory\n"
    },
    {
      "commit": "69e7782b7793372c815a22690da2f47e573334ed",
      "tree": "a6fec912fd15de577716e7a5c4c3a84b407c9ffe",
      "parents": [
        "1cc6abca7e961055528afef41c6fadc75a14e029"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:44:55 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 16:44:55 2017 +0100"
      },
      "message": "value parsing speed up: treat simple refs with a quicker parser\n"
    },
    {
      "commit": "1cc6abca7e961055528afef41c6fadc75a14e029",
      "tree": "21e29ece159b49107e76ddab17f52b3d299f76e8",
      "parents": [
        "1caa6a2d6425084b53c228edbdebf4f5244ac37c"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 15:31:41 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 15:31:41 2017 +0100"
      },
      "message": "speed up value parsing: only use pyparsing when needed\n"
    },
    {
      "commit": "1caa6a2d6425084b53c228edbdebf4f5244ac37c",
      "tree": "43bfe84a27d8889690733c456e42a09da42dc6d6",
      "parents": [
        "56bfe88c3d4abb7a025db3f24a316c6e46dca2af"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:52:43 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:52:43 2017 +0100"
      },
      "message": "ops, don\u0027t wrap a ValueList in a Value\n"
    },
    {
      "commit": "56bfe88c3d4abb7a025db3f24a316c6e46dca2af",
      "tree": "4cee3c5088a20b7060af75737b65c6e71da0f270",
      "parents": [
        "19281c853745c9dddd02b62fba007425fa957a85"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:31:13 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:31:13 2017 +0100"
      },
      "message": "use self:key parameters in $[] correctly\n"
    },
    {
      "commit": "19281c853745c9dddd02b62fba007425fa957a85",
      "tree": "573f393121f9f07d3b6cdcbaae0113e55a30bf88",
      "parents": [
        "3b1ab4316dbe525279e265d01f5165f11b36c248"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:30:15 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 12:30:15 2017 +0100"
      },
      "message": "ensure exports are correctly calculated during an inventory calculation\n"
    },
    {
      "commit": "3b1ab4316dbe525279e265d01f5165f11b36c248",
      "tree": "850e29bbf355852ad00071529c7994bdc80911bc",
      "parents": [
        "372e55aeea4527c0d71397669cf1cd66af4ed251"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 10:46:45 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 10:46:45 2017 +0100"
      },
      "message": "use a syntax closer to list comprehensions for $[]\n"
    },
    {
      "commit": "372e55aeea4527c0d71397669cf1cd66af4ed251",
      "tree": "0fa65dde1a30176db1b428866804382f665006a7",
      "parents": [
        "96e6399d17c4d74290bebc447a0c44a3faacb1d3"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 09:44:53 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 20 09:44:53 2017 +0100"
      },
      "message": "$[] now returns a dictionary\n"
    },
    {
      "commit": "96e6399d17c4d74290bebc447a0c44a3faacb1d3",
      "tree": "aa930241d63e8562b023d6d1f4c668b8a4210b20",
      "parents": [
        "527ad2eca68a3a5d697889d7b3719625361a4578"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 20:59:17 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 20:59:17 2017 +0100"
      },
      "message": "tidy up $[] parsing\n"
    },
    {
      "commit": "527ad2eca68a3a5d697889d7b3719625361a4578",
      "tree": "c58eba5a735edb210c3d220bfb853c1c98624e33",
      "parents": [
        "d5fd646ae0b663a3661553fe41c78904fa0f8ea2"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 13:47:49 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 13:47:49 2017 +0100"
      },
      "message": "if test for $[] exports\n"
    },
    {
      "commit": "d5fd646ae0b663a3661553fe41c78904fa0f8ea2",
      "tree": "6dcefed0905e292e9217c72a254ac1601882d46a",
      "parents": [
        "f99b1c9bf331897d4ec6bd1fd9517dc91d549f52"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 08:01:16 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 19 08:01:16 2017 +0100"
      },
      "message": "tidy up export items calculations\n"
    },
    {
      "commit": "f99b1c9bf331897d4ec6bd1fd9517dc91d549f52",
      "tree": "ae304183431f73cd15a558b1f79120bce4f18d75",
      "parents": [
        "10a167ce1972698d215136bda417fd11da5f2651"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 20:56:17 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 20:56:17 2017 +0100"
      },
      "message": "handle no existing exports file\n"
    },
    {
      "commit": "10a167ce1972698d215136bda417fd11da5f2651",
      "tree": "54d171d5e9b4050fdf158e2ce5a58ab1395722b6",
      "parents": [
        "e5d68b3c31a77f10fcbe941773a463fd575d3623"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 19:25:47 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 19:25:47 2017 +0100"
      },
      "message": "basic $[] functionality\n"
    },
    {
      "commit": "e5d68b3c31a77f10fcbe941773a463fd575d3623",
      "tree": "218f4f84fc8daba79aa0e9b2ac339635501e609d",
      "parents": [
        "d3cf61dafa760fd8b7de71f46b67c53371012407"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:31:42 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:31:42 2017 +0100"
      },
      "message": "move value and item classes to new reclass/values directory\n"
    },
    {
      "commit": "d3cf61dafa760fd8b7de71f46b67c53371012407",
      "tree": "03ea0ddd128858b97681e6ee3abdeabb3b1e8e71",
      "parents": [
        "17dc7fb8b8b5121e917b40b5beed8120d826d7e1"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:18:07 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:18:07 2017 +0100"
      },
      "message": "add pyparsing to requirements\n"
    },
    {
      "commit": "17dc7fb8b8b5121e917b40b5beed8120d826d7e1",
      "tree": "bd70b63700ec0a7108b535b2117ae4f18cfb4d4d",
      "parents": [
        "894040241ae98d0d600afdf463562d1055877ee1"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:07:04 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 13:07:04 2017 +0100"
      },
      "message": "tidy up value items\n"
    },
    {
      "commit": "894040241ae98d0d600afdf463562d1055877ee1",
      "tree": "3e0d1785889451baf7c28f12752f69020572962e",
      "parents": [
        "7aea78d743f9ecb56beaf1489896596b28f008a2"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 11:24:47 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 18 11:24:47 2017 +0100"
      },
      "message": "framework for $[] export parameters\n"
    },
    {
      "commit": "7aea78d743f9ecb56beaf1489896596b28f008a2",
      "tree": "7156e970bafbc28d48c07638ddeee684aab8914d",
      "parents": [
        "6a884e5ad6fa1bdfc058c1ed361fd7889133e545"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 17 10:33:40 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 17 10:33:40 2017 +0100"
      },
      "message": "optionally add some automatically set parameters\n"
    },
    {
      "commit": "6a884e5ad6fa1bdfc058c1ed361fd7889133e545",
      "tree": "7df0c474ab3802afb71cd24a34d52d3b79058f91",
      "parents": [
        "c1b9e26fc5b7548016cd92fbded3326293af7e5f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 11:33:09 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 11:33:09 2017 +0100"
      },
      "message": "ignore already rendered values when assembling references\n"
    },
    {
      "commit": "c1b9e26fc5b7548016cd92fbded3326293af7e5f",
      "tree": "15dcfd1012e0a1bfe21f0499018cbc20de87ecc4",
      "parents": [
        "01ad9836290aec57121f173fd15069c0701bd86f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 10:30:29 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Mar 14 10:30:29 2017 +0100"
      },
      "message": "allow key values of None/null to be unconditionally over written\n"
    },
    {
      "commit": "01ad9836290aec57121f173fd15069c0701bd86f",
      "tree": "c267b95af7922886cf7057045615a41d87ff2624",
      "parents": [
        "ca842f0450a748e2967714b0e63208b856517f0c"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 19:10:51 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 19:10:51 2017 +0100"
      },
      "message": "tidy up includes\n"
    },
    {
      "commit": "ca842f0450a748e2967714b0e63208b856517f0c",
      "tree": "fda0a5252b002b164cf3e493cd40c0777b2971c0",
      "parents": [
        "1868a7aca135eee2ee3ea80e3fe88677b50b4ae7"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 14:59:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 13 14:59:05 2017 +0100"
      },
      "message": "deal with ancestor references before deeper references\n"
    },
    {
      "commit": "1868a7aca135eee2ee3ea80e3fe88677b50b4ae7",
      "tree": "676f6b27b34d645a370531f29e2c43dfc2ef8246",
      "parents": [
        "7932810fbc0ff81cfaad96e068b8ddbe8588b3e3"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 12 10:04:00 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 12 10:04:00 2017 +0100"
      },
      "message": "treat the escape char normally when not next to reference open\n"
    },
    {
      "commit": "7932810fbc0ff81cfaad96e068b8ddbe8588b3e3",
      "tree": "4ef8734f01e91258c921ac9dc0c67827cc50ad2f",
      "parents": [
        "88456f52eb84c252fa66d4134131fe1fde18953f"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 11 09:45:07 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sat Mar 11 09:45:07 2017 +0100"
      },
      "message": "clean up handling of references to lists and dicts\n"
    },
    {
      "commit": "88456f52eb84c252fa66d4134131fe1fde18953f",
      "tree": "5b27bb57518c059b9d511269569d84b39ade7176",
      "parents": [
        "b4e121993b08f6e8114438e3f4e3265f84078741"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:50:32 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:50:32 2017 +0100"
      },
      "message": "tidy up value wrapping and rendering methods\n"
    },
    {
      "commit": "b4e121993b08f6e8114438e3f4e3265f84078741",
      "tree": "31de70266c9e5b3aaa85e272d935a8765b409f17",
      "parents": [
        "6b93af430ba2bd356ddabd3985c810246b0e4d9b"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:14:06 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 21:14:06 2017 +0100"
      },
      "message": "fix merging references to lists\n"
    },
    {
      "commit": "6b93af430ba2bd356ddabd3985c810246b0e4d9b",
      "tree": "fb2943ac9f3d760645c471bc09ecd12b5c344333",
      "parents": [
        "7801fdd900ef06f1863e7eea922351804ae8359d"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 11:38:14 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 11:38:14 2017 +0100"
      },
      "message": "convert all parts of a compound reference key to strings before concatenating\n"
    },
    {
      "commit": "7801fdd900ef06f1863e7eea922351804ae8359d",
      "tree": "14db0b27a7adeefc0afee1d37bf3df614036d183",
      "parents": [
        "6d144453f411e0281911e74a807259305a45dfb5"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 07:45:32 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Fri Mar 10 07:45:32 2017 +0100"
      },
      "message": "rename Values to ValueList\n"
    },
    {
      "commit": "6d144453f411e0281911e74a807259305a45dfb5",
      "tree": "848f51a3c3d3d8902c755be2eea5b02176b7d254",
      "parents": [
        "c6416e19d1f8f78ee6e65d78086314e975aa1b40"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:21:53 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:21:53 2017 +0100"
      },
      "message": "code tidy up\n"
    },
    {
      "commit": "c6416e19d1f8f78ee6e65d78086314e975aa1b40",
      "tree": "7b42b1888f3a55e907daa4a81872a422d59fbe9e",
      "parents": [
        "aa49bc863ab698c449a7ef0f6edbfff2ffeb06fd"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:20:24 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 20:20:24 2017 +0100"
      },
      "message": "ensure value object contains only one item\n"
    },
    {
      "commit": "aa49bc863ab698c449a7ef0f6edbfff2ffeb06fd",
      "tree": "ff027c63180d047688f8491f1d63b03663d415c6",
      "parents": [
        "b0a344f14be4d01d6cdafb27a8edf037fdd14b79"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 17:08:32 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Thu Mar 09 17:08:32 2017 +0100"
      },
      "message": "allow deep merging in referenced dicts\n"
    },
    {
      "commit": "b0a344f14be4d01d6cdafb27a8edf037fdd14b79",
      "tree": "1304954903bfb8a279099affc3abf5915cdc7c22",
      "parents": [
        "64c55170ec1fe0b473bcac728ab730e71341ad0b"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 06 12:36:08 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Mar 06 12:36:08 2017 +0100"
      },
      "message": "change parsed tokens directly into tuples removing need for a token stack\n"
    },
    {
      "commit": "64c55170ec1fe0b473bcac728ab730e71341ad0b",
      "tree": "a11f296eaf730b86a84899b5e03a9f422ee9b42c",
      "parents": [
        "05cfd74a0df98a9f37580c05de381d54a4cfe688"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 05 09:38:04 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Sun Mar 05 09:38:04 2017 +0100"
      },
      "message": "rework parser to use parse actions instead of having to reparse xml\n"
    },
    {
      "commit": "05cfd74a0df98a9f37580c05de381d54a4cfe688",
      "tree": "cbc898a334d4b29a8243fe0a8aa7331357b4f7e3",
      "parents": [
        "111d0db0f61946e509b54f88ac6760acfa159fd8"
      ],
      "author": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Feb 28 15:55:05 2017 +0100"
      },
      "committer": {
        "name": "Andrew Pickford",
        "email": "anpickford@googlemail.com",
        "time": "Tue Feb 28 15:55:05 2017 +0100"
      },
      "message": "allow nested parameter substitutions\n"
    },
    {
      "commit": "111d0db0f61946e509b54f88ac6760acfa159fd8",
      "tree": "0e768413877c142c1fbf5f8d6207998908686953",
      "parents": [
        "c08b844b328fa0fe182db49dd423cc203a016ce9"
      ],
      "author": {
        "name": "AndrewPickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Feb 27 14:03:12 2017 +0100"
      },
      "committer": {
        "name": "AndrewPickford",
        "email": "anpickford@googlemail.com",
        "time": "Mon Feb 27 14:03:12 2017 +0100"
      },
      "message": "add option to not use references in yaml output\n"
    },
    {
      "commit": "c08b844b328fa0fe182db49dd423cc203a016ce9",
      "tree": "d6794b947f2bd31fa38a1d6432c005ae7fb5c925",
      "parents": [
        "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4",
        "478eb301c3d13b877a533ee0d2a0192cfcceb12d"
      ],
      "author": {
        "name": "Jason Ritzke",
        "email": "Rtzq0@users.noreply.github.com",
        "time": "Mon Jan 30 10:44:25 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 30 10:44:25 2017 -0800"
      },
      "message": "Merge pull request #65 from NeoXiD/bugfix/invalid-classname-error\n\nFixed NameError in InvalidClassnameError"
    },
    {
      "commit": "478eb301c3d13b877a533ee0d2a0192cfcceb12d",
      "tree": "d6794b947f2bd31fa38a1d6432c005ae7fb5c925",
      "parents": [
        "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4"
      ],
      "author": {
        "name": "Pascal Mathis",
        "email": "git@development.smx.li",
        "time": "Mon Jan 30 18:21:58 2017 +0100"
      },
      "committer": {
        "name": "Pascal Mathis",
        "email": "git@development.smx.li",
        "time": "Mon Jan 30 18:21:58 2017 +0100"
      },
      "message": "Fixed InvalidClassnameError\n\nInvalidClassnameError was throwing a NameError, as \u0027self.\u0027 was missing when trying to access the class name.\n"
    },
    {
      "commit": "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4",
      "tree": "d1dfcb787766e2355cbf88e6294e3b356b6a4153",
      "parents": [
        "c78ab35922193c69561dcff94a89ff1a6eda1001",
        "b38853318e5b1a3ceb9c221dd4f253117d8ed73a"
      ],
      "author": {
        "name": "James Lott",
        "email": "james@lottspot.com",
        "time": "Tue Jan 03 10:39:46 2017 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 03 10:39:46 2017 -0500"
      },
      "message": "Merge pull request #61 from Rtzq0/issue_60\n\nAdd functionality for overriding dictionary merges."
    },
    {
      "commit": "b38853318e5b1a3ceb9c221dd4f253117d8ed73a",
      "tree": "bda86354a97f0fb8def29cdb21ece83f93175c49",
      "parents": [
        "99acc6ebd265dca60c327390f09148f530698526"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 17:31:35 2017 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 17:31:35 2017 -0800"
      },
      "message": "made initmerge explicit\n"
    },
    {
      "commit": "99acc6ebd265dca60c327390f09148f530698526",
      "tree": "62ab2b508b66b79d214da0066938169b9cd1adaa",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 02:00:29 2017 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 10:30:36 2017 -0800"
      },
      "message": "Add functionality for overriding dictionary merges.\n\nDictionary merges can now be overridden at any level by usage\nof a special character. The tilde is chosen as base default.\n"
    },
    {
      "commit": "c78ab35922193c69561dcff94a89ff1a6eda1001",
      "tree": "7acd8de8b1631368befad0e7b51742d753ee612c",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116",
        "3525f15ac8d4a5076b3c2d62ddda05eea6f09256"
      ],
      "author": {
        "name": "James Lott",
        "email": "james@lottspot.com",
        "time": "Mon Jan 02 12:24:24 2017 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 02 12:24:24 2017 -0500"
      },
      "message": "Merge pull request #59 from madduck/issue_23\n\nset up reclass for packaging on pypi"
    },
    {
      "commit": "3525f15ac8d4a5076b3c2d62ddda05eea6f09256",
      "tree": "7acd8de8b1631368befad0e7b51742d753ee612c",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Sat Dec 31 17:32:50 2016 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Sat Dec 31 18:27:56 2016 -0800"
      },
      "message": "set up reclass for packaging on pypi\n"
    },
    {
      "commit": "2ac64526d9f098843b449afbfb2891a2398a7116",
      "tree": "44e57cdacdc9a7b8281bd4556d7c093a74118b5c",
      "parents": [
        "25cb8f5b40a63ce8c083abcd2bc74c7f0281f76c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Dec 20 16:37:33 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Dec 20 16:37:33 2014 +0100"
      },
      "message": "Fix UndefinedVariableError, which had, uh, undefined variables\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "25cb8f5b40a63ce8c083abcd2bc74c7f0281f76c",
      "tree": "6f481a0a0001d49d22e1095da592fd0f3e4db080",
      "parents": [
        "6b7d050f6772e88dcc70586f581c8fa6a5c21bb3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:52:25 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:52:25 2014 +0100"
      },
      "message": "Prepare 1.4.1 release\n"
    },
    {
      "commit": "6b7d050f6772e88dcc70586f581c8fa6a5c21bb3",
      "tree": "f9976e534bf26b2529db896c35b2c444fe1ec60c",
      "parents": [
        "96f358cdce038af4ce08100f15c967b604773769"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:51:28 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:51:28 2014 +0100"
      },
      "message": "Add missing entries to changelog\n"
    },
    {
      "commit": "96f358cdce038af4ce08100f15c967b604773769",
      "tree": "85ec5876cd887b681ed9aeb3fd1fb377534101f9",
      "parents": [
        "15cb21db4b46de70773585bf45f69f515c32885b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:56 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:56 2014 +0100"
      },
      "message": "Revert \"Setup basic logging for reclass\"\n\nThis reverts commit d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9.\n"
    },
    {
      "commit": "15cb21db4b46de70773585bf45f69f515c32885b",
      "tree": "6e68f99f831a6e7b371780635a64cec736989592",
      "parents": [
        "048e50f7d3712962667318187433082437f7484b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:53 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:53 2014 +0100"
      },
      "message": "Revert \"replace null vvv() prints with logger.debug()\"\n\nThis reverts commit aa44410445855472335ce474aefe68c68b44b27c.\n"
    },
    {
      "commit": "048e50f7d3712962667318187433082437f7484b",
      "tree": "05443e1712e32b025ddcd134e02297bf0acbf833",
      "parents": [
        "426437d8af16aeeb18f2e1454129c9207e9a02f4"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:47:14 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:47:14 2014 +0100"
      },
      "message": "Revert \"Update reclass cli entry points, use the logger from reclass.logger\"\n\nThis reverts commit 67bde40603a51daddffad3e62b5143d97e0c376a, which\nintroduces two problems:\n\n  First, the Salt adapter\u0027s logger import is wrong\n\n  Second, it instantiates the command-line parser with reclass defaults,\n  not with defaults of the adapters, so that the Salt adapter e.g.\n  doesn\u0027t take --top anymore.\n"
    },
    {
      "commit": "426437d8af16aeeb18f2e1454129c9207e9a02f4",
      "tree": "5eff58c67fe3fb4bcf4ba6c2b4b2ff47e4727d51",
      "parents": [
        "73221e03053cd459d868458f40d10242cdf4f977"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 21:23:19 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 21:23:19 2014 +0200"
      },
      "message": "Copyright year update\n"
    },
    {
      "commit": "73221e03053cd459d868458f40d10242cdf4f977",
      "tree": "eb925035c8a5ac1b770e91302508631b93386725",
      "parents": [
        "67bde40603a51daddffad3e62b5143d97e0c376a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 14:57:34 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 15:04:17 2014 +0200"
      },
      "message": "Version update for 1.4\n"
    },
    {
      "commit": "67bde40603a51daddffad3e62b5143d97e0c376a",
      "tree": "4968ba901450bcbea0f3417a4bb97034b113488b",
      "parents": [
        "aa44410445855472335ce474aefe68c68b44b27c"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Fri Oct 03 12:40:55 2014 -0400"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Fri Oct 03 12:40:55 2014 -0400"
      },
      "message": "Update reclass cli entry points, use the logger from reclass.logger\n\nWhile the reclass.logger module initializes a logger with a basic\nconfig, it also enables/disables debug logging with the --debug option\nflag. Thus, we want to use the logger initialized by reclass.logger for\nthe CLI entry points.\n"
    },
    {
      "commit": "aa44410445855472335ce474aefe68c68b44b27c",
      "tree": "eab6d804f22b3cf8058beb77f413c8251a92ebe9",
      "parents": [
        "d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Thu Sep 25 18:17:55 2014 +0000"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Sat Sep 27 15:49:40 2014 +0000"
      },
      "message": "replace null vvv() prints with logger.debug()\n\nuse RECLASS_NAME from reclass.defaults to specify the logger\n"
    },
    {
      "commit": "d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9",
      "tree": "d0bacd31c49c574f6c28e58b21b5ee9875f0e64f",
      "parents": [
        "f73990304be8dad24dbb13b0bbd7f2ea6ef11163"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Thu Sep 25 18:05:25 2014 +0000"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Sat Sep 27 15:48:46 2014 +0000"
      },
      "message": "Setup basic logging for reclass\n\n* Create a new module, reclass.logs with a basic configuration\n  provided to logging.config.dictConfig()\n* Log messages to stderr by default\n* Set default log (verbosity) level to ERROR\n* Provide a new flag, --debug, to enable debug messaging (set log\n  level to DEBUG)\n\nThis does not make use of the logging as much as provide the basic\nstructures to use.\n"
    },
    {
      "commit": "f73990304be8dad24dbb13b0bbd7f2ea6ef11163",
      "tree": "06dc64d11d922c920fc939e5023f6bf7d475420b",
      "parents": [
        "ff1342cbbb6f5c302abcf0f5cdfab0c38f6432b6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:36:25 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:36:25 2014 +0200"
      },
      "message": "record last commit in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ff1342cbbb6f5c302abcf0f5cdfab0c38f6432b6",
      "tree": "c21fe16d5ea1b945e027edeeccea26d98c757369",
      "parents": [
        "6e0040dffcc4746ec35649c25badbc074987f8d1"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:32:56 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:35:11 2014 +0200"
      },
      "message": "Prevent interpolate() from overwriting values updated during merge\n\nWhen during a merge, a RefValue instance (a scalar) gets overwritten by\na non RefValue scalar, then remove the record of the occurrence of the\noverwritten RefValue. Otherwise, interpolate() will later\nunconditionally overwrite the new value with the interpolated reference.\n\nArguably, interpolet() should check whether the value it\u0027s overwriting\nis a RefValue instance, but that\u0027s left for another day.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "6e0040dffcc4746ec35649c25badbc074987f8d1",
      "tree": "74441551e2a8e4b5be41b02243da8a59c88de1d2",
      "parents": [
        "3c46f0931c318f31b0dd41dc32dd2850e1fac285"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 04 12:24:18 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 04 12:24:18 2014 +0200"
      },
      "message": "fix and clarify scalar merging text\n"
    },
    {
      "commit": "3c46f0931c318f31b0dd41dc32dd2850e1fac285",
      "tree": "a25a5aed488caac35d4e6cc82a710e620138888a",
      "parents": [
        "ff3ca02e6dfbe146fbfc83436a06efcac2ed8bb6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Apr 14 15:52:02 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Apr 14 15:52:02 2014 +0200"
      },
      "message": "Update link to Artistic Licence 2.0\n\nApparently, the licence moved to the OSI, so update the link in the\ndocs. Closes #24.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ff3ca02e6dfbe146fbfc83436a06efcac2ed8bb6",
      "tree": "87bbaa4cbc3ac0bd4e7527fc67cb67063b8e21d6",
      "parents": [
        "42e679ec147899610ee78545ef05b5f94824e9bd"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:59:11 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:59:29 2014 +0100"
      },
      "message": "Beef up the example inventory\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "42e679ec147899610ee78545ef05b5f94824e9bd",
      "tree": "0e10c47ae89818cc8929e9dbaca7d044ead1bf39",
      "parents": [
        "15e72de9f90a8df1efdcc01719a57cb4ae654d38"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:31:55 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:32:18 2014 +0100"
      },
      "message": "Also mangle relpath during inventory enumeration\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "15e72de9f90a8df1efdcc01719a57cb4ae654d38",
      "tree": "9f7b755763682f26d24fd1d7d72e3616892dd094",
      "parents": [
        "4a43919be3b8094fbe996aef0117642b89b7a609"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:30:58 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:31:00 2014 +0100"
      },
      "message": "Use \"init\" as directory index\n\nThe docs mentioned \u0027init\u0027 (which is consistent with Salt and Python), but\nsomehow I made that \u0027index\u0027 in the code.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "4a43919be3b8094fbe996aef0117642b89b7a609",
      "tree": "6cb8728a5fc39dec955a966aac847b7c4c96d9ea",
      "parents": [
        "38990a26bd725ae1f27f592d2a8864565bfa7432"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 12:53:41 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 12:53:41 2014 +0100"
      },
      "message": "Fix error reporting on node name collision\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "38990a26bd725ae1f27f592d2a8864565bfa7432",
      "tree": "5e91ca93bc27e0232f5b43c955ddf7c9614ea614",
      "parents": [
        "26aa8242a4402b883218c53f6ba22b5ab2309f37"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 15:33:29 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 15:33:29 2014 +0100"
      },
      "message": "docs update: pillar propagation setting must be applied to ext_pillar only\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "26aa8242a4402b883218c53f6ba22b5ab2309f37",
      "tree": "15c011c23c2c2696886a8c6672b67f02c8378f1b",
      "parents": [
        "758e50358d5cf91d8a7affebbc643b6dd6199b8e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:45:02 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:45:02 2014 +0100"
      },
      "message": "Prepare reclass 1.3\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "758e50358d5cf91d8a7affebbc643b6dd6199b8e",
      "tree": "06adac999c729e92b7bdab6ebcfb6bb5028a458f",
      "parents": [
        "15346a1ae6b75fea5d806025a729e7b5f59c8837"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:40:56 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:42:10 2014 +0100"
      },
      "message": "Optionally propagate pillar data from Salt to reclass\n\nOptionally, data from pillars that run before the reclass ``ext_pillar``\n(i.e. Salt\u0027s builtin ``pillar_roots``, as well as other ``ext_pillar``\nmodules listed before the ``reclass_adapter``) can be made available to\nreclass. Please use this with caution as referencing data from Salt in\nthe inventory will make it harder or impossible to run |reclass| in\nother environments. This feature is therefore turned off by default and\nmust be explicitly enabled in the Salt master configuration file, like\nthis:\n\n  reclass: \u0026reclass\n      […]\n      propagate_pillar_data_to_reclass: True\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "15346a1ae6b75fea5d806025a729e7b5f59c8837",
      "tree": "a3ea755e6364b4448c9a246ba6a636721a371265",
      "parents": [
        "2bdfffd99e24023e2b3eaacc849d83a78176c2da"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:42 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:42 2014 +0100"
      },
      "message": "Include node name in __reclass__ pillar key\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "2bdfffd99e24023e2b3eaacc849d83a78176c2da",
      "tree": "233ca73a2f43296fda5072cd2b43189a0f63b62e",
      "parents": [
        "fb7360e4dd42d5dd38b58038f7179142112d7d11"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:04 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:04 2014 +0100"
      },
      "message": "Update todo items\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "fb7360e4dd42d5dd38b58038f7179142112d7d11",
      "tree": "29afd66ee40ba3db561d50d94bf32e2787a16f38",
      "parents": [
        "14c81f5cba23404b5ea9a5bde77eb1a80b1ed4b9"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:20:41 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:20:41 2014 +0100"
      },
      "message": "remove printf-debugging\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "14c81f5cba23404b5ea9a5bde77eb1a80b1ed4b9",
      "tree": "d2823b3bbe6f8315477a0f2b5be0b156750db971",
      "parents": [
        "1ca2f246543ff074cb3d89082c02b25e782a2405"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:10:49 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:10:49 2014 +0100"
      },
      "message": "Allow classes to be namespaced with subdirectories\n\nClasses files may now reside in subdirectories, which act as namespaces.\nFor instance, a class ``ssh.server`` will result in the class definition\nto be read from ``ssh/server.yml``. Specifying just ``ssh`` will cause\nthe class data to be read from ``ssh/init.yml`` or ``ssh.yml``. Note,\nhowever, that only one of those two may be present.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1ca2f246543ff074cb3d89082c02b25e782a2405",
      "tree": "218741805d053c1b7c38904abd298137bcf69530",
      "parents": [
        "40815ee7ead4c9420c3d8285dfccd1e21b37bf00"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:22:06 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:22:06 2014 +0100"
      },
      "message": "Update changelog for commit 6cf5d7a\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "40815ee7ead4c9420c3d8285dfccd1e21b37bf00",
      "tree": "5f5955d6cd5ebe847f4f2ed0f5498765060c8a8b",
      "parents": [
        "8e8e3bb44b509ea1438322e2aadc4260cdc3c56a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:21:28 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:21:28 2014 +0100"
      },
      "message": "Update changelog for commit 5b17aca\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "8e8e3bb44b509ea1438322e2aadc4260cdc3c56a",
      "tree": "4c191606b1ec422757800e5ec771d3e91aa1a02d",
      "parents": [
        "46c7ce6b77e05685b1978a9621546e642f22a417",
        "6cf5d7aad040bfe2c006a580f95f173da6916c1e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "github.com@pobox.madduck.net",
        "time": "Fri Feb 28 14:21:56 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "github.com@pobox.madduck.net",
        "time": "Fri Feb 28 14:21:56 2014 +0100"
      },
      "message": "Merge pull request #21 from solarnz/usage-documentation\n\nUpdate the usage documentation page to show the correct nodeinfo command."
    },
    {
      "commit": "46c7ce6b77e05685b1978a9621546e642f22a417",
      "tree": "aa321a88635a3507b15734e5004396330c63482e",
      "parents": [
        "d48a46ec8dcdcd2107f02505220f331c2f3f8c58"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Feb 26 21:53:07 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Feb 26 21:53:07 2014 +0100"
      },
      "message": "Add an environment to the example file\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "6cf5d7aad040bfe2c006a580f95f173da6916c1e",
      "tree": "bc1e9f3a429bfe365e22963287c43b3f3b08ed2b",
      "parents": [
        "d48a46ec8dcdcd2107f02505220f331c2f3f8c58"
      ],
      "author": {
        "name": "Chris Trotman",
        "email": "chris@trotman.io",
        "time": "Sun Feb 23 10:24:42 2014 +1100"
      },
      "committer": {
        "name": "Chris Trotman",
        "email": "chris@trotman.io",
        "time": "Sun Feb 23 10:24:42 2014 +1100"
      },
      "message": "Update the usage documentation page to show the correct nodeinfo command.\n\nIt seems that the --node argument is no longer available, as it asks you\nto choose between nodeinfo and nodes-uri. This updates the\ndocumentation to tell you to use nodeinfo to show the information\nrelating to a single node.\n"
    },
    {
      "commit": "d48a46ec8dcdcd2107f02505220f331c2f3f8c58",
      "tree": "79a63fad55dc568bca9c2e55d056fc8892a5ce57",
      "parents": [
        "5b17acaec05bf30748bf6813d3a1747d72cee3fb"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:49 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Feb 13 17:50:49 2014 +0100"
      },
      "message": "Quick-n-dirty addition of node environments\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5b17acaec05bf30748bf6813d3a1747d72cee3fb",
      "tree": "bb16e771de3705fb7a35cd6ac3565f5d75a99f23",
      "parents": [
        "40b54ec26f1307c173f6b53561941bd0f1aec1a3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jan 05 14:59:22 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Feb 13 17:50:43 2014 +0100"
      },
      "message": "Update salt adapter top function to new Core API\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "40b54ec26f1307c173f6b53561941bd0f1aec1a3",
      "tree": "542f3b7928ca813426554c5c2d83f531311e7bc1",
      "parents": [
        "f219afa12102680efb4c8ace4feb4aac2ecee432"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jan 21 16:42:03 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jan 21 16:42:03 2014 +1300"
      },
      "message": "add lca2014 talk ref\n"
    },
    {
      "commit": "f219afa12102680efb4c8ace4feb4aac2ecee432",
      "tree": "aa938a5c1fbab13adb3973f879c8398ff5420fce",
      "parents": [
        "1582dfdccf495ae7b323e26acf5ada64562e298f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:04:45 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "fix entity uri unit test\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1582dfdccf495ae7b323e26acf5ada64562e298f",
      "tree": "5959c92f69ecee8c8b4e45d739fb73ea536990f3",
      "parents": [
        "fb842d6371132d95e378cdc679a3df77392e43c2"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 13:10:51 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "Instantiate constants for better debug output\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "fb842d6371132d95e378cdc679a3df77392e43c2",
      "tree": "15537eb80b982553f419dfaddaebcad359fef0d5",
      "parents": [
        "5c3c39d96d0a8bda42ef1bcfe6635e121e4dc340"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:58:29 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "Reenable caching via memcache storage proxy\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5c3c39d96d0a8bda42ef1bcfe6635e121e4dc340",
      "tree": "97baf7615bea41bd070ce9489ce5276cbc449e7a",
      "parents": [
        "483034f5818e6827f886c2f96534b3fc9dfa0a32"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:57:54 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "Factor out all reclass logic from storage classes\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "483034f5818e6827f886c2f96534b3fc9dfa0a32",
      "tree": "94dd4f74fceb1c3bfe7e9fad3c7eda202f7f5713",
      "parents": [
        "383ed029b1e18957a8a13126e98820aa52d5ca23"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:56:15 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:59:11 2014 +1300"
      },
      "message": "Factor storage loader into its own module\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "383ed029b1e18957a8a13126e98820aa52d5ca23",
      "tree": "63b4d5538a21b919f03f761695158b026f409cce",
      "parents": [
        "4d6b2c30c96d38cbce25f34bccd2f7e3b7a352ab"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:54:01 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:59:11 2014 +1300"
      },
      "message": "mangle paths inside config module already\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "4d6b2c30c96d38cbce25f34bccd2f7e3b7a352ab",
      "tree": "6a7e6801d0376ab11b2b55df1bbbcda0f22c04fe",
      "parents": [
        "523e827b1f6cdc6ee16fb53ac9789fdb63450cea"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:51:04 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:59:11 2014 +1300"
      },
      "message": "Add memcache proxy preparing to factor out caching\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "523e827b1f6cdc6ee16fb53ac9789fdb63450cea",
      "tree": "e902e0a3df06a8eb04ae0b87bff95f55c49144a5",
      "parents": [
        "1ba35c5f8a91179f310e43acde11154783cfa927"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 13:08:03 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:24:33 2014 +1300"
      },
      "message": "Rework exceptions, improve message handling\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1ba35c5f8a91179f310e43acde11154783cfa927",
      "tree": "a7e0ea1a3d6f42fc87b22edfc7027116745ec2b2",
      "parents": [
        "1a2cc1485d67d757e324147659a3603aa4513072"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 11:10:58 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 11:10:58 2014 +1300"
      },
      "message": "Copyright year update, happy new year!\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1a2cc1485d67d757e324147659a3603aa4513072",
      "tree": "8ec43799c82f254ecb3f3a375239fa708939df81",
      "parents": [
        "f10890386bb37239f7a342060b2562ea31d7ee6d"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 11:14:15 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 11:14:15 2013 +1300"
      },
      "message": "Add class subdirectories todo\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f10890386bb37239f7a342060b2562ea31d7ee6d",
      "tree": "8838d972c57bb11620b72e910cd47240dd6255b5",
      "parents": [
        "42886f7b48f50477969dfcf5b57c9b1a432163c3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:41:17 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:41:17 2013 +1300"
      },
      "message": "Prepare reclass 1.2.2\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "42886f7b48f50477969dfcf5b57c9b1a432163c3",
      "tree": "7ba639ee4aa3529fa0a3413099288905226b142a",
      "parents": [
        "02550e416673555c75bdad1ab0b88c7e5f8715cb"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:40:05 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:40:05 2013 +1300"
      },
      "message": "Record doc fix (02550e4) in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "02550e416673555c75bdad1ab0b88c7e5f8715cb",
      "tree": "0941a9540cd9bdc59e00df49594b7d26a6f9182f",
      "parents": [
        "2359f227c61e22d9107923a9df5433352eec7906"
      ],
      "author": {
        "name": "Daniel Dehennin",
        "email": "daniel.dehennin@baby-gnu.org",
        "time": "Fri Dec 27 09:38:14 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:38:14 2013 +1300"
      },
      "message": "Fix class mapping regexp rendering in docs\n\nCloses: https://github.com/madduck/reclass/issues/15\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "2359f227c61e22d9107923a9df5433352eec7906",
      "tree": "320259ee02a75f5fcd6ae5f91b82f7f57137c6d6",
      "parents": [
        "10e277cd840e6bb1727d1bfff5541faad317b0c3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:37:07 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:37:07 2013 +1300"
      },
      "message": "Record class_mappings fix (10e277c) in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "10e277cd840e6bb1727d1bfff5541faad317b0c3",
      "tree": "b79e389bc0cde8d01299e44278802d88e7a206ba",
      "parents": [
        "3ae5f8391f6f15a4cb4d545be80410f86885f764"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:32:57 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:34:47 2013 +1300"
      },
      "message": "Recurse classes defined in class_mappings\n\nClass mappings produce a list of classes. Obviously, this list needs to\nbe iterated and each class recursed too.\n\nCloses: https://github.com/madduck/reclass/issues/16\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3ae5f8391f6f15a4cb4d545be80410f86885f764",
      "tree": "6f1e127f4e59ffeddc14913efb2ca6eed91074ed",
      "parents": [
        "f7aaa9b3c0fd127f2bd4560225f8136124a19037"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:32:45 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:32:45 2013 +1300"
      },
      "message": "Fix class-not-found error message, add nodename\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f7aaa9b3c0fd127f2bd4560225f8136124a19037",
      "tree": "9b37ef7dfa763de0219531818d5802aea6032908",
      "parents": [
        "b26aab656d7595ef074faed08a057d3fc26fc92f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:04:58 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:04:58 2013 +1300"
      },
      "message": "Fix documentation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b26aab656d7595ef074faed08a057d3fc26fc92f",
      "tree": "88a9b6d389b0b7261dc078002f8240c9d026cc39",
      "parents": [
        "bee6bbd00b533edf24e610aa7d7ac27c1debc0c6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:00:04 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:00:04 2013 +1300"
      },
      "message": "Prepare reclass 1.2.1\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "bee6bbd00b533edf24e610aa7d7ac27c1debc0c6",
      "tree": "471a122d0ba92622eb09139f50251d056d55eefa",
      "parents": [
        "54bb4725b493e4d613d087d98a1c0fe896c18abe"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 16:58:56 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 16:58:56 2013 +1300"
      },
      "message": "Update Salt adapter docs wrt configuration file\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "54bb4725b493e4d613d087d98a1c0fe896c18abe",
      "tree": "198fc29f5ce7d9ef487e2c52eb8dcf91a5dcebce",
      "parents": [
        "c2bb0e580fb148fbfb9bd1b0158591b19756ea4b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 14:47:19 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 14:47:19 2013 +1300"
      },
      "message": "add configfile lookup todo\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    }
  ],
  "next": "c2bb0e580fb148fbfb9bd1b0158591b19756ea4b"
}
