)]}'
{
  "commit": "8536b4348e8b959fb62a3781f6dd8a0809a28278",
  "tree": "c75c57030139c5804d125ae62188dcfa3dbaab75",
  "parents": [
    "6f48a06aceada17cd1f03b7f31cd05dc07e2a946"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@google.com",
    "time": "Tue Apr 07 18:16:24 2026 -0700"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Apr 07 18:16:24 2026 -0700"
  },
  "message": "Convert some {Byte,Wide}String::Last() calls to Substr().\n\nGemini generated patch once human realized that many of these\nless-readable expressions abound.\n\nChange-Id: Id0baf48847395be56b15f0e4187bdeecd91b3fd4\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145830\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aced8c317208c15a492e2780586b1cfffa02aeaa",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp",
      "new_id": "c498bf597e8f554ad3818b55755ab95c66a2bc8c",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp"
    },
    {
      "type": "modify",
      "old_id": "e6f018c8f1f324bf80138ba1def22ebdb71c3cba",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/font/cpdf_cmapparser.cpp",
      "new_id": "87b376e0dadd6071c704221959122ad4c63e84e6",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/font/cpdf_cmapparser.cpp"
    },
    {
      "type": "modify",
      "old_id": "bd57de4cfd4143a9a2a8134bb4e5a3ce6605c871",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/font/cpdf_fontglobals.cpp",
      "new_id": "65eaf3820ea31ac217e1c8cdf7929857ba4b5f05",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/font/cpdf_fontglobals.cpp"
    },
    {
      "type": "modify",
      "old_id": "2fda3c29ad925cc8363421582b63a8567969978c",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/page/cpdf_streamcontentparser.cpp",
      "new_id": "8477f7180b1c1f72ce71ff6a74187c5515d0f82f",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/page/cpdf_streamcontentparser.cpp"
    },
    {
      "type": "modify",
      "old_id": "3f829d19f67c271d41296148d48342fd460dadbb",
      "old_mode": 33188,
      "old_path": "core/fxcrt/css/cfx_cssselector.cpp",
      "new_id": "0d25cbf2b41eb95bcd1084aa2f9258d409505f3f",
      "new_mode": 33188,
      "new_path": "core/fxcrt/css/cfx_cssselector.cpp"
    },
    {
      "type": "modify",
      "old_id": "06ebe3af2ef6995515dee99355c1ff2b8ee63bf2",
      "old_mode": 33188,
      "old_path": "core/fxcrt/fx_string.h",
      "new_id": "fd5a6ad2fb245fdb4f1843ba73f2c69d8d1a5874",
      "new_mode": 33188,
      "new_path": "core/fxcrt/fx_string.h"
    },
    {
      "type": "modify",
      "old_id": "185bd93927d99fc2176aa2c2e9608c0022f76ad5",
      "old_mode": 33188,
      "old_path": "core/fxcrt/xml/cfx_xmlelement.cpp",
      "new_id": "00c57575aed7a2a2a1e49b05794f8c8c211957dd",
      "new_mode": 33188,
      "new_path": "core/fxcrt/xml/cfx_xmlelement.cpp"
    },
    {
      "type": "modify",
      "old_id": "2ebf53ecb8707b8e063f519797471250657f1287",
      "old_mode": 33188,
      "old_path": "core/fxge/cfx_fontmapper.cpp",
      "new_id": "f1ec1841c137f66ba50d1165084f869e5ab5a6e7",
      "new_mode": 33188,
      "new_path": "core/fxge/cfx_fontmapper.cpp"
    },
    {
      "type": "modify",
      "old_id": "365336d48719d5ae33f081be12d9facaa3e8ea7a",
      "old_mode": 33188,
      "old_path": "fxjs/cjs_publicmethods.cpp",
      "new_id": "06f1d39f345da7e7e6696672d588d11d025927ee",
      "new_mode": 33188,
      "new_path": "fxjs/cjs_publicmethods.cpp"
    },
    {
      "type": "modify",
      "old_id": "bbf83b217c8c031ff0da96e8b6a485671fdfde16",
      "old_mode": 33188,
      "old_path": "fxjs/cjs_util.cpp",
      "new_id": "2c33ea74cc263e824ac79f8c892a87e5220c2189",
      "new_mode": 33188,
      "new_path": "fxjs/cjs_util.cpp"
    },
    {
      "type": "modify",
      "old_id": "117f75c52cc1d7546b1fef8e0089bf2c7fcc02f3",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_engine.cpp",
      "new_id": "a7725a66f6f2547e1d2d42e630c9548bce25c541",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_engine.cpp"
    },
    {
      "type": "modify",
      "old_id": "e2f4ab2a6fb049b66d9fb79fb0941e4b7db0e0fb",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_formcalc_context.cpp",
      "new_id": "74bbeea2bf3952b6e4aa21f45f61716f4fd0e4ec",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_formcalc_context.cpp"
    },
    {
      "type": "modify",
      "old_id": "208c69c105b1a81429c86198308cedf6153cc212",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_nodehelper.cpp",
      "new_id": "9ad61051f4e42b07754353d3d8b1e01fef28362e",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_nodehelper.cpp"
    },
    {
      "type": "modify",
      "old_id": "cc900cb2fce49bfa5b514110d68532125a0f7b7f",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_resolveprocessor.cpp",
      "new_id": "9c76c6bce9d1e1eae0427a8590b651e11173ff8a",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_resolveprocessor.cpp"
    },
    {
      "type": "modify",
      "old_id": "c553a5499a7eb4f4c4b1b15b32053bece2f6b331",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_instancemanager.cpp",
      "new_id": "e721773607619c7688737a20b3b260fbb1e75ed6",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_instancemanager.cpp"
    },
    {
      "type": "modify",
      "old_id": "89b328eeb449f11a9f779070c84f53261cdd8e76",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_subform.cpp",
      "new_id": "67aa28daf2617c988c7046d61844e9e69297467e",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_subform.cpp"
    },
    {
      "type": "modify",
      "old_id": "2f9a2442a4ad94ede4439a065e1efbeeaa8b720c",
      "old_mode": 33188,
      "old_path": "xfa/fgas/crt/cfgas_stringformatter.cpp",
      "new_id": "09b90958f2a51d6c6d9ed4691086d7d6332ab111",
      "new_mode": 33188,
      "new_path": "xfa/fgas/crt/cfgas_stringformatter.cpp"
    },
    {
      "type": "modify",
      "old_id": "b77fc5648279f9d8c670036216277a20b302ca7c",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/cxfa_eventparam.cpp",
      "new_id": "1edd1c71e4693a3dcd012bff672d514d3830c574",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/cxfa_eventparam.cpp"
    },
    {
      "type": "modify",
      "old_id": "b2ae62394e2c71e23a03e398dbfe3080836a1fcc",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/formcalc/cxfa_fmexpression.cpp",
      "new_id": "8f55dbe2be7a0546c6ea4a23e7a83d54a00bf018",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/formcalc/cxfa_fmexpression.cpp"
    },
    {
      "type": "modify",
      "old_id": "57a3ed0ff4f79f2104cb461188ca4c3513c00da2",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/layout/cxfa_viewlayoutprocessor.cpp",
      "new_id": "6a1f60794598004e7c5d2840e90e9abd1b1f96a4",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/layout/cxfa_viewlayoutprocessor.cpp"
    },
    {
      "type": "modify",
      "old_id": "9265091c28acff4b6177bc46baefa3c73f646acf",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_document_builder.cpp",
      "new_id": "844960876f2870311c4427ca89a3c52db6e12bb6",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_document_builder.cpp"
    },
    {
      "type": "modify",
      "old_id": "7fd373837309a8cc54ea73a89797739a0b8f78fd",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_localevalue.cpp",
      "new_id": "e9ed66e02ac1a0adc226bcd23cc47380cff1feba",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_localevalue.cpp"
    },
    {
      "type": "modify",
      "old_id": "dbedaf13c58f26f1fe27e828400e08fd3c56e0ca",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_node.cpp",
      "new_id": "7b4ced548299b2c275fce766ea7278821aa1a057",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_node.cpp"
    }
  ]
}
