{
  "schemaVersion": 1,
  "checkedAt": "2026-10-17 Asia/Shanghai",
  "mapping": [
    "A1",
    "blank",
    "A2",
    "A3"
  ],
  "sourceAsset": "pdf-merge-source-a.pdf",
  "sourceSha256": "39a54c82b4bc43af7b16e978d8275060064ebe161e0fe3715de5d5b3d2f0c57e",
  "blankSource": {
    "nativeArchiveAsset": "pdf-reverse-native.zip",
    "nativeArchiveMember": "part-004.pdf",
    "originalFilePage": 3,
    "sha256": "ef4e010565c019fafb0c5c1fa87332af3b0c5a4af75f25e8f776abd76498331f",
    "bytes": 55749,
    "reusedWithoutPdfRewrite": true
  },
  "sourceBookmarkCount": 3,
  "partsBookmarkCounts": [
    0,
    0
  ],
  "outputBookmarkCount": 0,
  "sourceBookmarks": [
    {
      "title": "A - Report",
      "depth": 0,
      "hierarchyPath": [
        1
      ],
      "destinationType": "/Fit",
      "destinationFilePage": 1
    },
    {
      "title": "A - Methods",
      "depth": 1,
      "hierarchyPath": [
        1,
        1
      ],
      "destinationType": "/Fit",
      "destinationFilePage": 2
    },
    {
      "title": "A - Findings",
      "depth": 1,
      "hierarchyPath": [
        1,
        2
      ],
      "destinationType": "/Fit",
      "destinationFilePage": 3
    }
  ],
  "mergeBookmarkSwitchEnabled": true,
  "sourcePageSizePoints": [
    595,
    842
  ],
  "blankPageSizePoints": [
    595.2756,
    841.8898
  ],
  "exactSourceAndBlankPageSizeMatch": false,
  "blankAllWhiteAt144dpi": true,
  "parts": [
    {
      "part": "part-001.pdf",
      "bytes": 1413,
      "sha256": "380308b6c617ae462097199bac15055386adcba7671f7ca2dee2ca23230b5406",
      "sourceFilePages": [
        1
      ]
    },
    {
      "part": "part-002.pdf",
      "bytes": 2110,
      "sha256": "4d2ed7e7c1a5377c874acb9f33947007124a75c0c374a30807725d779c372ca4",
      "sourceFilePages": [
        2,
        3
      ]
    }
  ],
  "pageChecks": [
    {
      "outputPage": 1,
      "sourceAsset": "pdf-merge-source-a.pdf",
      "sourceFilePage": 1,
      "contentStreamSha256": "c245b4883b56d4ac3ffdf333c2ea439568e641551debf742e9f23cc1e60a94f1",
      "textSha256": "57a56f3ac04633f5a0e83577aeaab96cb0cf6c7627d9832d8fe7c212a27a4141",
      "textSame": true,
      "numericTokensSame": true,
      "pageSizeAndRotationSame": true,
      "pixelsSameAt144dpi": true,
      "mediaBox": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "cropBox": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "rotation": 0,
      "render144dpi": {
        "width": 1190,
        "height": 1684,
        "rgbSha256": "459cf4556ca1181aeb9f34b020adcd95525f5aafe74a3a9bbf5de7e6d6ff4943",
        "allRgb255": false
      }
    },
    {
      "outputPage": 2,
      "sourceAsset": "pdf-insert-blank-page.pdf",
      "sourceFilePage": 1,
      "contentStreamSha256": "f7ac222654d26a9cb26ce3bd9a2475e49599e30866f6d349e2468eddb6999c08",
      "textSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "textSame": true,
      "numericTokensSame": true,
      "pageSizeAndRotationSame": true,
      "pixelsSameAt144dpi": true,
      "mediaBox": [
        0.0,
        0.0,
        595.2756,
        841.8898
      ],
      "cropBox": [
        0.0,
        0.0,
        595.2756,
        841.8898
      ],
      "rotation": 0,
      "render144dpi": {
        "width": 1191,
        "height": 1684,
        "rgbSha256": "f98561fd35875381afd79b00c637e44f1975b5acf65e29c17640a8d28c5ec3a1",
        "allRgb255": true
      }
    },
    {
      "outputPage": 3,
      "sourceAsset": "pdf-merge-source-a.pdf",
      "sourceFilePage": 2,
      "contentStreamSha256": "31dd53d757e2f99b3f068f45501e2041125b933a8a38053724fe45942a18db0d",
      "textSha256": "905fcc7d6396b51a96c5900b6b4e4b969d102e1bb9441e37a94521a6549fa7c4",
      "textSame": true,
      "numericTokensSame": true,
      "pageSizeAndRotationSame": true,
      "pixelsSameAt144dpi": true,
      "mediaBox": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "cropBox": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "rotation": 0,
      "render144dpi": {
        "width": 1190,
        "height": 1684,
        "rgbSha256": "08ac44a45402c97e9af77a183996e5542b1d906b81c2ebdb51268225cc3a3ec8",
        "allRgb255": false
      }
    },
    {
      "outputPage": 4,
      "sourceAsset": "pdf-merge-source-a.pdf",
      "sourceFilePage": 3,
      "contentStreamSha256": "42c7b9a5f99863760ec82b9c630790e88bfbbfb210d230382f117bfc55aff0a1",
      "textSha256": "8e3ce33d6fff3ae40b6d4a5d762a1100c4fce262344571b19093691ca5981fdb",
      "textSame": true,
      "numericTokensSame": true,
      "pageSizeAndRotationSame": true,
      "pixelsSameAt144dpi": true,
      "mediaBox": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "cropBox": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "rotation": 0,
      "render144dpi": {
        "width": 1190,
        "height": 1684,
        "rgbSha256": "018484d947415537645a914ce9edf108a56a73203c7a9f19934bda7e5d0c9bcb",
        "allRgb255": false
      }
    }
  ],
  "actualOperations": {
    "sourceUploads": 1,
    "splitRuns": 1,
    "nativeZipDownloads": 1,
    "mergeInputFiles": 3,
    "mergeRuns": 1,
    "nativePdfDownloads": 1
  },
  "downloadObservation": {
    "splitDownloadEventObserved": false,
    "mergeDownloadEventObserved": false,
    "eachDownloadClickedOnce": true,
    "uniqueNewNativeFilesMatchedOnDisk": true,
    "nativeBytesUnmodified": true,
    "note": "Download events did not report completion. Each real download button was clicked once, then the unique newly saved native file was matched by size/hash; no repeat generation or download is claimed."
  },
  "localVerification": {
    "checks": 126,
    "passed": 126,
    "failed": 0,
    "errors": 0,
    "renderDpi": 144,
    "sourceReportSha256": "157879406f58907df0d7bf3c3e7bbea8273817ed5f0f528cf09df8af2aabbf20",
    "pypdfVersion": "6.10.0",
    "pdfiumVersion": "5.14.0",
    "PillowVersion": "12.3.0"
  },
  "nativeBytesUnmodified": true,
  "printedLabelsRewritten": false,
  "physicalDuplexPrintingTested": false,
  "maximumMergeInputFilesObserved": 20,
  "publicCheckerScope": "Fixed file hashes, exact two-part ZIP and saved check-record consistency using Python standard library. It does not repeat the local pypdf/PDFium/Pillow checks or evaluate arbitrary PDF quality.",
  "limits": [
    "Manual front/blank/rest composition; not automatic padding or a built-in insert-blank-page button.",
    "No identical-paper-size claim: both inputs are near A4 but exact widths and heights differ.",
    "Three original outline entries were lost during range split; enabled merge preservation cannot restore missing outlines.",
    "Page content, including original A1/A2/A3 labels and printed numeric tokens, is retained, not renumbered.",
    "No physical printing, signed/encrypted/damaged PDF, large-batch or arbitrary page-format guarantee."
  ],
  "recordedChecks": [
    {
      "id": "input/source-three-pages.pdf/bytes",
      "kind": "assertion",
      "passed": true,
      "actual": 4123,
      "expected": 4123
    },
    {
      "id": "input/source-three-pages.pdf/sha256",
      "kind": "assertion",
      "passed": true,
      "actual": "39a54c82b4bc43af7b16e978d8275060064ebe161e0fe3715de5d5b3d2f0c57e",
      "expected": "39a54c82b4bc43af7b16e978d8275060064ebe161e0fe3715de5d5b3d2f0c57e"
    },
    {
      "id": "input/blank-single-page.pdf/bytes",
      "kind": "assertion",
      "passed": true,
      "actual": 55749,
      "expected": 55749
    },
    {
      "id": "input/blank-single-page.pdf/sha256",
      "kind": "assertion",
      "passed": true,
      "actual": "ef4e010565c019fafb0c5c1fa87332af3b0c5a4af75f25e8f776abd76498331f",
      "expected": "ef4e010565c019fafb0c5c1fa87332af3b0c5a4af75f25e8f776abd76498331f"
    },
    {
      "id": "zip/layout-and-crc",
      "kind": "assertion",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "zip/extracted-bytes-match/part-001.pdf",
      "kind": "zip-member",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "zip/extracted-sha256/part-001.pdf",
      "kind": "zip-member",
      "passed": true,
      "actual": "380308b6c617ae462097199bac15055386adcba7671f7ca2dee2ca23230b5406",
      "expected": "380308b6c617ae462097199bac15055386adcba7671f7ca2dee2ca23230b5406"
    },
    {
      "id": "zip/extracted-bytes-match/part-002.pdf",
      "kind": "zip-member",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "zip/extracted-sha256/part-002.pdf",
      "kind": "zip-member",
      "passed": true,
      "actual": "4d2ed7e7c1a5377c874acb9f33947007124a75c0c374a30807725d779c372ca4",
      "expected": "4d2ed7e7c1a5377c874acb9f33947007124a75c0c374a30807725d779c372ca4"
    },
    {
      "id": "pdf/source-three-pages.pdf/page-count",
      "kind": "assertion",
      "passed": true,
      "actual": 3,
      "expected": 3
    },
    {
      "id": "pdf/source-three-pages.pdf/unencrypted",
      "kind": "assertion",
      "passed": true,
      "actual": false,
      "expected": false
    },
    {
      "id": "pdf/source-three-pages.pdf/bookmarks-readable",
      "kind": "assertion",
      "passed": true,
      "actual": null,
      "expected": null
    },
    {
      "id": "pdf/blank-single-page.pdf/page-count",
      "kind": "assertion",
      "passed": true,
      "actual": 1,
      "expected": 1
    },
    {
      "id": "pdf/blank-single-page.pdf/unencrypted",
      "kind": "assertion",
      "passed": true,
      "actual": false,
      "expected": false
    },
    {
      "id": "pdf/blank-single-page.pdf/bookmarks-readable",
      "kind": "assertion",
      "passed": true,
      "actual": null,
      "expected": null
    },
    {
      "id": "pdf/part-001.pdf/page-count",
      "kind": "assertion",
      "passed": true,
      "actual": 1,
      "expected": 1
    },
    {
      "id": "pdf/part-001.pdf/unencrypted",
      "kind": "assertion",
      "passed": true,
      "actual": false,
      "expected": false
    },
    {
      "id": "pdf/part-001.pdf/bookmarks-readable",
      "kind": "assertion",
      "passed": true,
      "actual": null,
      "expected": null
    },
    {
      "id": "pdf/part-002.pdf/page-count",
      "kind": "assertion",
      "passed": true,
      "actual": 2,
      "expected": 2
    },
    {
      "id": "pdf/part-002.pdf/unencrypted",
      "kind": "assertion",
      "passed": true,
      "actual": false,
      "expected": false
    },
    {
      "id": "pdf/part-002.pdf/bookmarks-readable",
      "kind": "assertion",
      "passed": true,
      "actual": null,
      "expected": null
    },
    {
      "id": "pdf/merged-native.pdf/page-count",
      "kind": "assertion",
      "passed": true,
      "actual": 4,
      "expected": 4
    },
    {
      "id": "pdf/merged-native.pdf/unencrypted",
      "kind": "assertion",
      "passed": true,
      "actual": false,
      "expected": false
    },
    {
      "id": "pdf/merged-native.pdf/bookmarks-readable",
      "kind": "assertion",
      "passed": true,
      "actual": null,
      "expected": null
    },
    {
      "id": "mapping/part-001.pdf/1/decodedContentBytes",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1183,
      "expected": 1183
    },
    {
      "id": "mapping/part-001.pdf/1/decodedContentSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "c245b4883b56d4ac3ffdf333c2ea439568e641551debf742e9f23cc1e60a94f1",
      "expected": "c245b4883b56d4ac3ffdf333c2ea439568e641551debf742e9f23cc1e60a94f1"
    },
    {
      "id": "mapping/part-001.pdf/1/text",
      "kind": "page-comparison",
      "passed": true,
      "actual": "FILE A / PAGE 1\nSelf-authored public PDF merge fixture\nSource marker: A1\nThis source has 3 pages; this is original page 1.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A1\n",
      "expected": "FILE A / PAGE 1\nSelf-authored public PDF merge fixture\nSource marker: A1\nThis source has 3 pages; this is original page 1.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A1\n"
    },
    {
      "id": "mapping/part-001.pdf/1/mediaBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/part-001.pdf/1/cropBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/part-001.pdf/1/rotation",
      "kind": "page-comparison",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "mapping/part-001.pdf/1/userUnit",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1.0,
      "expected": 1.0
    },
    {
      "id": "mapping/part-001.pdf/1/numericTokens",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        "1",
        "1",
        "3",
        "1",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "1"
      ],
      "expected": [
        "1",
        "1",
        "3",
        "1",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "1"
      ]
    },
    {
      "id": "mapping/part-001.pdf/1/render-width",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1190,
      "expected": 1190
    },
    {
      "id": "mapping/part-001.pdf/1/render-height",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1684,
      "expected": 1684
    },
    {
      "id": "mapping/part-001.pdf/1/render-rgbSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "459cf4556ca1181aeb9f34b020adcd95525f5aafe74a3a9bbf5de7e6d6ff4943",
      "expected": "459cf4556ca1181aeb9f34b020adcd95525f5aafe74a3a9bbf5de7e6d6ff4943"
    },
    {
      "id": "mapping/part-001.pdf/1/semantic-page-structure",
      "kind": "page-comparison",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/part-001.pdf/1/source-marker-A1",
      "kind": "printed-label",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/part-002.pdf/1/decodedContentBytes",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1183,
      "expected": 1183
    },
    {
      "id": "mapping/part-002.pdf/1/decodedContentSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "31dd53d757e2f99b3f068f45501e2041125b933a8a38053724fe45942a18db0d",
      "expected": "31dd53d757e2f99b3f068f45501e2041125b933a8a38053724fe45942a18db0d"
    },
    {
      "id": "mapping/part-002.pdf/1/text",
      "kind": "page-comparison",
      "passed": true,
      "actual": "FILE A / PAGE 2\nSelf-authored public PDF merge fixture\nSource marker: A2\nThis source has 3 pages; this is original page 2.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A2\n",
      "expected": "FILE A / PAGE 2\nSelf-authored public PDF merge fixture\nSource marker: A2\nThis source has 3 pages; this is original page 2.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A2\n"
    },
    {
      "id": "mapping/part-002.pdf/1/mediaBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/part-002.pdf/1/cropBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/part-002.pdf/1/rotation",
      "kind": "page-comparison",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "mapping/part-002.pdf/1/userUnit",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1.0,
      "expected": 1.0
    },
    {
      "id": "mapping/part-002.pdf/1/numericTokens",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        "2",
        "2",
        "3",
        "2",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "2"
      ],
      "expected": [
        "2",
        "2",
        "3",
        "2",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "2"
      ]
    },
    {
      "id": "mapping/part-002.pdf/1/render-width",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1190,
      "expected": 1190
    },
    {
      "id": "mapping/part-002.pdf/1/render-height",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1684,
      "expected": 1684
    },
    {
      "id": "mapping/part-002.pdf/1/render-rgbSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "08ac44a45402c97e9af77a183996e5542b1d906b81c2ebdb51268225cc3a3ec8",
      "expected": "08ac44a45402c97e9af77a183996e5542b1d906b81c2ebdb51268225cc3a3ec8"
    },
    {
      "id": "mapping/part-002.pdf/1/semantic-page-structure",
      "kind": "page-comparison",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/part-002.pdf/1/source-marker-A2",
      "kind": "printed-label",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/part-002.pdf/2/decodedContentBytes",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1183,
      "expected": 1183
    },
    {
      "id": "mapping/part-002.pdf/2/decodedContentSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "42c7b9a5f99863760ec82b9c630790e88bfbbfb210d230382f117bfc55aff0a1",
      "expected": "42c7b9a5f99863760ec82b9c630790e88bfbbfb210d230382f117bfc55aff0a1"
    },
    {
      "id": "mapping/part-002.pdf/2/text",
      "kind": "page-comparison",
      "passed": true,
      "actual": "FILE A / PAGE 3\nSelf-authored public PDF merge fixture\nSource marker: A3\nThis source has 3 pages; this is original page 3.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A3\n",
      "expected": "FILE A / PAGE 3\nSelf-authored public PDF merge fixture\nSource marker: A3\nThis source has 3 pages; this is original page 3.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A3\n"
    },
    {
      "id": "mapping/part-002.pdf/2/mediaBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/part-002.pdf/2/cropBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/part-002.pdf/2/rotation",
      "kind": "page-comparison",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "mapping/part-002.pdf/2/userUnit",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1.0,
      "expected": 1.0
    },
    {
      "id": "mapping/part-002.pdf/2/numericTokens",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        "3",
        "3",
        "3",
        "3",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "3"
      ],
      "expected": [
        "3",
        "3",
        "3",
        "3",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "3"
      ]
    },
    {
      "id": "mapping/part-002.pdf/2/render-width",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1190,
      "expected": 1190
    },
    {
      "id": "mapping/part-002.pdf/2/render-height",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1684,
      "expected": 1684
    },
    {
      "id": "mapping/part-002.pdf/2/render-rgbSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "018484d947415537645a914ce9edf108a56a73203c7a9f19934bda7e5d0c9bcb",
      "expected": "018484d947415537645a914ce9edf108a56a73203c7a9f19934bda7e5d0c9bcb"
    },
    {
      "id": "mapping/part-002.pdf/2/semantic-page-structure",
      "kind": "page-comparison",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/part-002.pdf/2/source-marker-A3",
      "kind": "printed-label",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/1/decodedContentBytes",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1183,
      "expected": 1183
    },
    {
      "id": "mapping/merged-native.pdf/1/decodedContentSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "c245b4883b56d4ac3ffdf333c2ea439568e641551debf742e9f23cc1e60a94f1",
      "expected": "c245b4883b56d4ac3ffdf333c2ea439568e641551debf742e9f23cc1e60a94f1"
    },
    {
      "id": "mapping/merged-native.pdf/1/text",
      "kind": "page-comparison",
      "passed": true,
      "actual": "FILE A / PAGE 1\nSelf-authored public PDF merge fixture\nSource marker: A1\nThis source has 3 pages; this is original page 1.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A1\n",
      "expected": "FILE A / PAGE 1\nSelf-authored public PDF merge fixture\nSource marker: A1\nThis source has 3 pages; this is original page 1.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A1\n"
    },
    {
      "id": "mapping/merged-native.pdf/1/mediaBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/merged-native.pdf/1/cropBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/merged-native.pdf/1/rotation",
      "kind": "page-comparison",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "mapping/merged-native.pdf/1/userUnit",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1.0,
      "expected": 1.0
    },
    {
      "id": "mapping/merged-native.pdf/1/numericTokens",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        "1",
        "1",
        "3",
        "1",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "1"
      ],
      "expected": [
        "1",
        "1",
        "3",
        "1",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "1"
      ]
    },
    {
      "id": "mapping/merged-native.pdf/1/render-width",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1190,
      "expected": 1190
    },
    {
      "id": "mapping/merged-native.pdf/1/render-height",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1684,
      "expected": 1684
    },
    {
      "id": "mapping/merged-native.pdf/1/render-rgbSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "459cf4556ca1181aeb9f34b020adcd95525f5aafe74a3a9bbf5de7e6d6ff4943",
      "expected": "459cf4556ca1181aeb9f34b020adcd95525f5aafe74a3a9bbf5de7e6d6ff4943"
    },
    {
      "id": "mapping/merged-native.pdf/1/semantic-page-structure",
      "kind": "page-comparison",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/1/source-marker-A1",
      "kind": "printed-label",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/2/decodedContentBytes",
      "kind": "page-comparison",
      "passed": true,
      "actual": 42,
      "expected": 42
    },
    {
      "id": "mapping/merged-native.pdf/2/decodedContentSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "f7ac222654d26a9cb26ce3bd9a2475e49599e30866f6d349e2468eddb6999c08",
      "expected": "f7ac222654d26a9cb26ce3bd9a2475e49599e30866f6d349e2468eddb6999c08"
    },
    {
      "id": "mapping/merged-native.pdf/2/text",
      "kind": "page-comparison",
      "passed": true,
      "actual": "",
      "expected": ""
    },
    {
      "id": "mapping/merged-native.pdf/2/mediaBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.2756,
        841.8898
      ],
      "expected": [
        0.0,
        0.0,
        595.2756,
        841.8898
      ]
    },
    {
      "id": "mapping/merged-native.pdf/2/cropBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.2756,
        841.8898
      ],
      "expected": [
        0.0,
        0.0,
        595.2756,
        841.8898
      ]
    },
    {
      "id": "mapping/merged-native.pdf/2/rotation",
      "kind": "page-comparison",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "mapping/merged-native.pdf/2/userUnit",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1.0,
      "expected": 1.0
    },
    {
      "id": "mapping/merged-native.pdf/2/numericTokens",
      "kind": "page-comparison",
      "passed": true,
      "actual": [],
      "expected": []
    },
    {
      "id": "mapping/merged-native.pdf/2/render-width",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1191,
      "expected": 1191
    },
    {
      "id": "mapping/merged-native.pdf/2/render-height",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1684,
      "expected": 1684
    },
    {
      "id": "mapping/merged-native.pdf/2/render-rgbSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "f98561fd35875381afd79b00c637e44f1975b5acf65e29c17640a8d28c5ec3a1",
      "expected": "f98561fd35875381afd79b00c637e44f1975b5acf65e29c17640a8d28c5ec3a1"
    },
    {
      "id": "mapping/merged-native.pdf/2/semantic-page-structure",
      "kind": "page-comparison",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/2/blank-semantic-page-structure",
      "kind": "blank-page",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/2/blank-empty-text",
      "kind": "blank-page",
      "passed": true,
      "actual": "",
      "expected": ""
    },
    {
      "id": "mapping/merged-native.pdf/2/blank-all-rgb-255",
      "kind": "blank-page",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/3/decodedContentBytes",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1183,
      "expected": 1183
    },
    {
      "id": "mapping/merged-native.pdf/3/decodedContentSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "31dd53d757e2f99b3f068f45501e2041125b933a8a38053724fe45942a18db0d",
      "expected": "31dd53d757e2f99b3f068f45501e2041125b933a8a38053724fe45942a18db0d"
    },
    {
      "id": "mapping/merged-native.pdf/3/text",
      "kind": "page-comparison",
      "passed": true,
      "actual": "FILE A / PAGE 2\nSelf-authored public PDF merge fixture\nSource marker: A2\nThis source has 3 pages; this is original page 2.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A2\n",
      "expected": "FILE A / PAGE 2\nSelf-authored public PDF merge fixture\nSource marker: A2\nThis source has 3 pages; this is original page 2.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A2\n"
    },
    {
      "id": "mapping/merged-native.pdf/3/mediaBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/merged-native.pdf/3/cropBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/merged-native.pdf/3/rotation",
      "kind": "page-comparison",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "mapping/merged-native.pdf/3/userUnit",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1.0,
      "expected": 1.0
    },
    {
      "id": "mapping/merged-native.pdf/3/numericTokens",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        "2",
        "2",
        "3",
        "2",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "2"
      ],
      "expected": [
        "2",
        "2",
        "3",
        "2",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "2"
      ]
    },
    {
      "id": "mapping/merged-native.pdf/3/render-width",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1190,
      "expected": 1190
    },
    {
      "id": "mapping/merged-native.pdf/3/render-height",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1684,
      "expected": 1684
    },
    {
      "id": "mapping/merged-native.pdf/3/render-rgbSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "08ac44a45402c97e9af77a183996e5542b1d906b81c2ebdb51268225cc3a3ec8",
      "expected": "08ac44a45402c97e9af77a183996e5542b1d906b81c2ebdb51268225cc3a3ec8"
    },
    {
      "id": "mapping/merged-native.pdf/3/semantic-page-structure",
      "kind": "page-comparison",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/3/source-marker-A2",
      "kind": "printed-label",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/4/decodedContentBytes",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1183,
      "expected": 1183
    },
    {
      "id": "mapping/merged-native.pdf/4/decodedContentSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "42c7b9a5f99863760ec82b9c630790e88bfbbfb210d230382f117bfc55aff0a1",
      "expected": "42c7b9a5f99863760ec82b9c630790e88bfbbfb210d230382f117bfc55aff0a1"
    },
    {
      "id": "mapping/merged-native.pdf/4/text",
      "kind": "page-comparison",
      "passed": true,
      "actual": "FILE A / PAGE 3\nSelf-authored public PDF merge fixture\nSource marker: A3\nThis source has 3 pages; this is original page 3.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A3\n",
      "expected": "FILE A / PAGE 3\nSelf-authored public PDF merge fixture\nSource marker: A3\nThis source has 3 pages; this is original page 3.\nMediaBox: 595 x 842 points. Rotation: 0 degrees.\nVisible source labels are part of the page content.\nMerging should not silently rewrite these labels.\n10\n20\n30\nDoc2X QA | No customer data | A3\n"
    },
    {
      "id": "mapping/merged-native.pdf/4/mediaBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/merged-native.pdf/4/cropBox",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        0.0,
        0.0,
        595.0,
        842.0
      ],
      "expected": [
        0.0,
        0.0,
        595.0,
        842.0
      ]
    },
    {
      "id": "mapping/merged-native.pdf/4/rotation",
      "kind": "page-comparison",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "mapping/merged-native.pdf/4/userUnit",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1.0,
      "expected": 1.0
    },
    {
      "id": "mapping/merged-native.pdf/4/numericTokens",
      "kind": "page-comparison",
      "passed": true,
      "actual": [
        "3",
        "3",
        "3",
        "3",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "3"
      ],
      "expected": [
        "3",
        "3",
        "3",
        "3",
        "595",
        "842",
        "0",
        "10",
        "20",
        "30",
        "2",
        "3"
      ]
    },
    {
      "id": "mapping/merged-native.pdf/4/render-width",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1190,
      "expected": 1190
    },
    {
      "id": "mapping/merged-native.pdf/4/render-height",
      "kind": "page-comparison",
      "passed": true,
      "actual": 1684,
      "expected": 1684
    },
    {
      "id": "mapping/merged-native.pdf/4/render-rgbSha256",
      "kind": "page-comparison",
      "passed": true,
      "actual": "018484d947415537645a914ce9edf108a56a73203c7a9f19934bda7e5d0c9bcb",
      "expected": "018484d947415537645a914ce9edf108a56a73203c7a9f19934bda7e5d0c9bcb"
    },
    {
      "id": "mapping/merged-native.pdf/4/semantic-page-structure",
      "kind": "page-comparison",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "mapping/merged-native.pdf/4/source-marker-A3",
      "kind": "printed-label",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "input/blank/empty-text",
      "kind": "blank-page",
      "passed": true,
      "actual": "",
      "expected": ""
    },
    {
      "id": "input/blank/all-rgb-255",
      "kind": "blank-page",
      "passed": true,
      "actual": true,
      "expected": true
    },
    {
      "id": "input/blank/rotation",
      "kind": "blank-page",
      "passed": true,
      "actual": 0,
      "expected": 0
    },
    {
      "id": "native-bytes-unchanged/source-three-pages.pdf",
      "kind": "assertion",
      "passed": true,
      "actual": "39a54c82b4bc43af7b16e978d8275060064ebe161e0fe3715de5d5b3d2f0c57e",
      "expected": "39a54c82b4bc43af7b16e978d8275060064ebe161e0fe3715de5d5b3d2f0c57e"
    },
    {
      "id": "native-bytes-unchanged/blank-single-page.pdf",
      "kind": "assertion",
      "passed": true,
      "actual": "ef4e010565c019fafb0c5c1fa87332af3b0c5a4af75f25e8f776abd76498331f",
      "expected": "ef4e010565c019fafb0c5c1fa87332af3b0c5a4af75f25e8f776abd76498331f"
    },
    {
      "id": "native-bytes-unchanged/parts-native.zip",
      "kind": "assertion",
      "passed": true,
      "actual": "b2cccf0cce961ae38cc53d9ae8cfd763bb8547bfe0794e87aa935e8ebe09a691",
      "expected": "b2cccf0cce961ae38cc53d9ae8cfd763bb8547bfe0794e87aa935e8ebe09a691"
    },
    {
      "id": "native-bytes-unchanged/part-001.pdf",
      "kind": "assertion",
      "passed": true,
      "actual": "380308b6c617ae462097199bac15055386adcba7671f7ca2dee2ca23230b5406",
      "expected": "380308b6c617ae462097199bac15055386adcba7671f7ca2dee2ca23230b5406"
    },
    {
      "id": "native-bytes-unchanged/part-002.pdf",
      "kind": "assertion",
      "passed": true,
      "actual": "4d2ed7e7c1a5377c874acb9f33947007124a75c0c374a30807725d779c372ca4",
      "expected": "4d2ed7e7c1a5377c874acb9f33947007124a75c0c374a30807725d779c372ca4"
    },
    {
      "id": "native-bytes-unchanged/merged-native.pdf",
      "kind": "assertion",
      "passed": true,
      "actual": "2be3c41a2697312be394e27744d1f69ef52bcae15da9b17dbf80f87e27d012ab",
      "expected": "2be3c41a2697312be394e27744d1f69ef52bcae15da9b17dbf80f87e27d012ab"
    }
  ],
  "nativeFiles": [
    {
      "file": "source-three-pages.pdf",
      "bytes": 4123,
      "sha256": "39a54c82b4bc43af7b16e978d8275060064ebe161e0fe3715de5d5b3d2f0c57e"
    },
    {
      "file": "blank-single-page.pdf",
      "bytes": 55749,
      "sha256": "ef4e010565c019fafb0c5c1fa87332af3b0c5a4af75f25e8f776abd76498331f"
    },
    {
      "file": "parts-native.zip",
      "bytes": 3745,
      "sha256": "b2cccf0cce961ae38cc53d9ae8cfd763bb8547bfe0794e87aa935e8ebe09a691"
    },
    {
      "file": "part-001.pdf",
      "bytes": 1413,
      "sha256": "380308b6c617ae462097199bac15055386adcba7671f7ca2dee2ca23230b5406"
    },
    {
      "file": "part-002.pdf",
      "bytes": 2110,
      "sha256": "4d2ed7e7c1a5377c874acb9f33947007124a75c0c374a30807725d779c372ca4"
    },
    {
      "file": "merged-native.pdf",
      "bytes": 57947,
      "sha256": "2be3c41a2697312be394e27744d1f69ef52bcae15da9b17dbf80f87e27d012ab"
    }
  ],
  "publicReportCopy": {
    "description": "Public copy of the local verification record; local invocation paths are omitted. Native PDF and ZIP bytes are unchanged.",
    "localPathsOmitted": true,
    "all126RecordedChecksRetained": true
  }
}
