)]}'
{
  "commit": "0e1c0fa404e2ad087265dc59130dbec1c4682258",
  "tree": "540cad122c0fad2fd2c9d4dbcaeebf82946baa92",
  "parents": [
    "b8a58a0c0b7d62c33b106ad119a567b6d86d1d36"
  ],
  "author": {
    "name": "Qunxin Liu",
    "email": "qxliu@google.com",
    "time": "Tue Jan 12 10:17:14 2021 -0800"
  },
  "committer": {
    "name": "Garret Rieger",
    "email": "grieger@google.com",
    "time": "Wed Mar 17 15:22:07 2021 -0600"
  },
  "message": "[subset] optimize glyph closure method: step 5\n\nadd testcase and some fixes\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8ed99cd335c8d7692fc14ceea61905fab1b9acaf",
      "old_mode": 33188,
      "old_path": "src/hb-ot-layout-common.hh",
      "new_id": "ec47e9ac53af1c3cb7236de14b6c5389a3c5f0b7",
      "new_mode": 33188,
      "new_path": "src/hb-ot-layout-common.hh"
    },
    {
      "type": "modify",
      "old_id": "0ea305d6af61eb04a5f8208b222df761b3a58b7f",
      "old_mode": 33188,
      "old_path": "src/hb-ot-layout-gsub-table.hh",
      "new_id": "5d20a7e6b2ddd8c99c8eac600e3b860d09ea3ed1",
      "new_mode": 33188,
      "new_path": "src/hb-ot-layout-gsub-table.hh"
    },
    {
      "type": "modify",
      "old_id": "9a1ed084b3dfbe060a05c393fb39ddecafc0677d",
      "old_mode": 33188,
      "old_path": "src/hb-ot-layout-gsubgpos.hh",
      "new_id": "887a759f12e9fa05006a8da7f8eca39c2d210c83",
      "new_mode": 33188,
      "new_path": "src/hb-ot-layout-gsubgpos.hh"
    },
    {
      "type": "modify",
      "old_id": "89df949b26062a3bb35827846a77d9825476e509",
      "old_mode": 33188,
      "old_path": "src/hb-ot-layout.cc",
      "new_id": "392b78d60ec5cb65b802f3379dd5e2f765fe106a",
      "new_mode": 33188,
      "new_path": "src/hb-ot-layout.cc"
    },
    {
      "type": "modify",
      "old_id": "3a8d01010cd6279a86908e816ba63b15e52fa2f6",
      "old_mode": 33188,
      "old_path": "test/subset/data/Makefile.am",
      "new_id": "daebed90b49148a63e147582c0e2f652a3a6ebee",
      "new_mode": 33188,
      "new_path": "test/subset/data/Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "21371fbc61d90771372af46d796a9425295ae499",
      "old_mode": 33188,
      "old_path": "test/subset/data/Makefile.sources",
      "new_id": "6275bfda8ad907d6c6350ba9cc3e1361f918cf0e",
      "new_mode": 33188,
      "new_path": "test/subset/data/Makefile.sources"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a99ffb88a83ad4cd18a555706bcecf382ea47dd1",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout-retain-gids.41,42,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6b020cdac20ee94a16ba6b734255bf6abff1634e",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout-retain-gids.41,42.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8cf90bf0b2832183f12232b4d9fca05e33a2f238",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout-retain-gids.41,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ebc0f0087fe3f35d12a19fe908802b1b2d6bbb90",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout-retain-gids.41.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6ea465ba228b19c97f310d2473d8ccc3510c2498",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout-retain-gids.retain-all-codepoint.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e1a944d25fb7c5620c8541500d9a48b1d2afd718",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout.41,42,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "73c0650b4ddbb25f0fc6dbec962c6a704f09351a",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout.41,42.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3b1ae2a63d388876a71a7231d3f6c2f4d7732955",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout.41,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "70e8ef7e89445581c8385839d9c7fe292d24e3df",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout.41.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6ea465ba228b19c97f310d2473d8ccc3510c2498",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.keep-layout.retain-all-codepoint.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "14caaccfb5df06a2d356a64f28d927729acd92e3",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout-retain-gids.41,42,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c79a5bdaeabb8a97d2d442cac355266ca325ad97",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout-retain-gids.41,42.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "88f2ddb894bde6ef91bd4be38056f8d60175e856",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout-retain-gids.41,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "01471cb56b864a183622d148ba14f0e445237ecf",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout-retain-gids.41.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "573aa899d827f92983395c1983ec53c043f3956a",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout-retain-gids.retain-all-codepoint.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1155251efe099b7fe8e5eb9ad74af9fbe4b4e89",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout.41,42,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "32437e447bb53974e683b20885d364bdf75a4f5c",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout.41,42.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "59dd1dcc45821446f700df426e67267494e8f6ef",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout.41,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "32c57fae66b87410bde35e7e40ce22a5d09de21d",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout.41.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "573aa899d827f92983395c1983ec53c043f3956a",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.keep-layout.retain-all-codepoint.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "748fd4e694db4316a247a971e093176f05dd4d7d",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout-retain-gids.41,42,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8ac3085f96ef831420dce4a0abb499da5e490271",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout-retain-gids.41,42.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6a41f5629ab199a36158cd228938c314b2a3b6b5",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout-retain-gids.41,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "31d7ce7e0d05eb90efb92b723030e4ab73a271a0",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout-retain-gids.41.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e356c15d40c9d27532751007472b0acc97710093",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout-retain-gids.retain-all-codepoint.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7857a0e3e3415fbb5706b2aaa3f2640b1fedf2b6",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout.41,42,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1824f31dedf9ceb44ee9af0432d7edb2c5589f6e",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout.41,42.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b72ad4fe8e5a43568d1a673a9ce646fc5dd80b07",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout.41,43.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9474c38e6338b9bad49a185292131623253d3cbe",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout.41.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e356c15d40c9d27532751007472b0acc97710093",
      "new_mode": 33188,
      "new_path": "test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.keep-layout.retain-all-codepoint.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cb62adb9a9802c41e30724bf90400c37d22d8622",
      "new_mode": 33188,
      "new_path": "test/subset/data/fonts/gsub_context1_multiple_subrules_f2.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fe5b94bd581e8a5e122e0062210c4dec0bd33a19",
      "new_mode": 33188,
      "new_path": "test/subset/data/fonts/gsub_context2_multiple_subrules_f2.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "682520a7ead5e88e66856959d496c44dfc06a104",
      "new_mode": 33188,
      "new_path": "test/subset/data/fonts/gsub_context3_successive_f1.otf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d168cc20bc4f5e10d4c0406c1c71f23a53b76e1d",
      "new_mode": 33188,
      "new_path": "test/subset/data/tests/layout.gsub5.tests"
    },
    {
      "type": "modify",
      "old_id": "892163a7752cec70b1f7ca32895ba06bafb8d7d0",
      "old_mode": 33188,
      "old_path": "test/subset/meson.build",
      "new_id": "458bf9646035e688984ec557498bf8d4acce7153",
      "new_mode": 33188,
      "new_path": "test/subset/meson.build"
    }
  ]
}
