{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "version": 1,
  "purpose": "Explicit disposition ledger for every normative-language candidate found by the source inventory.",
  "inventory": "docs/normative-source-inventory.json",
  "status_vocabulary": [
    "represented-by-source-record",
    "represented-structurally",
    "represented-operationally",
    "represented-by-constraint",
    "represented-by-runtime"
  ],
  "requirements": [
    {
      "id": "M2-100-U-v1-1-page-1-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 1,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-1-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-1-line-13",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 1,
      "source_line": 13,
      "source_fingerprint": "a96859ebec1d7e537b236c428087e2baf8355b8ada39c07bfd6e1a09c57aec3c",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-1-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-2-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 2,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-2-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-2-line-15",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 2,
      "source_line": 15,
      "source_fingerprint": "22dd6818cbb10c0abe70ae063c7a8df6ea092a521a6dc8a3636f102227f5933d",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-2-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-3-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 3,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-3-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-4-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 4,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-4-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-5-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 5,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-5-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-5-line-18",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 5,
      "source_line": 18,
      "source_fingerprint": "11ac8d03c9a67aa43741d9c76c64a469e2b4bf01747fd0e6ff35f3ac87843bc2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-5-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-5-line-31",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 5,
      "source_line": 31,
      "source_fingerprint": "928202a7a6241ea53f4487e10c1cd18d7f9d5af10992af14f4727f5a6f9f2b76",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-5-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-6-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 6,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-6-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-7-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 7,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-7-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-7-line-11",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 7,
      "source_line": 11,
      "source_fingerprint": "dd6a1c495bd6c67ef7bd5ddd68f98161c4540a1fff143dc05858748dd33b8c9b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-7-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-7-line-12",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 7,
      "source_line": 12,
      "source_fingerprint": "e3fe968fbd2e0b0466501ce855e6e38f40d4977b22428cdc9a9e5c0d7c9b2d73",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-7-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-7-line-13",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 7,
      "source_line": 13,
      "source_fingerprint": "1407b569ed8252e7c2db425f0b7b85f8a0aee3702462d2373eaabf447ff8937b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-7-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-8-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 8,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-8-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-8-line-9",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 8,
      "source_line": 9,
      "source_fingerprint": "a903c5a6e27c1556f149783bda161c00504ddc68d75622fdc251c136694d90c6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-8-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-8-line-12",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 8,
      "source_line": 12,
      "source_fingerprint": "8d566c25e315ad5f3db92ebf30e9ffb24187b50a3f2b92beb77182a81c740e5a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-8-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-8-line-16",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 8,
      "source_line": 16,
      "source_fingerprint": "76a114c80c245c27128d4442e3af22527405b3b06b44bed78c575ea7ac73d4b0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-8-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-3",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 3,
      "source_fingerprint": "3670794f492fd13b9988109af0d531edda73333fe8c36f225778e196cfd20b03",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-4",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 4,
      "source_fingerprint": "31ea276a954c6959c2a8a20abd309304c94df27c16ad51a81c469fc6e6488d89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-9",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 9,
      "source_fingerprint": "e1073c104fd16c10ff9d4f34674c0abf991a8ba75ce46873036eb2c7dae54541",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-12",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 12,
      "source_fingerprint": "21204fb099ac5229c253eecab200b083644a178713c8ec4f2465bca44dbd7bee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-13",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 13,
      "source_fingerprint": "47f8fdd730d0af6c55bc8d7931ae2c5ae23fbac9771dc1514e3f70a2a4133197",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-16",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 16,
      "source_fingerprint": "dbef26f51076ade26e45f524d20f9810aa48c9c6dee2cb17d027ead4e236bba3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-17",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 17,
      "source_fingerprint": "0ce67e2974ac5e9be832e56a2466e550320ebd8a3fcc72b856197573b080fc4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-24",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 24,
      "source_fingerprint": "2e8eaa995691d6232411a31b62270be36ad3b6c6c2ca77cbfe233accbb34b1a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-25",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 25,
      "source_fingerprint": "4243cc224cdaa2ef37316cca29466b7716054c00093fdb40fe05d27d7fbbbeb1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-28",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 28,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-34",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 34,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-38",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 38,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-9-line-42",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 9,
      "source_line": 42,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-9-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-10-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 10,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-10-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-10-line-17",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 10,
      "source_line": 17,
      "source_fingerprint": "759f5fccef004397ffbbda8f12a341ca4b574acfd4b753bb01e3595ecbb6f8d4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-10-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-10-line-39",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 10,
      "source_line": 39,
      "source_fingerprint": "1955f15490bcf00571edc3abee6fc2def0371ba9c21b96162741681ce7d66eca",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-10-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-11-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 11,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-11-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-11-line-5",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 11,
      "source_line": 5,
      "source_fingerprint": "da85bc1f070c53909c06b27a3e8ecff0109e783bbf7426beb1e4c6849ef35f7b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-11-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-11-line-7",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 11,
      "source_line": 7,
      "source_fingerprint": "f75492032fa951d0da2610868bf261b54a73f5f2a9f35a0ffe0caba10b55d78a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-11-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-11-line-18",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 11,
      "source_line": 18,
      "source_fingerprint": "3d378ef9b8ecc5807bc9d9469f3911917f378c5ea3f3950f32a9d087a174ae30",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-11-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-11-line-26",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 11,
      "source_line": 26,
      "source_fingerprint": "6c2eda3284046e4c2b14ad35d7aff60f9e6c4d36de5d9213906e8d02727f55a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-11-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-11-line-36",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 11,
      "source_line": 36,
      "source_fingerprint": "6ad6918e2cdcedaa3970e0b3f0110186371c518ca84d3f33de180bfa908b8d4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-11-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-12-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 12,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-12-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-13-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 13,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-13-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-14-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 14,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-14-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-15-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 15,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-15-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-15-line-3",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 15,
      "source_line": 3,
      "source_fingerprint": "489c4bb14564d44866f05886eadc86d036afe746725c7ae817c9e50e76084ab7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-15-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-16-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 16,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-16-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-16-line-13",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 16,
      "source_line": 13,
      "source_fingerprint": "8cfcb13b0fe4a7343cd8f3b795298692f75dea7f29e240802fc6c00154de401f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-16-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-100-U-v1-1-page-17-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 17,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-17-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-100-U-v1-1-page-18-line-1",
      "document": "M2-100-U",
      "version": "1.1",
      "page": 18,
      "source_line": 1,
      "source_fingerprint": "b663346753275d46ea58d7c1a86ea1f0b289a337e12a146542443f5cd9765490",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-100-U-v1-1-page-18-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-1-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 1,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-1-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-1-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 1,
      "source_line": 13,
      "source_fingerprint": "a96859ebec1d7e537b236c428087e2baf8355b8ada39c07bfd6e1a09c57aec3c",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-1-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-2-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 2,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-2-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-2-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 2,
      "source_line": 14,
      "source_fingerprint": "22dd6818cbb10c0abe70ae063c7a8df6ea092a521a6dc8a3636f102227f5933d",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-2-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-3-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 3,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-3-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-4-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 4,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-4-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-5-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 5,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-5-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-6-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 6,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-6-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-6-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 6,
      "source_line": 15,
      "source_fingerprint": "7c86892c79a4956cc0f165270ee8414ed35c5df7b50a5fd8c6b7bd9ec7869cf1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-6-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-7-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 7,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-7-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-8-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 8,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-8-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-9-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 9,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-9-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-10-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 10,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-10-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-11-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-11-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-11-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 11,
      "source_fingerprint": "2cb5fc8c846b8c41ea4d28ba501592fe9704cfbb302f623b6592e752bb547c2e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-11-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-11-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 26,
      "source_fingerprint": "e1f09153a584265a347f99f03cbaff7e50529dd77e3e4413710250356169b95d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-11-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-11-line-29",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 29,
      "source_fingerprint": "8f986611989e00a9a350e5dc11d22aba983123f0b2e39286001199fee0095162",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-11-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-11-line-32",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 32,
      "source_fingerprint": "efd6109c28cc12f1bd29cf31d3c4cfbb73ae85e936208cea666567eb04b5a3ab",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-11-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-12-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 12,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-12-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-13-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-13-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-13-line-25",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 25,
      "source_fingerprint": "dd6a1c495bd6c67ef7bd5ddd68f98161c4540a1fff143dc05858748dd33b8c9b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-13-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-13-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 26,
      "source_fingerprint": "e3fe968fbd2e0b0466501ce855e6e38f40d4977b22428cdc9a9e5c0d7c9b2d73",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-13-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-13-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 27,
      "source_fingerprint": "1407b569ed8252e7c2db425f0b7b85f8a0aee3702462d2373eaabf447ff8937b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-13-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-14-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 14,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-14-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-14-line-32",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 14,
      "source_line": 32,
      "source_fingerprint": "a903c5a6e27c1556f149783bda161c00504ddc68d75622fdc251c136694d90c6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-14-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-14-line-35",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 14,
      "source_line": 35,
      "source_fingerprint": "8d566c25e315ad5f3db92ebf30e9ffb24187b50a3f2b92beb77182a81c740e5a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-14-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-14-line-39",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 14,
      "source_line": 39,
      "source_fingerprint": "7a4751568dc6e394bb29a3c21c936ae885358b2df025388cebc48816c6cb6749",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-14-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-15-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 15,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-15-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-15-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 15,
      "source_line": 14,
      "source_fingerprint": "644f1fe40e421a16866b8a34ecc501f51f2c1c06612558a00747121de2e9de6d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-15-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-15-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 15,
      "source_line": 15,
      "source_fingerprint": "5f796e4671b3217ebf844ff289de382e39e3d338e885cd0489b24665c4e7fb5b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-15-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 3,
      "source_fingerprint": "3670794f492fd13b9988109af0d531edda73333fe8c36f225778e196cfd20b03",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-4",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 4,
      "source_fingerprint": "31ea276a954c6959c2a8a20abd309304c94df27c16ad51a81c469fc6e6488d89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-9",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 9,
      "source_fingerprint": "e1073c104fd16c10ff9d4f34674c0abf991a8ba75ce46873036eb2c7dae54541",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 12,
      "source_fingerprint": "21204fb099ac5229c253eecab200b083644a178713c8ec4f2465bca44dbd7bee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 13,
      "source_fingerprint": "47f8fdd730d0af6c55bc8d7931ae2c5ae23fbac9771dc1514e3f70a2a4133197",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 16,
      "source_fingerprint": "dbef26f51076ade26e45f524d20f9810aa48c9c6dee2cb17d027ead4e236bba3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 17,
      "source_fingerprint": "0ce67e2974ac5e9be832e56a2466e550320ebd8a3fcc72b856197573b080fc4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-24",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 24,
      "source_fingerprint": "2e8eaa995691d6232411a31b62270be36ad3b6c6c2ca77cbfe233accbb34b1a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-25",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 25,
      "source_fingerprint": "4243cc224cdaa2ef37316cca29466b7716054c00093fdb40fe05d27d7fbbbeb1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-28",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 28,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-34",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 34,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-38",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 38,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-16-line-42",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 42,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-16-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-17-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 17,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-17-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-18-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-18-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-18-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 6,
      "source_fingerprint": "8bfaf35195722c48ad7a845624437a47f2a5d144bff87b705fd93fb24035b293",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-18-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-18-line-19",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 19,
      "source_fingerprint": "2d625fb34a44cfa49780a8a64586e5c251ffa8a2e65e682591884915e549a6ae",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-18-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-18-line-21",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 21,
      "source_fingerprint": "0af8efcb39d80503e2767fca09e51a4aa98af43613b217ebd2065969819d8895",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-18-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-18-line-25",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 25,
      "source_fingerprint": "3d79a295b226343e4aaedb1ff65ef84f8ee385bf39f83d39f32fa1f27ad177cb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-18-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-18-line-28",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 28,
      "source_fingerprint": "b9c221cbe8854814f745d9e33fe221229f0c50952f9810dd5f6bf7c9f381f829",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-18-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-18-line-30",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 30,
      "source_fingerprint": "420d1cd93b5ef862eb9161dcb295086818cdbb1bcb4664be0cfc137c2acd84ba",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-18-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-19-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 19,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-19-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-19-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 19,
      "source_line": 11,
      "source_fingerprint": "efd6109c28cc12f1bd29cf31d3c4cfbb73ae85e936208cea666567eb04b5a3ab",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-19-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-19-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 19,
      "source_line": 15,
      "source_fingerprint": "698ea97a61127f6a126d4a33e7583040ba528858aac0d2c933e0a398c72be0f8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-19-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-19-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 19,
      "source_line": 27,
      "source_fingerprint": "cca1e0ef94d78e3a52ff0f606d94eef1fecd9deb0a80c77d127f4e7e125a13e7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-19-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-20-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 20,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-20-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-20-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 20,
      "source_line": 27,
      "source_fingerprint": "223163bac24b9bbbed37761b367382ddff8c91ddd1bfa543557098b93e6e78dc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-20-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-20-line-33",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 20,
      "source_line": 33,
      "source_fingerprint": "052fcc530a05289b7699decc0eea47283506b3301024216e411cdadff52dd63c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-20-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-20-line-34",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 20,
      "source_line": 34,
      "source_fingerprint": "8ad43920f5c442ee84dde1926aff1736f9efd99586c6de3754e78d62474b5ec5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-20-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-20-line-36",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 20,
      "source_line": 36,
      "source_fingerprint": "8ce94a0539b11c76d922e1ff6f3800fe636ab0e491a60db1ff8f295ce916fecc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-20-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-20-line-37",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 20,
      "source_line": 37,
      "source_fingerprint": "698ab7f009d52419977e44f54dbe5eaa14b3de931e36b4ea250f63c2199e047e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-20-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-20-line-38",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 20,
      "source_line": 38,
      "source_fingerprint": "66553f5baecc24eba77a177cf3751140ff28d7743ed671450e398b56b64bf623",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-20-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-21-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 21,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-21-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-21-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 21,
      "source_line": 3,
      "source_fingerprint": "33907bc964909106d169c5d385aeb4e819ab598a6d013a71cda1d47e8803076c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-21-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-21-line-8",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 21,
      "source_line": 8,
      "source_fingerprint": "9812462a26e50acf8b5d4502078111c57878336f00d58d28d70edb2b23867f4e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-21-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-21-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 21,
      "source_line": 15,
      "source_fingerprint": "34f18d0786fc6789eac42d62bf2346c9291847a93d7e6cb1cffeb95d55118e87",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-21-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-21-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 21,
      "source_line": 17,
      "source_fingerprint": "a5ac48b50446a7bf274150c292a291d7d151c11c5fd663c1bd920a6c69968dc1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-21-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-21-line-25",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 21,
      "source_line": 25,
      "source_fingerprint": "6ae9f1c588987db0739520d3129051a85bacee80eb3bd8f0e0c84eed42f24969",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-21-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-22-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-22-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-22-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 5,
      "source_fingerprint": "f5f60e1a3b6f1f2b296ce1cd7998774188443dacf23da5be2d515b804de70e28",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-22-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-22-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 7,
      "source_fingerprint": "28fb28b960eded1f6d16770e0df9cf69a108029fc089451cf08e6a9e784632b5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-22-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-22-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 12,
      "source_fingerprint": "6d9f775b6a5779a90f4f71f1131237ce35b00956e288f2000957051dc99d7c83",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-22-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-23-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 23,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-23-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-23-line-24",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 23,
      "source_line": 24,
      "source_fingerprint": "9975295c45f949d040e2904b4070bff2124a8916847968779a5318156e998af6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-23-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-24-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-24-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-24-line-32",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 32,
      "source_fingerprint": "08e38d7457838b98dcd51b755a2b8dba6be568989ff0abea97c9694324578b20",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-24-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-24-line-34",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 34,
      "source_fingerprint": "20cacd12514300ecf9610594076770b8db5deee5c46b7dd9c5d967eeb606bf47",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-24-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-24-line-36",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 36,
      "source_fingerprint": "569dcdc4281387ece09c87dec7e91ba5312a3ea473a7108b3780b8e8b1920830",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-24-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 5,
      "source_fingerprint": "fb2bf11dfe299935cd49cb3d56226f32674d9c9c029524291d21c5d93ec1304e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 16,
      "source_fingerprint": "d701f72ab4dde525fca58b7093ab012cc1808d5a4a268558b741e934bec3b6c6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 17,
      "source_fingerprint": "c833acdb381f8c7c10819868e9e613a99bd4a8c286b07f327269ae7827b00b14",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-19",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 19,
      "source_fingerprint": "a6bb59d6a30993207939f816eaf773157387cd4d803c2a246b340e38c259e126",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-20",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 20,
      "source_fingerprint": "e974ba5f785ccd64661c4fe6ea29d0bdf1576a9d5fd55a47dcd1cbdaddcf8944",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-23",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 23,
      "source_fingerprint": "e6600d0d1651516ab24b7c6bca7146a48930d4285951c459759cf512d3231cec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 26,
      "source_fingerprint": "c99966b81c435e18558c74f6c964d7fd38587aa6fe4bc56c7b16a34cdb02537f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-28",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 28,
      "source_fingerprint": "0be378f51eb368105ed3619efcef94c6640bc49a83b143fda92e334f30ade820",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-31",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 31,
      "source_fingerprint": "21d55aed598be403f6493c6e72f6e51332b596058808516e1258cd212b9bae34",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-33",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 33,
      "source_fingerprint": "7be44afc41d1474dc2bbbec59b877fc45bd9e33f9a6488237a3064f6f1110776",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-34",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 34,
      "source_fingerprint": "da2ebc77f6a941a6511c7e0112421e2772b28516b692ed29009db03ecfe028bb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-35",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 35,
      "source_fingerprint": "7f2875e8e8c5dbfc1c9aeba24c70cbe797ba505e22e17281a3b1fc55bdccde31",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-38",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 38,
      "source_fingerprint": "90fde5f295e6c0e6b286319bb4b8a92d371786b605eb6a5d56f8b6a230c65cdf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-40",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 40,
      "source_fingerprint": "3e8621d531856faaf140e3f66bf3cf9043dbff22d9183c47399f538c3c5d1c43",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-25-line-41",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 41,
      "source_fingerprint": "e1a4f04c1ff31d6f9e32376881656538052b88ba2148c226992121dc1bab6364",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-25-line-41"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-2",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 2,
      "source_fingerprint": "f63defbd339e00592645f0af58b1398fd75c62ae805fec6d65bb2a2d15c91557",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-4",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 4,
      "source_fingerprint": "d969ffaf534851b6c6fc800143a696ad8bad6c37d21b11d398eaf15ae0617a2d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 6,
      "source_fingerprint": "52e11a1639a12fd8860bfa9d23d3c10d6488bf74cc6af23969415a1209381663",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-10",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 10,
      "source_fingerprint": "8fc09408e043a43b696ebaccb7e705d1de013aab7a253139292f9d0267e51e92",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 11,
      "source_fingerprint": "ddecfdbbd7d84f4ca329baabb92404e5ea37c36c1b066ccc67e581db5484ead0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-20",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 20,
      "source_fingerprint": "c9099986b2b317e6123e6629e9712c2a9feb2c4d2dab9152ace053cceface6f2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-21",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 21,
      "source_fingerprint": "f6ac0b4d99edd57cff19895a3545e7a838771cdf44c89fe046df70f0a34b6075",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-24",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 24,
      "source_fingerprint": "9e0adc46ae22117c08e43365b1fd5c98e8f65a1abcd1ce6f16430fa1b6f002c3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 27,
      "source_fingerprint": "3c832bbfb8b94556f6995686d013d06b8ca3dff6320fcd8f78f6482eb63dce82",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-26-line-31",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 31,
      "source_fingerprint": "179f118aa8b39bedef64ecd1320257123c25a19216bc56267acd2440289a63f5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-26-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-27-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-27-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-27-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 3,
      "source_fingerprint": "21cde1d2f2670fa14e189f10345b08541203ad5c615ae059e964a3356cad5288",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-27-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-27-line-4",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 4,
      "source_fingerprint": "def343af4c9533198d64714b5715239d1dc4030f3ca24d6c5c6e1bf35dc21460",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-27-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-27-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 6,
      "source_fingerprint": "cd19095f6576db51c856dd01afd44b67fc3633097de0a82d19eba0f38d1e1e56",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-27-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-27-line-8",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 8,
      "source_fingerprint": "6213a3cdb5096777c36bd7e6c6e4c955a9abcee8a83d6bb33dba553a668007de",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-27-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-27-line-10",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 10,
      "source_fingerprint": "e4c4c27445e7774a472f5f39e54c9e80d18e212d6419c775fca895dbfd8aef1c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-27-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-28-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-28-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-28-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 14,
      "source_fingerprint": "13d45e07bc2e98ab0b214e72f812984a50d58d5216a74ef5904f51fb939e481f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-28-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-28-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 15,
      "source_fingerprint": "4c5a661340f5e706ed5dde7fbfda8f0acaa2a9e7af12f54af41a26f7178045f4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-28-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-28-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 16,
      "source_fingerprint": "401ab28d1f6e902d373423321af1debd59681a580906ec25fe342bab8dfed50f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-28-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-28-line-21",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 21,
      "source_fingerprint": "23e5d164031692783d011c242f941978d512cd3c8679a0614a619f3d3a39db20",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-28-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-28-line-35",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 35,
      "source_fingerprint": "a580ea0b8f619bd5dde94bd0dad88d0114bfa701a039599b10a1de476bf521b7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-28-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-28-line-39",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 39,
      "source_fingerprint": "59bf1ef35d50df23b84752751ff7a2a756203f1edb4b23683c00b75d5f91110d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-28-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-29-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-29-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-29-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 3,
      "source_fingerprint": "8f18dfd0f6a007903ee7ff99e18d4674068a855c005baba969a4215a021bf898",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-29-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-29-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 6,
      "source_fingerprint": "c06b63e6208472cc0d37d11b4b06cf94a2530c6dfb21b0eeab59a335e59c5a84",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-29-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-29-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 7,
      "source_fingerprint": "a3fe71602cb02495283d1769f29b0156b7ca11e722414859d93e1d4e5f892f23",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-29-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-29-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 11,
      "source_fingerprint": "efeb779ea6b415fd41ba80af7ca82bba6bf2c67d0753230856e1bf61fd99dd47",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-29-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-29-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 13,
      "source_fingerprint": "1b033fc969f30c415e18fd2339391625ff6cc7b21cffa41194880ba63a176c9a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-29-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-29-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 16,
      "source_fingerprint": "431f938794ceb2346c40640d27807e1d81c8e5fc8b3c03df5ad1e065cc21c67b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-29-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-30-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-30-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-30-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 7,
      "source_fingerprint": "4f857a637bfcff57755fde49a3d9bb5e7c178d665bf64c5b9ae8b9541664ee45",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-30-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-30-line-10",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 10,
      "source_fingerprint": "9ddba5d425f4eabf12f74604d02bd049b26d53385138a30c850ee852aca0e0e5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-30-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-30-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 12,
      "source_fingerprint": "4b1507af038b54f4198eb42eb45e1daadff9afc0c63dd75f9c91ed8bc70599a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-30-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-30-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 18,
      "source_fingerprint": "58b4899f9234e5729ff079e0cadd55e96d3ae04803ac01f0bec0805888967e1e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-30-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-31-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-31-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-31-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 11,
      "source_fingerprint": "e195f991209cd538e4fbb9e8f957f302785d2c3783d457251daa75c2b78c1bb2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-31-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-31-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 13,
      "source_fingerprint": "54403a122570cc51ccb5f1b6ecdc5a6b0669ac98b95494da7b42bb6f8b7f8770",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-31-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-4",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 4,
      "source_fingerprint": "e87b838d756db2415d1b0692683732336e01b34235955bbd4caf7694bc99c336",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 7,
      "source_fingerprint": "efe74fe297348ccdc2de6a8c9e303b2f1b347b995cda6b6284e157b07ce06bfd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-8",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 8,
      "source_fingerprint": "f1094e3f28d0655c8dbb5647c08690d97be811ccdd3af7a0c12fc1d8143f773a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-10",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 10,
      "source_fingerprint": "2fb9c361fb1a52c9f24a311790195e4cd52c23a57c2c3b4254976dd011f880ee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 11,
      "source_fingerprint": "d9cba939b4dd9d76cba59c94415485c1b7c369b8a00b49a315406c281d12ce1c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-20",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 20,
      "source_fingerprint": "85d2d766f64e7c69822a0f12a6077dac9a5b723f3b45b77924c3a052bd3e0a1e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-22",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 22,
      "source_fingerprint": "cefb0eff452b399b75b94f2e33a3547b3af10559c622a05167d916036ae87cdd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-24",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 24,
      "source_fingerprint": "6f477c2a133d429c934472f7bf20601fabc458c269a3558fb9e682938859d24f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-32-line-39",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 39,
      "source_fingerprint": "421cc08fd467bd7d3d6fb001a1303db9323ec2de81d14dfc94275ff65e4e131e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-32-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 5,
      "source_fingerprint": "f3fda2bd4884c94827842bc11d72ad57a394e3388e019f2070e6443ab7c573fa",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-9",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 9,
      "source_fingerprint": "cf2a9d9ecfb701bb79fb18f2c4a2b3c44cbebc7259dbfbb9bb3355005767646d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 11,
      "source_fingerprint": "fdf399e198edf51a699e896ca7f22be5bcb682ac58b839c49bf18b084a7acaf6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 12,
      "source_fingerprint": "def1707afcdacf454f7a3ca8c65871c1834d92ff08ec754ecf117c1231561d9c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 14,
      "source_fingerprint": "0803229f37ac73209f46dba139b1eee054f99d5903fb1a82e89b39054f57e98a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 16,
      "source_fingerprint": "725af0a5134ca266c47cf83cad4d1bd505329716371046e9f73233353c14df39",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 17,
      "source_fingerprint": "4546ae6e3a82c252eade46d7512d2090cbe594181a7267b025adcd0a980245ec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 18,
      "source_fingerprint": "b15cc80e3507383a7329f77a3f7d60d67cb8cde3131d063579d65eaf47721776",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-22",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 22,
      "source_fingerprint": "ae266d476db725ea70ae34e1a71f88bae61498524da272e2d71feedf0fb078bb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-23",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 23,
      "source_fingerprint": "ee65b1db53b938d83cf5a7fe54411350e74df3a32974f023b3c086aa0ba982a4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-33-line-24",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 24,
      "source_fingerprint": "1226832bec65f450a7ca1dd2e870f8b3f0859c89df32612d5a5314aa7db83c7f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-33-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-34-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 34,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-34-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-35-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 35,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-35-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-35-line-4",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 35,
      "source_line": 4,
      "source_fingerprint": "2b715300836734821901407651dc30fa092fe349dded650418516c563e7c826b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-35-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-35-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 35,
      "source_line": 5,
      "source_fingerprint": "d3a1ffb8c6309a143991678f39a1aa6eda4d97ff1ed26adfd0117b242bf262f9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-35-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-35-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 35,
      "source_line": 11,
      "source_fingerprint": "5a1ccd1c9ed9b27a59ef09211bbd3198a3c1b1d1e2fd6449295091d070932f41",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-35-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-35-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 35,
      "source_line": 13,
      "source_fingerprint": "a165dd14446fd6a38708044630b1db96fb3d1315508cdf1e8cad016699058c21",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-35-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-35-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 35,
      "source_line": 17,
      "source_fingerprint": "8ce1431f06d7593a028b84f8b3eaeed3ec67e9df753a69a08f1e3a0ef86548b1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-35-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-35-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 35,
      "source_line": 18,
      "source_fingerprint": "6e72802e739cf269ba263edcbec3de0eadcc2f74a862bf085168b85e6bdbe85b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-35-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-36-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 36,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-36-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-37-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-37-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-37-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 6,
      "source_fingerprint": "a8d834c9bf3c03146e225b7153237e0c87e7cdc8a5b8a968befb8d68600f12b2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-37-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-37-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 7,
      "source_fingerprint": "747d89dffb17208ba4d4773b41219ff2bbef8c38573d9b3e37fe80a9369365f2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-37-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-37-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 17,
      "source_fingerprint": "2b715300836734821901407651dc30fa092fe349dded650418516c563e7c826b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-37-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-37-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 18,
      "source_fingerprint": "9c96b3ecc9be786321c08a089111d4995f77134643161fcd79d52b802ee90ab8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-37-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-38-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 38,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-38-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-39-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 39,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-39-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-39-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 39,
      "source_line": 12,
      "source_fingerprint": "8ffbe10c56940a2e9883b67be01fa8d093242ba4dbde37ee81c562871bd4ef5b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-39-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-39-line-31",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 39,
      "source_line": 31,
      "source_fingerprint": "291fbe11ce82ae7e8a6f00342a629d84f9c1a63e2682a5e4853c89ffb8ef82e8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-39-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-40-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-40-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-40-line-8",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 8,
      "source_fingerprint": "e6a50b7f655157a70ba70a89b40769b614c723644cd5e758fbbb4aed94e505ce",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-40-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-40-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 13,
      "source_fingerprint": "7cc63c59561397d4dc528158041a75f1fe1a7696253dbb20909af6b516e2d626",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-40-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-41-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-41-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-41-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 16,
      "source_fingerprint": "e9894927a21faeea5a98337970007265812602399a3684d5094ac1c4626f828e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-41-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-42-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-42-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-42-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 5,
      "source_fingerprint": "04e9b52ac37447a8f21304fb05c7fab63d978a272ddf3b670d91e25e871ce5d0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-42-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-42-line-25",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 25,
      "source_fingerprint": "506c4b9298e882f10326d4c182d12b26c25b6d1c63c8e573f81c671fb498e95b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-42-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-42-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 26,
      "source_fingerprint": "6ae4f297e25383152f4d9c16fc9c133e5bb2a8dc27c7ef8c6f9b3bed0b36142f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-42-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-42-line-31",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 31,
      "source_fingerprint": "fc2460bc6b17818a4c4b6dff42ab6a1b8a30691539401338bc4ddbec0953b58c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-42-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-43-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-43-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-43-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 12,
      "source_fingerprint": "934451a42840fb8949d46343f332df0ee4a9eb901fe1094d113215a9aeee23a4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-43-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-43-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 13,
      "source_fingerprint": "a9ba3413646a041a6d77c560feca998d7ce13b2419d6f62541eafeb787fd790d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-43-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-43-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 18,
      "source_fingerprint": "294101f10b3e7cfda0463967834c0d9a962dc5497cb41612675bcc34f6f9d4e6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-43-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-43-line-20",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 20,
      "source_fingerprint": "8f986611989e00a9a350e5dc11d22aba983123f0b2e39286001199fee0095162",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-43-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-43-line-21",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 21,
      "source_fingerprint": "882b1f5200598f76cdfeac6d688b5a96d1f17e98f22bc4bb4daff3f0196226f4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-43-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-43-line-22",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 22,
      "source_fingerprint": "e84f010ddf1b1f2a82bf571bcd3314fa50e816296838183296b9671801e8b870",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-43-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-44-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 44,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-44-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-44-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 44,
      "source_line": 13,
      "source_fingerprint": "9f34086404879c93c7400b8080e34c0f6137c0b04f2c20a113fff66b0475463e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-44-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-45-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 45,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-45-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-45-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 45,
      "source_line": 6,
      "source_fingerprint": "6d77c16f1ab2d52ca1fe98b7da16a422a04bba2cabdae7e598d26e58cee0b55d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-45-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-45-line-19",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 45,
      "source_line": 19,
      "source_fingerprint": "8695f2b83b0519394ecb3974b4614f39144680961dfc5056532091abf7171f25",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-45-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-46-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-46-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-46-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 6,
      "source_fingerprint": "6b2b661ba7d34038c0defad30599f0d6369cd58fda03c0ce224a6b5b555a8775",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-46-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-46-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 27,
      "source_fingerprint": "ea4b9864c36fbf893e6184038e331c0a92126afa85c8a97b33b40f6c77f5152c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-46-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-46-line-30",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 30,
      "source_fingerprint": "51524b1791a8ec7887ebe563605a9ae296570a91ac513547640aee732d1543ba",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-46-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-46-line-31",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 31,
      "source_fingerprint": "8ceaa014d744b3ff51c6830d2170c145ddf1f8628d47aa7c21b5ec4055b88d8e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-46-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-46-line-32",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 32,
      "source_fingerprint": "8396f428c26b7368997f7425b2b40538ae0103335b9f4f9c3154221dae488a8c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-46-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-46-line-34",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 34,
      "source_fingerprint": "57a6042d2892e35179fadf77ad40643b1816e469107fb935c91521edb0079655",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-46-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-47-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-47-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-47-line-22",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 22,
      "source_fingerprint": "e8ee43c8a2e5fc314cbda8adcd607024bde2b485bb7050b37f3405cd0b45f580",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-47-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-47-line-25",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 25,
      "source_fingerprint": "7c24609a646e535a314e3ab160156fcea30f2fd8bd707ba40f702aa932f6c2ba",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-47-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-47-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 26,
      "source_fingerprint": "ea674d96a6fae1acdb5ac4b10d17d770f8096d24d76b3b1ff55138d45b74ca32",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-47-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-47-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 27,
      "source_fingerprint": "f7f52c536b0dfb5b9c4e37148bda584221026e85f3d7f67de6824435691a76c3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-47-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-47-line-29",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 29,
      "source_fingerprint": "8c2696350f34cd40fead007bac91f153e91ed596d8001680657c46e9fd2d83f5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-47-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-48-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 48,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-48-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-48-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 48,
      "source_line": 17,
      "source_fingerprint": "6f19a9eb611d92bc14c2f57e43b1fe305d1f173d50f534899770f10f981eb295",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-48-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-48-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 48,
      "source_line": 18,
      "source_fingerprint": "9cca86341f14bd4a709b2f89125c84af5c6c9993a03ed5392e1f8882e3d7fec2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-48-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-49-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-49-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-49-line-2",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 2,
      "source_fingerprint": "04289dcb750bd730ed597ffa72ecd40c35181cee9b159d7eaff164d79b30df62",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-49-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-49-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 3,
      "source_fingerprint": "13d20ed9a6afb0a15ef3afe5d0a25a74611b09502b500653dec170af228ff5db",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-49-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-49-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 6,
      "source_fingerprint": "3e1983829f0386dd9b8066ea53cc3a3d8647625062a3e4e19b837af3b56647aa",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-49-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-49-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 7,
      "source_fingerprint": "ec8e19776ddfb53fbeb031c4d41e9916ebf7f00b822064d4cdbcaafbd5a46279",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-49-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-49-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 11,
      "source_fingerprint": "3d6a4cfc098b39942c33b24f1f3e2f980e100273dd965fe7cd5883cd146d01b8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-49-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-49-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 15,
      "source_fingerprint": "b7b8ae36a45bec41f1abbf4a41fc94963e9d983a05314b749eaf79f73a5b2250",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-49-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 11,
      "source_fingerprint": "813b504eefdfc08c50440918bdf671e394803570d89aabddaeed603cfd394b91",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 26,
      "source_fingerprint": "0148bd783f60060e3c4b4e3bdc4bb2f1b563ee02fbce866ffc51b64e6a0ddb2e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 27,
      "source_fingerprint": "6856724c0c976a67fe9a1cba8943626d059bb6e00cf129a81ce2110d6478b804",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-29",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 29,
      "source_fingerprint": "783984b1d4c85a768cb2ebba8bb62d5fdcb39d622e183ac51aff054ee453052c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-30",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 30,
      "source_fingerprint": "f0ba2702bfdf59a11bc456c276d96ce053e2702e225120e95e5fa25bcb9a9765",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-34",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 34,
      "source_fingerprint": "bf5867aa7290b6b1560b294cc9c1faa78ce33e403b31511ae3a88891fe6c7483",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-35",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 35,
      "source_fingerprint": "2f2f1dc5f3e0d41034de5efd7e97bcce934ce772b415feadccc0f365a33d5edc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-36",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 36,
      "source_fingerprint": "cfcb14f18b49c8c93294558eefbc0edf4d5e5fd7c39679d75c9333bee82f3973",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-37",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 37,
      "source_fingerprint": "0e6f8bedc444031fa4ce8a0cdc79344645f36c637b225b1e2a6c0639e049d248",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-38",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 38,
      "source_fingerprint": "0de519dca5f33c46a2ebec2e10bfc136c02c137235739fed226805c080a57977",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-40",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 40,
      "source_fingerprint": "46fc651de81d737e756775773eb39d8f8037d64891adb65f90a25e250f812673",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-41",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 41,
      "source_fingerprint": "a07d94b4abf5b4a1269aae6d35080f7a8d110bb9e380c46562b4515ed053dbd5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-41"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-50-line-42",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 50,
      "source_line": 42,
      "source_fingerprint": "c4a1338c3e176a2f1b7b64252f50dda2c5b726c347c83f77fa235bf5b0b3c5d3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-50-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-2",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 2,
      "source_fingerprint": "c0e10d8682fc70a928b33bc28e5d865e69296f39b9bdc50b5560988b617f14c3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 5,
      "source_fingerprint": "c59a697e93d50d92aad4c3dbe5ce724bc3273b75c8c7e2aa7747c447dcef15f4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 7,
      "source_fingerprint": "660ea15c69894627b708e0de8372263c6c66bee770e71a8a1919d46541769fc5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-10",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 10,
      "source_fingerprint": "dd5623b093dff6f5a1b8b4330ce4201a4e3a07879803c99a60a6f7ad80db956e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 11,
      "source_fingerprint": "4e2de2a337593b87e5e59ede77dce990e5771086619ec010495d3f009e1acaa3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 14,
      "source_fingerprint": "26104af464297db1192da49561d43d7ef61aaef325f87a51331fd860af42497d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 15,
      "source_fingerprint": "2a37a14bc15f2b0f1aa68297a2c45abb2cf2b252955450333e86c7260896bfca",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 17,
      "source_fingerprint": "81601e1cf54ad6cbae0dd8e4311c248f58c5601c2da0989ed174dc201f275712",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 18,
      "source_fingerprint": "2031ad8d6547d66b6a8caf956eb48bf2afdb33a5acdb24d2ff1df7b04be726ce",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-51-line-19",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 19,
      "source_fingerprint": "1087d9710fe7a65805c4e63805d3d7bdddac14486cf0e0cfcc8f66dceab20d2f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-51-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-52-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-52-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-52-line-9",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 9,
      "source_fingerprint": "f9a0f5cdeb866f23d2991fd30aa37adb0481372931ff17a7216c8cd70414b65b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-52-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-52-line-10",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 10,
      "source_fingerprint": "49e42794b6dcc11e0067cf7272271383e3fa3094a6f706657040a7aea5703b24",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-52-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-52-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 12,
      "source_fingerprint": "e397089ee8206f7f7efd714757fd03d432a8d905c123baed1d491240398bec3b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-52-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-52-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 15,
      "source_fingerprint": "a7d9dbf869fa6780793353667f159b004f9e07a7186590eaf16b557f97561855",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-52-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-52-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 18,
      "source_fingerprint": "55d75cc46084b307fc463b834704730faeb6777f3dd9e514334e70c3e8cc8222",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-52-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-52-line-20",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 20,
      "source_fingerprint": "39dca2871cb89ff7d07e250dd65e0f1358b3f86f83fd5f88f0cbc6d4784316c3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-52-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-53-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-53-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-53-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 5,
      "source_fingerprint": "45d0d6ad03921a3ccfcaf1bfc22a818faa9cedd14e04212507350642e1662caf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-53-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-53-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 7,
      "source_fingerprint": "46a9349c749aa90ff4fd3a4d03919767f8650293b54ca8657e603808a7d71970",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-53-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-53-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 15,
      "source_fingerprint": "4b428e88c207ad589c81f29b951cf2ac1912b18a859977eeb8c2f2bcb8ba1b27",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-53-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-53-line-36",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 36,
      "source_fingerprint": "72edc9c9da896e0da62d899478ae8dbd814d62bb19d8fc0f1acc2e815c7dc08a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-53-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-54-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 54,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-54-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-54-line-24",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 54,
      "source_line": 24,
      "source_fingerprint": "dbbec332dec283e84cfff02f8f949c0d22dd3c558181d9f46dcd3db8ebbfe727",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-54-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-55-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 55,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-55-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-55-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 55,
      "source_line": 13,
      "source_fingerprint": "01484531db68ee57365910d0d23a589e04750ba6fe14e48b255b05a53c9bcdb3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-55-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-56-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-56-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-56-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 3,
      "source_fingerprint": "758ab1f6a732dd8320e6e6b1a5f956158a189bbc867819ae9386fb30566a5fe9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-56-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-56-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 26,
      "source_fingerprint": "b346191f48e9b309d96450063432c2f1ce251ed4f9cd0a5bb5fcf3410ff99244",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-56-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-56-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 27,
      "source_fingerprint": "98ce588c17dc8606734817ebcae31e4fc4846ddfb004b7cf532b038118e4e9e2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-56-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-56-line-30",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 30,
      "source_fingerprint": "40851149fe4d482826116d296ad563eae5c6e31383b6f82335e55ddb6bb98e01",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-56-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-57-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 57,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-57-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-57-line-19",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 57,
      "source_line": 19,
      "source_fingerprint": "5b6185034980f848293957ed3c069300bc43b051371ec452a02452b3beebaa97",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-57-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-58-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 58,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-58-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-58-line-8",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 58,
      "source_line": 8,
      "source_fingerprint": "147a588ad9fbecd6c73378fedc1bbf890e520a89227e42a2814b714d8ee0ee00",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-58-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-59-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 59,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-59-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-59-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 59,
      "source_line": 17,
      "source_fingerprint": "ab65dd27f9dce6f2b4a82850aa58d118f44c6bb44a2715f76bdeb0e54630198f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-59-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-59-line-34",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 59,
      "source_line": 34,
      "source_fingerprint": "fd87484e19f0fc4ac9169a62234d296f82902db7b20870c19ccaeb57ee2b2817",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-59-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-60-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 60,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-60-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-61-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-61-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-61-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 5,
      "source_fingerprint": "eacfb105150d30afd7f6bf2e26082673e5152299470d91eea88b549d1ea9e16c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-61-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-61-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 14,
      "source_fingerprint": "3c60fc31cda92d7f9f3fa8f8e4982dcfde8f6a5d805facc48e93dd4515b30d27",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-61-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-61-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 16,
      "source_fingerprint": "0786c8f2ed71712d6d13ac76b7e20571457ce829d6c0542f9b3e29c0147eb3a6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-61-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-62-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-62-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-62-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 15,
      "source_fingerprint": "c51315dd7e731159a37145a412a4dfdc8b1af3751c68a099ea9bc55420625f8a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-62-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-62-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 16,
      "source_fingerprint": "c45e12270668fea87b2eb0c6845fd4ee91841949d9eb19f5aec9e99731768812",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-62-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-62-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 17,
      "source_fingerprint": "cf8beb94948d819a42f883f1ce7d90d42160cf92e317b93fb8651c602842c145",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-62-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-62-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 18,
      "source_fingerprint": "48ce840b230aea056f784eadb7d61a84984de2bd1b147808c81a7862d8f3f364",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-62-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-62-line-20",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 20,
      "source_fingerprint": "2f70e11cd3193f5dd6946eaa52469f650476a3d8490e2c6db1eded1ee8c0ad32",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-62-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-62-line-45",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 45,
      "source_fingerprint": "06fa03f133c8132ff8376c1e7a3a697baa9333cca096aea5e2f9a326c259e564",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-62-line-45"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-63-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-63-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-63-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 3,
      "source_fingerprint": "7f329a38af15133d5e27b0e1b966c83dbbfcd8d4b972ba430c2edc5ed919099b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-63-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-63-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 6,
      "source_fingerprint": "d96ffd8c218a45cb6e736120d72f40d95c3f84120fdb48287939154851af6b2b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-63-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-63-line-8",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 8,
      "source_fingerprint": "d316aed5cafb88541717cdc25fbdbf4233cfa0088f9c6e68dbb0a45344c60160",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-63-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-63-line-10",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 10,
      "source_fingerprint": "248b2e469f16eb4b50954c59c017a3b15320f83e088058715b6fe48aa520290a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-63-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-63-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 11,
      "source_fingerprint": "3f388a5d50dbf56d4533c745bed5323ce759aeae6b4cc72de5744fc160283c77",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-63-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-63-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 12,
      "source_fingerprint": "2944972665a50123ba658c78ebdce1ea448fc70da7061b238327e4cca86d7b77",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-63-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 12,
      "source_fingerprint": "27c12404f932d1111709c03821ca23e7d071d944065eaed9bb9f770dcb100965",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-15",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 15,
      "source_fingerprint": "d4da8255c444eac06e7af4f93cff475defd2f3c020c695e8ac90f74f51566e9f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 16,
      "source_fingerprint": "aeec10abec796daadd61de6268aebc40a92dbade8d7e4b367e476ce419bf3e86",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-22",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 22,
      "source_fingerprint": "5abf8a75828b7ba4cc56e45d1bcdc9d5f5be7a70a1a4b8f8f7d6edb6985172e2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-23",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 23,
      "source_fingerprint": "c7b5b6b8f870e20efbc142c8bf5ee48ee2a16fcb88d8c58ef9891c7411faf91f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-25",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 25,
      "source_fingerprint": "44e4d25da71a19887e9a043a01952e54cf69e2d8261b69f70607fe4d95c34b04",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-26",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 26,
      "source_fingerprint": "649da971f3e5b008030ee93bafe56485da0505627fc2c5ad858783919278c829",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-31",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 31,
      "source_fingerprint": "bee9d0929c9f5533e766425fbc6e23ce298f1269628774688779c3264b4458ae",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-36",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 36,
      "source_fingerprint": "c0a829e5e20136a9746cfe4b6635799f8c65af154b54f5f70dff59bee32ba70b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-38",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 38,
      "source_fingerprint": "d39636bdd72e977c9e026cc8549c2fe1290fac5ce85f66dd19a1ac4767a15137",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-40",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 40,
      "source_fingerprint": "08f355bf371c80762ea9d70bbd8c328645b38c2954628ed1f7811b655fd68121",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-42",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 42,
      "source_fingerprint": "5e540ad5c9f63a339980205ea7eadb59499d09992c0ff40c766eea4f0f2a32f4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-64-line-43",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 43,
      "source_fingerprint": "6925f46d646c35e766c74f49335e8af65148cedd4b5753642c88e65cdb7a342c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-64-line-43"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-2",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 2,
      "source_fingerprint": "7405a17521345a610dc9d967c669578a1b5228a3065bae39a5119f2f9d8dee6d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 3,
      "source_fingerprint": "7a70e76f387989a607d73781143c60347698bf3a8c6481c3f22e9b37d42d5130",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-6",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 6,
      "source_fingerprint": "53cb9bf987eb024cc33948d6d8ed6f8a4196e4695522d575d5edab0ccfc22524",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-8",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 8,
      "source_fingerprint": "02b8a07052431fb1ec66eb457e8359f0c7c7508777f57aa528e76a35b73aec2f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 11,
      "source_fingerprint": "3e7dcf5f7f9d568f03bae954da859ea964945ae7f4d2b21237c60cfb882afbe9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 13,
      "source_fingerprint": "d9723d9a31245f0badf22988ed458f343c5540b9ab5e68dbfb3f5e5238785266",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 14,
      "source_fingerprint": "3c698c33dba36adaf079f800bde4243cd5af8295e174ac04f49ffe333ee066e5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-16",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 16,
      "source_fingerprint": "d2fa0951a3659c2fe3f238d32e313423df7d6bf54d33cd0b2fe74bcc5faa0a04",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 18,
      "source_fingerprint": "88955de843c8ca7df167b899b0160e4f5731afe800f4089bd34aa89290cb0e2c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-20",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 20,
      "source_fingerprint": "7c13214a42ab027d0837eba8b5ba84fb7855cfe8b4579968b34391724845fd3f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-65-line-23",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 23,
      "source_fingerprint": "1e360bc7df9cd10ff2942cff2524ae740d9ac97959b3a6bd677186891868af8c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-65-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-66-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 66,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-66-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-66-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 66,
      "source_line": 5,
      "source_fingerprint": "2a6a7e540656ee1a7c510ffab8901e78bbd9447381e515ebf954561cca13c568",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-66-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-66-line-7",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 66,
      "source_line": 7,
      "source_fingerprint": "ec6ef5cf8a85724599d33eab6dfb97783f5f8b7ce0da2723dc063e050ee204cb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-66-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-66-line-13",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 66,
      "source_line": 13,
      "source_fingerprint": "f7d538a01b2e8a8b77d7e500a5b5e3ffd6507eb19d7132acc7f319b33e25a5f6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-66-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-67-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 67,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-67-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-67-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 67,
      "source_line": 11,
      "source_fingerprint": "fcc2ca2804057e0e07ad3a7cf5f2304998052ff242c0382368d805ac22501bb9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-67-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-67-line-22",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 67,
      "source_line": 22,
      "source_fingerprint": "fecf802068620ea981c19a0f635a1b237770e2a81eb3cfabb4b67b0ba20d3353",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-67-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 5,
      "source_fingerprint": "a7026d53f7c8754bce46e30e1afa66d395bc87a23cbb9d490048ce779a7ed829",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-11",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 11,
      "source_fingerprint": "e190bb7b5cff02abd3f029fe0abc7a00c87f981c976a776522bf4c86fe74f3e8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 14,
      "source_fingerprint": "da0f03510077ed38ddea826dbea58d655872c5d24da068c1ccfc32af7ab9791c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 17,
      "source_fingerprint": "8767227728dfafd9f56b22eca70946d80e11ec23e34ca504b79c285925b12bb0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-18",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 18,
      "source_fingerprint": "d1e8ca94acbfde3feae60ff69385742d8e24f74aeddf947efa618bd672174342",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-31",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 31,
      "source_fingerprint": "f3c021e9fab5110db94a1a7fd5c6916c9b71ccb293247b565089a72a16150a41",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-33",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 33,
      "source_fingerprint": "9d699e6c116fcf306f5e02d551e6c40e9785445695d3733d2fa67e62b1567f0b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-35",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 35,
      "source_fingerprint": "80e1338344c892e6760599f6fb72fa9b12e0564f9bf5d28c82a7d83e4dc16811",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should/should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-36",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 36,
      "source_fingerprint": "94a0e18659e56d5532f49a6f49f009a9bccac2082b2a8c55f473170c140edfb0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-68-line-39",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 68,
      "source_line": 39,
      "source_fingerprint": "f02f562008e709ac450dc12e22427c97849e1d1ed756195a5f8acf8bd0c3e306",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-68-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-69-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 69,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-69-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-69-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 69,
      "source_line": 3,
      "source_fingerprint": "42e0c1af5f276b58b1afd20ba63a5c4f782e5ecf644468cf1f5e56c583c814a6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-69-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-70-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 70,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-70-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-70-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 70,
      "source_line": 14,
      "source_fingerprint": "ecd84871aeffe2f02eea51098a9e339256710a57d4df4bad31b771941e275f15",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-70-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-70-line-27",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 70,
      "source_line": 27,
      "source_fingerprint": "7ea63271e00c279e06c9dd68462068127aa282db0753d2c43cc885d139b3810b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-70-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-71-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 71,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-71-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-72-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 72,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-72-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-73-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-73-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-101-UM-v1-2-page-73-line-3",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 3,
      "source_fingerprint": "8890aafd9d0465d7785b78ca0f60ef95a6541224bf1c98368540c6fe24af735b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-73-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-73-line-5",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 5,
      "source_fingerprint": "3eca7b8f9fbd9b5a21bc9b231ddad844d381db5553026b218de7520b3f571179",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-73-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-73-line-12",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 12,
      "source_fingerprint": "19a5d02868fb7fed6d691cad83cd9134a7db5eb7a7bba099395a8fe220eb4c04",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-73-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-73-line-14",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 14,
      "source_fingerprint": "5ac67da0d9beb5dc2d723737ad6abe9d3d47691f057b53524750232f896d03a0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-73-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-73-line-17",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 17,
      "source_fingerprint": "2ee0f70a1807c790d9313826689940e257255cc11d40846007340185ffebe678",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-73-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-101-UM-v1-2-page-74-line-1",
      "document": "M2-101-UM",
      "version": "1.2",
      "page": 74,
      "source_line": 1,
      "source_fingerprint": "447f6549d281b857aa61c0d6ab5427f4cdbbb7bc7718e3f7e320bc69a3b1f863",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-101-UM-v1-2-page-74-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-1-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 1,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-1-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-1-line-13",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 1,
      "source_line": 13,
      "source_fingerprint": "a96859ebec1d7e537b236c428087e2baf8355b8ada39c07bfd6e1a09c57aec3c",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-1-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-2-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 2,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-2-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-2-line-16",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 2,
      "source_line": 16,
      "source_fingerprint": "22dd6818cbb10c0abe70ae063c7a8df6ea092a521a6dc8a3636f102227f5933d",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-2-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-3-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 3,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-3-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-4-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 4,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-4-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-5-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 5,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-5-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-6-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 6,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-6-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-7-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 7,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-7-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-7-line-4",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 7,
      "source_line": 4,
      "source_fingerprint": "61d93e54c06b6f66e4b14ca952a443668721255a1b17893c4ba1d34e98d9decf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-7-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-7-line-12",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 7,
      "source_line": 12,
      "source_fingerprint": "3b863732ab4846dada3111989b9176759d5f93514780d9b97979272062e07348",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-7-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-7-line-14",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 7,
      "source_line": 14,
      "source_fingerprint": "dd520429c1c85593f0af4091237e3c06339cb90be3ad153c3eb7d363544a1e45",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-7-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-7-line-15",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 7,
      "source_line": 15,
      "source_fingerprint": "0036b0c466764bd249e431b8355ab08328aecebe7a45cc04b933639d647790e7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-7-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-7-line-28",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 7,
      "source_line": 28,
      "source_fingerprint": "508487520509b6f4b96afe4a4b1d08bc8d0d651d48d20e499299e496e57dd299",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-7-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-7-line-29",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 7,
      "source_line": 29,
      "source_fingerprint": "cabb0b3443986dea6369f9e27af2d34eecb7e5d03d21601489be5d3928b2165c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-7-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-8-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 8,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-8-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-9-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 9,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-9-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-9-line-11",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 9,
      "source_line": 11,
      "source_fingerprint": "dd6a1c495bd6c67ef7bd5ddd68f98161c4540a1fff143dc05858748dd33b8c9b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-9-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-9-line-12",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 9,
      "source_line": 12,
      "source_fingerprint": "e3fe968fbd2e0b0466501ce855e6e38f40d4977b22428cdc9a9e5c0d7c9b2d73",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-9-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-9-line-13",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 9,
      "source_line": 13,
      "source_fingerprint": "1407b569ed8252e7c2db425f0b7b85f8a0aee3702462d2373eaabf447ff8937b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-9-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-10-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 10,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-10-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-10-line-13",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 10,
      "source_line": 13,
      "source_fingerprint": "8d566c25e315ad5f3db92ebf30e9ffb24187b50a3f2b92beb77182a81c740e5a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-10-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-10-line-17",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 10,
      "source_line": 17,
      "source_fingerprint": "7a4751568dc6e394bb29a3c21c936ae885358b2df025388cebc48816c6cb6749",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-10-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-10-line-35",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 10,
      "source_line": 35,
      "source_fingerprint": "644f1fe40e421a16866b8a34ecc501f51f2c1c06612558a00747121de2e9de6d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-10-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-10-line-36",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 10,
      "source_line": 36,
      "source_fingerprint": "5f796e4671b3217ebf844ff289de382e39e3d338e885cd0489b24665c4e7fb5b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-10-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-10-line-42",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 10,
      "source_line": 42,
      "source_fingerprint": "5e50e83293982397a8fc818f6debb79e6111d3eed993a72b260c79b77b68a3cc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-10-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-5",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 5,
      "source_fingerprint": "3670794f492fd13b9988109af0d531edda73333fe8c36f225778e196cfd20b03",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-6",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 6,
      "source_fingerprint": "31ea276a954c6959c2a8a20abd309304c94df27c16ad51a81c469fc6e6488d89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-11",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 11,
      "source_fingerprint": "e1073c104fd16c10ff9d4f34674c0abf991a8ba75ce46873036eb2c7dae54541",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-14",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 14,
      "source_fingerprint": "21204fb099ac5229c253eecab200b083644a178713c8ec4f2465bca44dbd7bee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-15",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 15,
      "source_fingerprint": "47f8fdd730d0af6c55bc8d7931ae2c5ae23fbac9771dc1514e3f70a2a4133197",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-18",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 18,
      "source_fingerprint": "dbef26f51076ade26e45f524d20f9810aa48c9c6dee2cb17d027ead4e236bba3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-19",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 19,
      "source_fingerprint": "0ce67e2974ac5e9be832e56a2466e550320ebd8a3fcc72b856197573b080fc4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-26",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 26,
      "source_fingerprint": "2e8eaa995691d6232411a31b62270be36ad3b6c6c2ca77cbfe233accbb34b1a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-27",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 27,
      "source_fingerprint": "4243cc224cdaa2ef37316cca29466b7716054c00093fdb40fe05d27d7fbbbeb1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-30",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 30,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-36",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 36,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-40",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 40,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-11-line-44",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 11,
      "source_line": 44,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-11-line-44"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-12-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 12,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-12-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-12-line-13",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 12,
      "source_line": 13,
      "source_fingerprint": "fa95b9335efc739491b2434698b9e74c571716c7724b6ea447dda90e4ad8dfe0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-12-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-12-line-36",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 12,
      "source_line": 36,
      "source_fingerprint": "a8deb6e06e173985e36982795b5e0cba5b800f997468f80a1dfa19ab9ed389ad",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-12-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-13-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 13,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-13-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-13-line-7",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 13,
      "source_line": 7,
      "source_fingerprint": "c878598fdc6f5e825845430fa8b0ee0b49c94e571df4db13ea225e7fec5f3c0f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-13-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-13-line-25",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 13,
      "source_line": 25,
      "source_fingerprint": "d948327118467ef4e48ca7c52dc3486c9dfdca6f050047f96a29c096f2d91bd9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-13-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-14-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 14,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-14-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-14-line-18",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 14,
      "source_line": 18,
      "source_fingerprint": "0b3932983c6540799b31d2727bd8a3ddf34e6e42d3f260fd666377062e4e42f7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-14-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-14-line-34",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 14,
      "source_line": 34,
      "source_fingerprint": "37a0755a2c32294094ae010f060832b537b7891ec8855cb2061857b44b462aa1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-14-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-14-line-37",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 14,
      "source_line": 37,
      "source_fingerprint": "9feb0e612cc9870100be6e76e3d67f3e2d1e6b91c8a1703492129b46f59986d4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-14-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-14-line-38",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 14,
      "source_line": 38,
      "source_fingerprint": "1afe1d66b2481909e11c8afcfe7620536afbc06d30462d9bd91ba2e0df5e5fa6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-14-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-14-line-40",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 14,
      "source_line": 40,
      "source_fingerprint": "910a7e9e98cc13ced3bd90c2576c8ae593206577403a9db51a0e04eb5080477c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-14-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-15-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 15,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-15-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-15-line-7",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 15,
      "source_line": 7,
      "source_fingerprint": "d81e29adc33a5fc931f619df9b35105e7c06c9261a542bcee79df2733942d475",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-15-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-15-line-11",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 15,
      "source_line": 11,
      "source_fingerprint": "a28aa9e78777d54e8283d8b35dfdcff5cd89e6e0f2d0fc772020dbd575b97329",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-15-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-15-line-13",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 15,
      "source_line": 13,
      "source_fingerprint": "3dc1cf4e7c6390f488a06264fe329559da6ea7de299148f370d8a7c20c243d24",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-15-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-15-line-17",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 15,
      "source_line": 17,
      "source_fingerprint": "0af9dc426308f86a4fe32b263136a807c304677c31615633d92627440a8c8752",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-15-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-15-line-21",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 15,
      "source_line": 21,
      "source_fingerprint": "efc6a06f0b0f465b892ee684410915e51e28ef87c4119d5bc6736bf920f83602",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-15-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-15-line-24",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 15,
      "source_line": 24,
      "source_fingerprint": "0b5fb408f5a37dd2f8b475df4bea7601e0e417b280fe0c2182ba415e473a3afd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-15-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-4",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 4,
      "source_fingerprint": "0a012ac026ea83bf669339c0586708748dbe9066a7d26c121c19bbdf1b052b56",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-5",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 5,
      "source_fingerprint": "b6adb1cb2a587276c190cf4ffbac4aa66dc0d28a41055b081bc1b6946ee62d51",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-16",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 16,
      "source_fingerprint": "c8e970dfcef864cd74f0e426bb8ecbf90f5946bd957a2da3a772b62691ffbf69",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-28",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 28,
      "source_fingerprint": "c6f08ab8edf784b4c9f062393fa45e749b5ccb851aa89d6364e92c4a4587bfba",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-30",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 30,
      "source_fingerprint": "cf8d4bf5d525e88923f26173d1f0ada7d3bdba7d0280d03d812bb932f458469a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-34",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 34,
      "source_fingerprint": "50e45240ddc6f30245af4a02b6120163f2b77ffee95270793add90afeb304fc2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-36",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 36,
      "source_fingerprint": "8e4c72e550b9ab9c0d0bdf081bb2ee68c1971df80d7d98e743c54bb2c132206e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-16-line-43",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 16,
      "source_line": 43,
      "source_fingerprint": "59933364230529d3022b540b2c6cfc8a98368457ce180a2660946fd107948432",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-16-line-43"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-5",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 5,
      "source_fingerprint": "9f394808bafea60ca1a6630639cdfb069ac4b94cc5458cc34929fe32fd805686",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-6",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 6,
      "source_fingerprint": "7698d0158d135fadbbcc7f9b3474ba780267c39b502ab7ad6463f9b735ff9014",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-14",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 14,
      "source_fingerprint": "5a9b2d1eac3b3959c45fabc59d173307e037b4e08dead982b67ced62fafa1cb2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-16",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 16,
      "source_fingerprint": "46157c3644ef168923bc9caf5974df16f43f8ba6cacc274dd86bf33c86bdfddb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-21",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 21,
      "source_fingerprint": "04e9b52ac37447a8f21304fb05c7fab63d978a272ddf3b670d91e25e871ce5d0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-23",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 23,
      "source_fingerprint": "0cec5933dc2180abb939d9ae6245162fb63aca4f17e5be63898a1f5bcf69c78f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-24",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 24,
      "source_fingerprint": "6ae4f297e25383152f4d9c16fc9c133e5bb2a8dc27c7ef8c6f9b3bed0b36142f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-29",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 29,
      "source_fingerprint": "fc2460bc6b17818a4c4b6dff42ab6a1b8a30691539401338bc4ddbec0953b58c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-31",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 31,
      "source_fingerprint": "76246251084a0f15b41fb7991524a1428a8cc99ad3cf1045966aa85c20fce2f7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-17-line-32",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 17,
      "source_line": 32,
      "source_fingerprint": "a9ba3413646a041a6d77c560feca998d7ce13b2419d6f62541eafeb787fd790d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-17-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-8",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 8,
      "source_fingerprint": "2ddcccacbe3b1edc23b6064dfe23191729c643e302595451f37b9d2c8d72c0d1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-10",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 10,
      "source_fingerprint": "7e65ef2955da5a74737c10135b995dc5d1f5d162fd17f286af2a3dcfd3d0bf40",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-12",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 12,
      "source_fingerprint": "e4dab30a58867ba0998135a733e101ad6ddf17b8a1963375781c9a7fca908b4b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-15",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 15,
      "source_fingerprint": "8f986611989e00a9a350e5dc11d22aba983123f0b2e39286001199fee0095162",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-17",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 17,
      "source_fingerprint": "059ec3f44c9431132511022a25e619c4ab8b0b600cd5473f67d18ee314f89237",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-20",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 20,
      "source_fingerprint": "3ae1aedce5bd77c5ae84fd02bb370f9afa32dc063737c5e956d5934d71c269d7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-22",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 22,
      "source_fingerprint": "e6d79b2494cfff37ec8c9a7af891c8e3440c16b6a5df5d62520a722ed811ec44",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-27",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 27,
      "source_fingerprint": "7985f2c0c438bce447b20e2937652b5aea21c43827144a28ff078cb360b1be17",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-32",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 32,
      "source_fingerprint": "922ee397bee60d5381b9ef7b2c27e2210998688ecf3e691e596f0f6d39cd643c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-33",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 33,
      "source_fingerprint": "d9d40fa8680cc50d77f93e367ccac77d21240ac6d6840caa5b5348cd411f52f8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-34",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 34,
      "source_fingerprint": "1e07213f56652e44b978b26e3921f491d110e1df97d012b38962838430f31791",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-18-line-37",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 18,
      "source_line": 37,
      "source_fingerprint": "be3de39379660c1a8049f70dd73b5192a90b509ae61bab070c890ec144bd086d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-18-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-19-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 19,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-19-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-19-line-3",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 19,
      "source_line": 3,
      "source_fingerprint": "d1299eb55143d948f159de5cfea5091d520a7b53c913b14c69adfc280016b773",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-19-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-19-line-5",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 19,
      "source_line": 5,
      "source_fingerprint": "788c02f65f15283a7beefbff909bb354c33cf514eaba7590f6b8fcb18983192f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-19-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-19-line-22",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 19,
      "source_line": 22,
      "source_fingerprint": "1093de1af9b0bc0ee3ac1c183429851516fdfd69d1f65ff66c64e968399b308e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-19-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-20-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 20,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-20-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-21-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 21,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-21-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-21-line-10",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 21,
      "source_line": 10,
      "source_fingerprint": "f287a9823e85ce595f715e973fef7e5928aad81cf784e279edd59f08d0f12001",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-21-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-21-line-32",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 21,
      "source_line": 32,
      "source_fingerprint": "b82a93e8a04a2fe7421c5668eddafa9cc55c6e881df69480e86a96371a8d9900",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-21-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-21-line-33",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 21,
      "source_line": 33,
      "source_fingerprint": "7abbd7d723b5af9c062d3f71907f4198c1e14b5dc577ea3495af028c7fa8594b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-21-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-21-line-34",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 21,
      "source_line": 34,
      "source_fingerprint": "9c844797dacd8edf58581ac211220cf075bc5a557c07613efa30ee25d7305104",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-21-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-2",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 2,
      "source_fingerprint": "2ec189680b3e91038b7e0e484c92a237efb4ddc99fd487dc85e15262f82d300f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-6",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 6,
      "source_fingerprint": "851fdb90bb9040dd28a6d377dbc91b342c62afff2be4d33fbdc31973c858957c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-7",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 7,
      "source_fingerprint": "33f69cff82e676619e501eb173e21e7ce751aa8fdc403affd80f279317ff73ee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-10",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 10,
      "source_fingerprint": "4058dfecfad73575a527f310d11be9aaa34c0b92f23c3746e64b81fcd21d9ece",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-11",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 11,
      "source_fingerprint": "e060486071c2d93bdca7819ffffea3d3e0159a1246cff0ce8fa492a0e758f505",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-12",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 12,
      "source_fingerprint": "1a469bf71eaa4f85be42170f8b5157d9d6f77ce53356f7c1a8c3effaf0e85f04",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-13",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 13,
      "source_fingerprint": "e6b9a77839a1183848f2f275c7bce4bf3253b0ef44e5bf5cac4a796bb33ab4a8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-15",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 15,
      "source_fingerprint": "f0c6d539f77b102c89385fc80e5943df026e7b01cf15c6260ab554cbbc6e03f5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-19",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 19,
      "source_fingerprint": "29c33320f428aab2f9485a31ef8934cb893e2cd27dfbef66c6fc828dd6d6b139",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-20",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 20,
      "source_fingerprint": "d65df0570cce777b2069b47722102ef019fdd76639f4ce4c4b6be30830d401f1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-24",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 24,
      "source_fingerprint": "b96ab74a4ebbc640988cea95f47b1c2335900bbd128cc9551659e2ec891535d0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-30",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 30,
      "source_fingerprint": "0dc5a7d6cefb97bb8b7358360a9527c7453dc3018332ad999736ff983317de9a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-31",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 31,
      "source_fingerprint": "d52f1e28f1ca6e7ee07651cbd912f836b19744d54691c8cbe41d81efa271d50e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-34",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 34,
      "source_fingerprint": "4c43a0a223c264c056aa8f77bf5a7a4878bf6b2242ba0a60b44d6603155fae78",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-40",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 40,
      "source_fingerprint": "b9a4fccbdc8b3a2c56d49a740cf636bf1bc92b0cdc9b0d1065cc3c444cafcbbf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-22-line-42",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 22,
      "source_line": 42,
      "source_fingerprint": "486939edaf39ac33be3db8402bf53cb9b2c65beb82734d7c4ff83577905330be",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-22-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-18",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 18,
      "source_fingerprint": "cf2d18ba705b585d0931980d3f6ad1c21314069fad35ad1063af04fdb6e3aab5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-20",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 20,
      "source_fingerprint": "e2665d7793fd66b78542071ba91095ec5ab0b7528309fcf7edd7d7325522c7c4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-27",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 27,
      "source_fingerprint": "a72c99dfc01eafb21ee3e2c6ed4cfc1609e14df862b5a1e3126da34984158d32",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should/should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-29",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 29,
      "source_fingerprint": "e4826b7b6d062c1a20822dab29baeed95b7045d56074f2cb79c6d95cab6977c0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-31",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 31,
      "source_fingerprint": "09bcb9001fe6cee97a88477fa23eeebe8dd983a59c7345c15ccb7910e53e99f1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-34",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 34,
      "source_fingerprint": "fd080c478ba7160b61d697c8a34ebeb87bdb702ee07a142a2913d71d7df81f2f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-35",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 35,
      "source_fingerprint": "533d9b260805b71271e556354bec51b647315e9c2af3e908b58fd77969bf223e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-37",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 37,
      "source_fingerprint": "eb8520f8e1f1559f3f768bfd82f030919f93efd59c84618f9bc6f895ae0ec3c3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-23-line-38",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 23,
      "source_line": 38,
      "source_fingerprint": "74bbb7a3e90d850d3686ce7eeefa723dd9a9df52be9af0bb54beda4d20517b9e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-23-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-4",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 4,
      "source_fingerprint": "b4d0ec50851718870dfd2ec5b06d9f0af29cbd7fad80e0a3540d613f13a52d89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-5",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 5,
      "source_fingerprint": "6a4afd302d923be9dd6bf649e19a29437f3e67ae56d8baab37aa2fd3ff93909e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-12",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 12,
      "source_fingerprint": "fa33e19ca973c7b4e291af220d400fb66a269a98876e34c72409137444c2fbaf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-14",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 14,
      "source_fingerprint": "3ed730d07dedeb5b083a1b26f0f8795d4a9ea75fe2144f9e4f1f62afca972fc9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-15",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 15,
      "source_fingerprint": "8ca96d5af556f2dde5601aa696f85beed6f4db765dae825a3b7a1b41474cef02",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-18",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 18,
      "source_fingerprint": "351af21c1b9dc298bca6b13cabe96a1201fdaa08ecab5c23235f2dc464f25cfb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-20",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 20,
      "source_fingerprint": "10b2e357222073f69547a1a5dbbf4d313da70e126c2d46af0243165cb0381bf8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-21",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 21,
      "source_fingerprint": "6e222a792fcbe9ca4f4ba271e69b68d7b8c877c4bdf723627dd2cb24c667aa3c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-22",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 22,
      "source_fingerprint": "821dfef357f915717f87c8d6f978ed90e7fe778b8bd13edad25b865a4b6bd65f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-28",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 28,
      "source_fingerprint": "fcbac1e9fbc9e3a9a3ce7190d2d929e674e67c7f2f2e05ce0b9d028d50d90ede",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-31",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 31,
      "source_fingerprint": "ea025c9959e57a58820a504f29f1c95e30445515de559f23a03d70a6fd6ae4b3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-24-line-36",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 24,
      "source_line": 36,
      "source_fingerprint": "b9dc7576cd0524cbb65269c3704ec70405403b43bf36c3b2cce60b7a5840658d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-24-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-13",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 13,
      "source_fingerprint": "319a0148e7893b18cd1856e4a846d19b684fb9b8b6d3286c19297e7a1525a261",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-17",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 17,
      "source_fingerprint": "ff3c8f072f697beb3ca10c452fbb33656bc01f3bf0f80d703612f790948e5905",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-19",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 19,
      "source_fingerprint": "c7315813b7fe9d9d5f2e8472f83b514a8941591d53a5c709b1c18e687d9624d8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-21",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 21,
      "source_fingerprint": "16e1f816a202c761377162e5210697c777d6259143093489d43947ffd89fb79a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-24",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 24,
      "source_fingerprint": "a704b06103f51867a3e441710be74b21839b0573161fd3fd572b13c22e71e5b0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-25",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 25,
      "source_fingerprint": "72faf57e0015097434d0547977e790e0b42545ebb4244697be3c9d3538223eec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-26",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 26,
      "source_fingerprint": "c1508099451db1f19fb41a6b43aa6f204d74878946d72f85b9674f256ac15e12",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-28",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 28,
      "source_fingerprint": "a72187d862e070c69d70da0d07ba8de9acefe72002b8620bf19d6fec88473e76",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-32",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 32,
      "source_fingerprint": "c9f7b97e6c8026b1d01878a68aadfb155f18c492b9b5007dd1bedfa4a611ad84",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-35",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 35,
      "source_fingerprint": "40423af41c753bbacaea5804799bbb90b28cf9fe448787011f04d8dbc0cdb5b1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-38",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 38,
      "source_fingerprint": "750479bfd028920a09ad4e7027bc0d975114d4eb3c8c706adf3405023706e600",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-25-line-40",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 25,
      "source_line": 40,
      "source_fingerprint": "6747b33c656abdcfd75d837c7f74401b78761b85818b2d270588a8e2c30d8cce",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-25-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-3",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 3,
      "source_fingerprint": "5ca3d07c54d9ced7ea4caaf974a09b4766c946938f7dff0d4014ffb7aba5a47d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-4",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 4,
      "source_fingerprint": "8354018ae0b4f19d665fd0710025adc2ade3a4e86261b16e0eef62a581b29549",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-5",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 5,
      "source_fingerprint": "f5aecdbbd5517213e2325b9842a86bc6b09f34ddb72051f6430b717ab45b0374",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-6",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 6,
      "source_fingerprint": "9c7f7bb5b5697338ca65db69a2f947ee92721295f9cfda1d91453a162b3862c1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-12",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 12,
      "source_fingerprint": "03670169b96b581074a3c7412aeb9217c425201b9a9d0c6da9eb2b369c70e9cb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-14",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 14,
      "source_fingerprint": "8b04ef5b556f317273c8839648c12bde82e00adfb3af84716e4677ebd041f318",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-18",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 18,
      "source_fingerprint": "57d45e2035f6ecdf446a805b2eabf6bec19cf295f8419251e7487a3de400b935",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-21",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 21,
      "source_fingerprint": "73807a684ed4b1e1714243dc6ceaf7f9c4543cbe50874c7d96894558f85fca01",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-26-line-22",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 26,
      "source_line": 22,
      "source_fingerprint": "5815cc6266cf52e28b7911d443d219202bc511fe1166cba6aaa029364ba195f3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-26-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-27-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 27,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-27-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-27-line-21",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 27,
      "source_line": 21,
      "source_fingerprint": "ed1b82944dc21d98ba45695359b4047dd16c2602e4fc30f8a6f01c8e9a8e98cc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-27-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-27-line-22",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 27,
      "source_line": 22,
      "source_fingerprint": "a00a0eae200740489661a33ad86ae8459b57c700ceef2c932aa27e1384b24b0a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-27-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-27-line-24",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 27,
      "source_line": 24,
      "source_fingerprint": "8197bba044fb42cf0bf0328755be82af90f08ad591ba1434692832ebce343015",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-27-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-27-line-28",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 27,
      "source_line": 28,
      "source_fingerprint": "e313f703a2c8dfb93b786e153a90786add33762d4c886b21b1347e7d04bb89b0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-27-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-27-line-30",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 27,
      "source_line": 30,
      "source_fingerprint": "42f40f457212e1de890f42f54ace05f5d71c0ddd8e629135810c58b9216d61f8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-27-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-28-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 28,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-28-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-28-line-4",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 28,
      "source_line": 4,
      "source_fingerprint": "7845b96e81b94b3bc474297f4f7e13eb2e98c20875192866955bd2572b9294f2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-28-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-28-line-5",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 28,
      "source_line": 5,
      "source_fingerprint": "d1f683a8b3f570f70a5672d793d8deae00e73fd63cedcc4e9bfb492e33f438e5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-28-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-102-U-v1-1-page-29-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 29,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-29-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-102-U-v1-1-page-30-line-1",
      "document": "M2-102-U",
      "version": "1.1",
      "page": 30,
      "source_line": 1,
      "source_fingerprint": "d317b2ccc75b41f2f31c2a63072f1ce31e5ee3f21ccd625da409015c81f08c90",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-102-U-v1-1-page-30-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-103-UM-v1-2-page-2-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 2,
      "source_line": 16,
      "source_fingerprint": "22dd6818cbb10c0abe70ae063c7a8df6ea092a521a6dc8a3636f102227f5933d",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-2-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-103-UM-v1-2-page-10-line-38",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 10,
      "source_line": 38,
      "source_fingerprint": "dd6a1c495bd6c67ef7bd5ddd68f98161c4540a1fff143dc05858748dd33b8c9b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-10-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-10-line-39",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 10,
      "source_line": 39,
      "source_fingerprint": "e3fe968fbd2e0b0466501ce855e6e38f40d4977b22428cdc9a9e5c0d7c9b2d73",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-10-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-10-line-40",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 10,
      "source_line": 40,
      "source_fingerprint": "1407b569ed8252e7c2db425f0b7b85f8a0aee3702462d2373eaabf447ff8937b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-10-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-11-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 3,
      "source_fingerprint": "8028e04bc24ce45ba2d1a7c07d68fb9b8143c1ca3aef617609ea397b0601bf4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-11-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-11-line-38",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 38,
      "source_fingerprint": "a903c5a6e27c1556f149783bda161c00504ddc68d75622fdc251c136694d90c6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-11-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-11-line-41",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 41,
      "source_fingerprint": "8d566c25e315ad5f3db92ebf30e9ffb24187b50a3f2b92beb77182a81c740e5a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-11-line-41"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-11-line-45",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 11,
      "source_line": 45,
      "source_fingerprint": "547224f7d7a0736eb76dc0bc02d0c246770ae98118df94e83da7081b687a6f8a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-11-line-45"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-12-line-18",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 12,
      "source_line": 18,
      "source_fingerprint": "138b8922160bce4cfa78312ad5220a9db1bb2fd68042913887e3c2729f0b6630",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-12-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-12-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 12,
      "source_line": 24,
      "source_fingerprint": "644f1fe40e421a16866b8a34ecc501f51f2c1c06612558a00747121de2e9de6d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-12-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-12-line-25",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 12,
      "source_line": 25,
      "source_fingerprint": "5f796e4671b3217ebf844ff289de382e39e3d338e885cd0489b24665c4e7fb5b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-12-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-12-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 12,
      "source_line": 32,
      "source_fingerprint": "5e50e83293982397a8fc818f6debb79e6111d3eed993a72b260c79b77b68a3cc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-12-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 3,
      "source_fingerprint": "3670794f492fd13b9988109af0d531edda73333fe8c36f225778e196cfd20b03",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 4,
      "source_fingerprint": "31ea276a954c6959c2a8a20abd309304c94df27c16ad51a81c469fc6e6488d89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 9,
      "source_fingerprint": "e1073c104fd16c10ff9d4f34674c0abf991a8ba75ce46873036eb2c7dae54541",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 12,
      "source_fingerprint": "21204fb099ac5229c253eecab200b083644a178713c8ec4f2465bca44dbd7bee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 13,
      "source_fingerprint": "47f8fdd730d0af6c55bc8d7931ae2c5ae23fbac9771dc1514e3f70a2a4133197",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 16,
      "source_fingerprint": "dbef26f51076ade26e45f524d20f9810aa48c9c6dee2cb17d027ead4e236bba3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 17,
      "source_fingerprint": "0ce67e2974ac5e9be832e56a2466e550320ebd8a3fcc72b856197573b080fc4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 24,
      "source_fingerprint": "903f68dc80a3d9a2ab3b4fbd46bbb9af50bc5529c9774b5eaed511278a043747",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-25",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 25,
      "source_fingerprint": "06df8cb9ecfaed84d4b7df5b1e55690822a73561f7f1a6598ef149b77ec8eb3f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-28",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 28,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 35,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-39",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 39,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-103-UM-v1-2-page-13-line-43",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 13,
      "source_line": 43,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-13-line-43"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-103-UM-v1-2-page-14-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 14,
      "source_line": 13,
      "source_fingerprint": "c853085f4f557a4e253fe35925032a643cf8381997d5397878fc8362d1c3ff0c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-14-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-14-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 14,
      "source_line": 15,
      "source_fingerprint": "484be301785fa984a4139a2baa6fa02b4fdde3d51e7e3c0aa38827ebf2b53adb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-14-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-15-line-19",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 15,
      "source_line": 19,
      "source_fingerprint": "2853719ea130df62aca538fa3e85850ee74ab366482db69383c8a8292450d816",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-15-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-15-line-26",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 15,
      "source_line": 26,
      "source_fingerprint": "004f9eb815699f65624d7d978ac647da3ce8ea3fda248eb7b1164172b42fe4fb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-15-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-16-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 3,
      "source_fingerprint": "021362807020eda5c51bd3a55241328b35dd00970bd58a1529186e72cec6bf66",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-16-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-16-line-8",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 16,
      "source_line": 8,
      "source_fingerprint": "bf1931ee564580c5bb1e854426b9fec34e792386af1c693af228867f3154d598",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-16-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-17-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 17,
      "source_line": 31,
      "source_fingerprint": "c83dbdd916447f6422152e48c977481736000c1545f1bf03ae478dcc2251b301",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-17-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-17-line-33",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 17,
      "source_line": 33,
      "source_fingerprint": "b0cbf13555a7407edc81b359f18a9be9785af63131985c215cbce520d29e3ea6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-17-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-18-line-7",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 18,
      "source_line": 7,
      "source_fingerprint": "7e3eeb808af713d5ddac5bb4aaf962ee0b397c655dafc11c668833cf54279e9d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-18-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 5,
      "source_fingerprint": "6b9eba7ce2e7ff58e828d0fba8b16b42845a6de215b0d845bd56f32ad5e5fca4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-7",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 7,
      "source_fingerprint": "6081d13b932f7530c672f12b848d140e57b081183e50e31d24774fc3ba8fb38b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-8",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 8,
      "source_fingerprint": "31c999910a6e192cdb93c4a724270301ea1b934132d4a8f464cce6798fccf044",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 11,
      "source_fingerprint": "7c0e9c4f1258080ae839fc1a30a6f18446f1d7f9ec3bf4433371feed40d532af",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-20",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 20,
      "source_fingerprint": "81d953297cfd693ccb0d7ae3684736d732ca3e402e225375b38c75b0b6a4680d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 23,
      "source_fingerprint": "d79c3e91f7e67bea0d9812f5451e70eef983fbca0ea940ae174d421a64599c5a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-26",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 26,
      "source_fingerprint": "0e59401421a25065801499c096c989e5a5ed07bbf1559a2a70e43c621a6eba8a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-30",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 30,
      "source_fingerprint": "7a5e8e812ebf5ab741244cf73582dcf2eac3f092120f82df0958c51fd4356071",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 32,
      "source_fingerprint": "cb4b291bbc285b7dda39ecf93d008e5fe7a50f584603504f3445a1d9db2ec0b4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 34,
      "source_fingerprint": "e0cf073823b226eb38497b7a39df3da197a06cf3c5a2be5bdaa98facb531cdf5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 35,
      "source_fingerprint": "20ae8755c73ba5b05a90f3630cc143aab27e507ef0ba56c662046c6e4b03ebe2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-37",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 37,
      "source_fingerprint": "d06aae5b084582bb36005175b04c1ba303c372e90a4130dde19ff5ee40c09f49",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-39",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 39,
      "source_fingerprint": "68a9d6e7f41ccab22972d4f719317c952c435d160f992202fd11361416d34596",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-22-line-41",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 22,
      "source_line": 41,
      "source_fingerprint": "a09cc7aa36b5ccb213306e8a4eff7a9df468a684601a047ee0db02e6c6d1a0a7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-22-line-41"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 4,
      "source_fingerprint": "bc02643df9ac5258f4db2d830c7793b85e700b256df11fb417f74018e110ff84",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 5,
      "source_fingerprint": "3860ba78d27ff71dc119c17853aab005d15f5b1614b73b959317b506f21e6b34",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 10,
      "source_fingerprint": "345c26c2eb8e85c504e26a424e30538046e684544793ae679cfa1471d7adca26",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 11,
      "source_fingerprint": "370fa70f4867d862ba27b6b238314e218177bef5d8f2ebdeda13abadf1806b32",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 12,
      "source_fingerprint": "f7083091a5c8d43a32cd8821da2df4d30459cf30d73ddbccb59d264b649e0feb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 15,
      "source_fingerprint": "ef5c747f902877f892c659f75785946e5bf080243f2a8eaf143a37a88a7da4a7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 16,
      "source_fingerprint": "40a344073e41ca01c069aab4251fd9b23ab9008b89dc4606937ea60449b6a911",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-21",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 21,
      "source_fingerprint": "e6b4b58c20f705c1a9d2f4032d4a8b9ed9f957a901f2636f1378a1839bea03cd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 23,
      "source_fingerprint": "fe7894ff1153aa68829fac40f75fc789034243d842ea659bc2be9719ca8dfb5e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-24-line-40",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 24,
      "source_line": 40,
      "source_fingerprint": "19b228660b081dbd348b0bb7ac1b7643d6619b85297428d078d238e55a81d784",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-24-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 11,
      "source_fingerprint": "56deadc46f44ee07a28434de59be8b42ed6e19d1d7782f5f91ae0dea0e272bce",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 13,
      "source_fingerprint": "557290e08682686dd8ce65529615301b6a481ced4528b994b156809996001cec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 14,
      "source_fingerprint": "f446f0316e9f6f19960611fdeea19c1db90c3d3fefebcfc55144f204648ae18b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 32,
      "source_fingerprint": "af3bc24357e7f133f8ad738b0eb11493eb9f07afccb55fee39c9c0dc3071c266",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 34,
      "source_fingerprint": "39a1c42dcd7418bddcf381719c867db1bddd27b4c30e43a59c66219c87ad39b1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 35,
      "source_fingerprint": "f3f8e78ec5cd662971de37c4bfb7d3de671e56ecded1362c8da3bed00e861942",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-37",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 37,
      "source_fingerprint": "82b9dc45b96dac724a46ad7a485341814aa2953386144083ff0c89f4ab30523f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-38",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 38,
      "source_fingerprint": "57ed137f164d11c00be7f15da0a498033f731a0a420f86d3a912a18811259031",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-40",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 40,
      "source_fingerprint": "5b4605c0c99259a8bba2fddeb7f20b961254b7e01b87c2ee0cbfa8887800973f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-25-line-41",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 25,
      "source_line": 41,
      "source_fingerprint": "842721b2bd007c90430f8ef1ac9d5d7283ddfaf856573bdffa8674c87003ceb6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-25-line-41"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-26-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 4,
      "source_fingerprint": "8968ccefe62278a40f0fcb73f3c43f18934a3acb16ccdb4fb31383b4f6c55eed",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-26-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-26-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 10,
      "source_fingerprint": "3db93dc43b25ccb77499fd0c262de5a32c895a17337869fd0e5b0b74e2c546fd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-26-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-26-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 26,
      "source_line": 31,
      "source_fingerprint": "c20b2ba4c8fa52248c124cad085a879f168fef0065974eb8ab7c94511432e1cd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-26-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-27-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 4,
      "source_fingerprint": "f11dba2e343dfaae2d6065723f49cabf01bb310f6662b078bf4aaee772878456",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-27-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-27-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 13,
      "source_fingerprint": "a46faab1639abeff2085d3d26f306eeb0bba20e6a43bde558f5af9e0f0c5e2f6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-27-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-27-line-21",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 27,
      "source_line": 21,
      "source_fingerprint": "f11dba2e343dfaae2d6065723f49cabf01bb310f6662b078bf4aaee772878456",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-27-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 4,
      "source_fingerprint": "3954ac3c1c0750bf3fc29e15a5cd1e1fec5d6d8a73af6d2a3db151b73913963d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 5,
      "source_fingerprint": "212cb381a52bd1bcc9e0d9a9646fbd445a4445d27a1d84d38a9861ea5a49e673",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-6",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 6,
      "source_fingerprint": "1d640b64dae9f6597eef1e912924b69eb5760b4031c65e5ac7fd08be8e016eb9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 10,
      "source_fingerprint": "115c4232a568ff6ba509ea6a81da231752cef543ec2cdd8073c5e1bfbe854ca7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 11,
      "source_fingerprint": "4dcf8746c03ba66dba30c34ad9b5948e7abe509b86aa984edf68cc8d630efcd8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 12,
      "source_fingerprint": "116ea43abc8d6a072c85bc8f32e1311144678d6cd3f3f398301fc0c39fcad552",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 13,
      "source_fingerprint": "b59f50f96a5c4ab8c87fd676ff57f584ab784b3f69376e358634ac8a30f70259",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 14,
      "source_fingerprint": "5cb3ae24bbb52f8afd42358a5885056e8c719a56919ad8648d25152e44fab762",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 15,
      "source_fingerprint": "1abe77f52d6f4bbaeb2ec2aa2ca13ca934d5eaa18af1180b9cf472da71b69fb3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 16,
      "source_fingerprint": "90da81b3c8b27ffad4a1badbf95c9ddf3cf6481b43e644f5173d2193df37f764",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-22",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 22,
      "source_fingerprint": "6b1fb23744b0a95ebe83d44ca712b7369b7f9d69dcc6e60f881402d6d75bf5f8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-38",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 38,
      "source_fingerprint": "fda335224565fa11831f8e12eea2c4ccfdbb66d3edc64b305949c04896bd9b98",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-28-line-43",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 28,
      "source_line": 43,
      "source_fingerprint": "c545fbe54e35ed4f5b201c57f7af425822ff530c30bf1d0e72dcd6bbdbf13e59",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-28-line-43"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-8",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 8,
      "source_fingerprint": "f682a4002fadd53ac6a20c9363fc44f83e1f3bf2d4cf75cfb3cc0ce6a493bdb4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 10,
      "source_fingerprint": "c9ca3234a649046ba2d3f87d7c0324a15cdf868b34c6f1bf434360e40515b373",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 16,
      "source_fingerprint": "ae47c2d80eb1775141b81f210c7fd9577f0c39a3f6bd47eec6f2308f89c7c101",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 17,
      "source_fingerprint": "5dec749be8af40926e5f8aac9aed035b9e1add79fb7de313823dd4f3ba78bcb0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-20",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 20,
      "source_fingerprint": "5002bfe65cfa4b479c54327a8a5fbf1521a881aadf5acc500a4503f366c8cb7c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 23,
      "source_fingerprint": "f0693acaec9c9f682ee3e3c7725f60f9d3f31603512c72dc922361315b62f38f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 24,
      "source_fingerprint": "4c09861559a159018fcfb56cbdaf28a7eed4994f17f4acfb2df1b5afda85a88e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-25",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 25,
      "source_fingerprint": "7620afb7f7d08fa6b24d46cbccae5ab8ba105ef00d0314d16df6a9d98e66e152",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 27,
      "source_fingerprint": "5e84444ad26af86fc5793548a615ff8558da8be939b104331282ba7b7a2ed250",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-28",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 28,
      "source_fingerprint": "b4b486dfdc216199c97553b67f825a6e3bea733f2e6438abbb9e0cdac69aa31e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 32,
      "source_fingerprint": "220ae73ac8d2e421ff376fc6590f841b57ca02134d5c1c86633293564da20822",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-36",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 36,
      "source_fingerprint": "cf7aeb1ca83e1263430983045c1816f9d6ee64332df935e196d1beb741cf1f00",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-29-line-37",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 29,
      "source_line": 37,
      "source_fingerprint": "ece239f98aaa5ce2b7ca6d755127df6f0317998e3fd5a7e124a17c9a17e713c4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-29-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-30-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 5,
      "source_fingerprint": "eb412e56443cd39c24ec59edf229177fb10a2209250d9a0c170cd79f098a6a1e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-30-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-30-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 15,
      "source_fingerprint": "121471dea7e859d2fc576442967f602856e98cdfdc4fa4282134dd8d4453fb1d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-30-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-30-line-18",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 18,
      "source_fingerprint": "80e1e93b06e5b1a747a1639d33da499b1c855e4a9e45c121181d9d6e73c916f0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-30-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-30-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 32,
      "source_fingerprint": "874b77fb18f6c5c8fade9a39cab4663f9191a305d6411b2f61fd5f29816c064e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-30-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-30-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 35,
      "source_fingerprint": "5ae88033965c116d4e7a325b11fea7ea98abe66119b3171d4fbd0c87b725702f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-30-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-30-line-36",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 30,
      "source_line": 36,
      "source_fingerprint": "b40b243dfb062fddcc7bdcf564c5dce5e9a8d222a5b06a62f0c0b8a773aee145",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-30-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-31-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 9,
      "source_fingerprint": "0a86b5d1b4e2044f35cb27e81501c3eb56957d6e8cd2f039db3748a867265bd1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-31-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-31-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 12,
      "source_fingerprint": "46c6bff8cbca31ba46faa43af5470b229f753a04c731135bef98be33e7d2a5f9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-31-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-31-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 13,
      "source_fingerprint": "99ee45d6c8b29664f0b219aca2b170defbb9294f5f466c3fefb3fb30681b97bf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-31-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-31-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 15,
      "source_fingerprint": "02a4045b51d302350ef6338d42e290a4d2a27125b2ad27c9cd37f81413dd3592",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-31-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-31-line-19",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 19,
      "source_fingerprint": "d8a28082a0de4dbba89544fc8e6566349ca9f1005d2c0c5d0cc58ff535e6a68b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-31-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-31-line-29",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 31,
      "source_line": 29,
      "source_fingerprint": "811f960aa619a0297254d633a220af8ce231fff4e656c9a8570eba99ff91fdfd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-31-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-6",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 6,
      "source_fingerprint": "eeaa14138df4f24ca5871c3db684c2ca7bb22ad36c4a460404cff2872cc47930",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-7",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 7,
      "source_fingerprint": "f3941f9afc66be50764683a383703b600e78bcf1621133630adcba373be8bc61",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 10,
      "source_fingerprint": "8567f3a31024a238fad917f24785562955cc5d7798f9be68105b8d6448503e25",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 11,
      "source_fingerprint": "df1d5c8b1f9ec53f8d0b1a521eabce266a5fda24f4c9ba3ad46574d6ed7190f7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 35,
      "source_fingerprint": "e228a6dae0345ebd0515c466bbc8d55d021be61163298737a7b1ab8a78de7436",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-36",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 36,
      "source_fingerprint": "bbf925fdb9ae80578ae9ef621ef231754fedb17ba8f6fbb5257012b96b7c0c6c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-38",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 38,
      "source_fingerprint": "7c52e64f1177d1ab9233b9b014ba04ecf55d7bbd2a6b72831495fa585a3ab57f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-32-line-39",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 32,
      "source_line": 39,
      "source_fingerprint": "e13b28c25733b3a6286f7ce9fae587fa79dfd055d498dc26ed5ecd82d5e51134",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-32-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 3,
      "source_fingerprint": "f938c75096eed9f2513dc63dc8268b31bbbe6e26d2c2ac9250ddfd16c2196e5c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 5,
      "source_fingerprint": "ab1629fde8ffeb0e15d9713c9ed227fd9fdb211053150c8ac93b122e7310194c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 12,
      "source_fingerprint": "c1192785f97f25d8bb78e7c1e3a36e7d1d1493d205f6f4f3e943a02d4b19f955",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 13,
      "source_fingerprint": "e601b1d52a1bb1ef8a91b5086ae62ec0d55fd25ff4e8a644e254d424efe1615b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 14,
      "source_fingerprint": "0fa4b3346f7a1f3c900b3067e11609bfc1d82ce841d2a31b63993266c6855604",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 15,
      "source_fingerprint": "80cee52041cddfb3e33dca9e80ecd13e5c03e3570b25caab426e91a29fdb732d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 16,
      "source_fingerprint": "56f79438ed7bc510080496c89a558be0e19aecd79fee5e8b5623cfd37414864b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-21",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 21,
      "source_fingerprint": "228ccfe8fa44b7c64410d04f09c7876cbf3855861c0538c532aae86728fa1154",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 23,
      "source_fingerprint": "33a6a624c818150b69b42ce83e9118f4e2fbb43ae2d18647212482a47366b75f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 24,
      "source_fingerprint": "47e67fc194b23455c93c056e0bdd5d13bf163f22fbc34374e308c580a8e52ba8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-25",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 25,
      "source_fingerprint": "fe1f3c4de1963e5cd58557096552cc15ab7e74329130a32d44b085325eddc1e6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 27,
      "source_fingerprint": "f233b63b1caaacdcc29e86e06cba5a8808ce334b5b919f286a1b44000184f79c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 31,
      "source_fingerprint": "22912bf12c1a355f0043b27278e7538499f401fe549808afe026a98d4be536fd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-33",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 33,
      "source_fingerprint": "e0c2e9a9c9c1cf33ee044201f9e1704846172651b26d8093592902b525eff826",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-33-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 33,
      "source_line": 34,
      "source_fingerprint": "95c5c41f38ef5688d0ee68dae8db47adfa2a0e8b5b098ffe47365578e1984f18",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-33-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-34-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 34,
      "source_line": 3,
      "source_fingerprint": "2201348e50df3c8c7ea6cb4698519ab8c21ea5f1a9e7a37aa7589334cc5c56be",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-34-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-34-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 34,
      "source_line": 9,
      "source_fingerprint": "dd41efe1694b8742a77867767c20938ed625f7875e18d2848749043a6fd5755e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-34-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-34-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 34,
      "source_line": 10,
      "source_fingerprint": "e37282bc5a2471d817727ac11cfe42438d334c9d95e09269b2a6b190044422d2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-34-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-34-line-42",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 34,
      "source_line": 42,
      "source_fingerprint": "8aa6298eb72ff7d677cdcdc58de15e246866cfdca42405253b2b808854cab5be",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-34-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-36-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 36,
      "source_line": 9,
      "source_fingerprint": "cc0bf818cec1f259ce1c34ecaafe7ec641ade8410df0944b0f8fdc9dbf4cbd5b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-36-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-36-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 36,
      "source_line": 11,
      "source_fingerprint": "7ad2b7622881db27d351d63d0fc374aa8830d0929a5e04562e9ccb1d2d955ecd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-36-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-36-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 36,
      "source_line": 13,
      "source_fingerprint": "3cb0b6c11088ecb32ebb996565eda86fe9cd51ed1ce224efb2e55990a97ea57d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-36-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-36-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 36,
      "source_line": 16,
      "source_fingerprint": "6736963694dadf4a7622ea3c41ed47e0af597f87f83696f5ba41c81fefb197be",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-36-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 4,
      "source_fingerprint": "1d781bae9913f3824614fd6fd608c1512f9f593ae15b1f481bf8461a1d7efd2f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 5,
      "source_fingerprint": "808a47700ae3e263e7fe4d0bd2e4a6eb8f7ff5a46b2d24c7402307ee961d4875",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-6",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 6,
      "source_fingerprint": "fe7e3a3ad2cdb7666e5865b9bcfa0f5c307b77a021709a9a05c1ecc43bebbd84",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-8",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 8,
      "source_fingerprint": "f2d6d0bb165e8e89beb83f24bbd201460678cd1d01d2d53a7af4493935addce1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 9,
      "source_fingerprint": "22dbcfde622e2be5570c2ef0572f76bc29ff24b45cc48521e35f63180ac9633e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 10,
      "source_fingerprint": "4a4c6d93f984d23f5dae516e18a0743fe8d0fb86805e31e49975f08e639632d0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 11,
      "source_fingerprint": "59b58439a7ac06a7c81abf164e13becfc7c0dd82e448e8cb8d58ebde1b7bd247",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-37-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 37,
      "source_line": 12,
      "source_fingerprint": "ebb93a3293e6ab154b08cedce25609243079e7b1b9d476d2c832263fc900e2e3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-37-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-39-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 39,
      "source_line": 4,
      "source_fingerprint": "6e228d9149fe36e5b1f602c11b3b0ccadb8a136f505682dd80961bce53981765",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-39-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 3,
      "source_fingerprint": "41d8d157e6203e8d0d95161b61bf4c76a1c911fb7af5d6ada8d4d7caba68edf9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-6",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 6,
      "source_fingerprint": "15a214a474f0192d5a7ab472a734494cebf0837d1cceae46062ddf8384376a8c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-8",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 8,
      "source_fingerprint": "f7428e2e4bc312d9961e5192408598e5c0d7bc9b47ab256da6319c216dec3592",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 9,
      "source_fingerprint": "0b47bcfdc4b752b7b168c411723542695b034fefc9d32a5eaf4fc99ee5ad4ca4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 12,
      "source_fingerprint": "44aeddc229a4a591e48e7a811ec143f2c2e83c025e802e2b031f611de6b70070",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 23,
      "source_fingerprint": "dfcd40d14554ec73ad835dfa64feecf12da82db7b299bf63a1adba4ef332412d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-26",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 26,
      "source_fingerprint": "c2c0cd7a78a483ec300f9a2085ffd6aa3650a80bd318f8c40d6f9fd349f46c57",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 27,
      "source_fingerprint": "a2940594c09da36a69f6a21aa901e793d30a11385b83c6f71400cfeddb4c497e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 34,
      "source_fingerprint": "fa91196ae0db9af0689516c649bfade42c3f63f0da1312af4a1d3f4d89f200c1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 35,
      "source_fingerprint": "3ca45bc5d05510c6e3885d8dfa42cbe065c06372de9c125f171c7fb60b6625c0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-36",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 36,
      "source_fingerprint": "db8e04a841520063c16bb558fce27f6a66439dc4cd3459376b9a04ca271dbe64",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-38",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 38,
      "source_fingerprint": "47b86f561bff000a8f38be741455ed281322fc9896bf6854420d7aab23c8d835",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-40-line-40",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 40,
      "source_line": 40,
      "source_fingerprint": "c3675dca29e4007603c9b76c980efea221cf437db04574bef951e35a51ae5b54",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-40-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-2",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 2,
      "source_fingerprint": "a02c3395146b2525ac3d2bf19bfe10fe2667644b7524923f9e4ec0dd0dac28a2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 5,
      "source_fingerprint": "6a637b7b5fadfada188fd69824ab70550f3280efad70cc08bc1c91e28bd2ed28",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-7",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 7,
      "source_fingerprint": "966fa64484cecd2581a605183de85b06ca75baa271d81be3d51a0d05c60dc58c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 9,
      "source_fingerprint": "0f8cd858631a73fff7c0d4dc300e996ce00ec66bd82a4a8fbf11c4c8a6963324",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 13,
      "source_fingerprint": "f657ab4f615703fd42591f44952387457aee9003c7c1ddb664faf5920a42d411",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 17,
      "source_fingerprint": "31a59901e4a88da6d68856da28a16051a44793adca52f86408d9e20631e12572",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 24,
      "source_fingerprint": "8b70560ea0f3e8cdfb1adbbc9e327b0dcc19dce2d96730311e101b494c261b2d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 27,
      "source_fingerprint": "ca5145fcfcd3553f681df96dc2e922040126b9e9670604630dc73c3d9b3f187b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 31,
      "source_fingerprint": "86d32561205e3affdab1ed268a1e663cdad7ca339ee46ab471870af76b17b24a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-37",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 37,
      "source_fingerprint": "bf96d09b5aeddcf200dc2ba24d0cae0a5b16ecf1645d5c3f914ecabdc016f10f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-41-line-41",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 41,
      "source_line": 41,
      "source_fingerprint": "9635b0376ba53505cb4bf68c11c5deaa8e3043d70a6a898c346a7a66b1fab459",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-41-line-41"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-42-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 11,
      "source_fingerprint": "6bfcf8d568429877710237178c8cb4001ff40a93424c9b3439a9971ae1c1e319",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-42-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-42-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 13,
      "source_fingerprint": "3b9fd989b9a4c1c9bc575bb9ef7d15924559f317939d5bd7d4cd6f04fc411afa",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-42-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-42-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 15,
      "source_fingerprint": "4e4c8595166ab634812d096af0cce0d7865cb7fb96c830fbd30c769199b597b8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-42-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-42-line-19",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 19,
      "source_fingerprint": "bb7b59f064bd00919d5774fc7b78b500a1e489246f2f5488bbda15583e256679",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-42-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-42-line-21",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 21,
      "source_fingerprint": "a4317642a7e556fe89a1e3851cb894541e3fc26dcb03cb4b20e7271259a24437",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-42-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-42-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 23,
      "source_fingerprint": "dc95c34dbc88a482b20b48970d260605c454b10cef1e793321ba62c08e61759e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-42-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-42-line-28",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 42,
      "source_line": 28,
      "source_fingerprint": "1599691bc9e931336241766637f670b17b6156e4654dd93587a8aeae94bbdcd6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-42-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-43-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 43,
      "source_line": 13,
      "source_fingerprint": "fe11bf7d1e3cd0aeba0b254a4712cb691100978b0f54500ac9b4439113b7c5fc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-43-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-44-line-29",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 44,
      "source_line": 29,
      "source_fingerprint": "c25fb004677f67960a668861692db96923896fcd0b8ff91ae06e5b77254bc37c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-44-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-46-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 3,
      "source_fingerprint": "4bdbeb9a649670585c150cd202bfda2dfbf7a35c45f4ad0610754eda5a7944d6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-46-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-46-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 46,
      "source_line": 4,
      "source_fingerprint": "faac2ba4d3895751e4241a0a34c1ea292e6dad873dc2ccbc83aae1607c230560",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-46-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-4",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 4,
      "source_fingerprint": "a53ed730f3ec148e7b2e4d2c0372b43334726e426545dd5e971910bf1bb4b5b5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 14,
      "source_fingerprint": "be514f895a28bd57c0af5f312ca0a3ea876456a24d0f7dd943f4bb0f68771cd8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 17,
      "source_fingerprint": "25de8cb0c22ebcba1c4ba8eb62038f33ec3a39ffc80e82b0193903fc08337e57",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-19",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 19,
      "source_fingerprint": "8ce58a09de39a04b8b4a4a249e6dffab6e6b823c42d8ff29fe816f383d95b0a6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-20",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 20,
      "source_fingerprint": "340439c8e9970b4389590160f42972f31c605c6e0d476de2490b3e8ad641fd89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-22",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 22,
      "source_fingerprint": "b6cf3cbac67cc70d8f7e5dd11d504360695f56d7fd906c87f818e260e73df0e0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-25",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 25,
      "source_fingerprint": "ccbddb68a7622083ed94507f0c66c7ef0bc15f7355b1d7ff5ee85849ca4125a5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 27,
      "source_fingerprint": "313dabd08019e934af8eee76f70a6c4f45c03ee9f293baa5c809a0c5d02ea33d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-28",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 28,
      "source_fingerprint": "9667d682dd153eae2df2f0e28574bb9ccd9d29c024b1aaad342c1ab08680125f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 31,
      "source_fingerprint": "0ef85bcb5fee806613f8eb5615fa45a841c8825eaf58e550dea4c299b93613b9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-33",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 33,
      "source_fingerprint": "d760d4854ecf388a7b67dd508dc771dd98bb014633dc1d4ebb9e277cf7f6b632",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 34,
      "source_fingerprint": "4f3cad978d5233db9ca94c8f59404aa48b8b85724c8e86ad84647454100ff998",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 35,
      "source_fingerprint": "e2574f079ed221fe6ec1420c5af26ad5c57c069c599a9f3789e98be879a5af66",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-47-line-37",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 47,
      "source_line": 37,
      "source_fingerprint": "00ca671e0d2e4051fbb1143e7acee9c027576b56f6367dac7ad015c8b0c82376",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-47-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-48-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 48,
      "source_line": 5,
      "source_fingerprint": "4f304b870343a8da482985a016b11feebbe427475fc845bc1239903e6dde1f4a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-48-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-48-line-8",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 48,
      "source_line": 8,
      "source_fingerprint": "247927a92e98c1d612346a89eaf1a86dcb6054d0e20f4a7f793ae6eda269ca5f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-48-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-48-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 48,
      "source_line": 11,
      "source_fingerprint": "ca06715ec89d0bdfc116d0b1629c856a1b0813bce34064e8fa4226b6c06267f6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-48-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-48-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 48,
      "source_line": 14,
      "source_fingerprint": "55f0b1e46e5f03b89c2ce9ceff921815e53f1804f7aa50311471a3baea91333e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-48-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-13",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 13,
      "source_fingerprint": "3cf6260554182ef50a0cce00b66543eef1e49e6796e66f7f00738251080fa818",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 14,
      "source_fingerprint": "b2b5866f400ef315dd844adc283f45363626c338beab6cb0ed1594836436a2e6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-18",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 18,
      "source_fingerprint": "6badace406628a8ad5972f263976fd518ca19bb9d1ab1319632fd3c74c83cf26",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 23,
      "source_fingerprint": "11db15caf9304c96dbd963ec3538fa30e778c5211858125e2158bf01d8ea16cf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 27,
      "source_fingerprint": "385a320d00e507a15bcc37e43d65cd6c63b4b3f8a8c56b5e844d6d9ca20b79fc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-28",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 28,
      "source_fingerprint": "b109c10b0db31de215f9a9e961366e39809cfee83bfd4cecfafe5517c7de53ad",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 31,
      "source_fingerprint": "7f82d878ac8a1dd3a0ad05dc73b2c61feea4830e758fbcf164cc04a88dc46ca4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 32,
      "source_fingerprint": "ef2e4ccfea3ea35d7b52901b45b014f6938cb71d4e03eeb606512ddfdf76bcf5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-36",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 36,
      "source_fingerprint": "14dfcfe366d7150895771a81e07e691cfe74c709f4adfd7891b2d2364a77b82a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-49-line-39",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 49,
      "source_line": 39,
      "source_fingerprint": "f535513ac54451fbb8ee166d0c7d3e1b7a34d5858a9994b323ecf5fc1fef2cf0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-49-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-51-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 3,
      "source_fingerprint": "5a5843aeb85c9aaa17cdcd3a57268dbe8bdd60204de93f44e78d7408eebfe617",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-51-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-51-line-8",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 8,
      "source_fingerprint": "85bfe4fa2c3f9c01aa9de6b4880706c3f2fb4e3b4712fd74ff6dddd9c17d563e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-51-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-51-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 15,
      "source_fingerprint": "afd10619a542abfb1c6997d418af020890fd2c79d22a41b91832d0018b6a5c44",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-51-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-51-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 17,
      "source_fingerprint": "e7f688e4916ae6f303331cd09fb8045a05335b7bfd0db8b34c91a9891f8856a8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-51-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-51-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 51,
      "source_line": 24,
      "source_fingerprint": "d6e3e7535ad0a9f69da246a5bf9bbedfd7db9a3731c2091a7471d175971ac4de",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-51-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-52-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 24,
      "source_fingerprint": "1e358a1912ce837a419fa74d11afc2889211d747a553b345d05937c18e5c5080",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-52-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-52-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 31,
      "source_fingerprint": "d4015f5225fbc1173d9b9b05cb83a57fb3d8c96daec1863e261ca1792bce8260",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-52-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-52-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 34,
      "source_fingerprint": "16554b1d7e4ce940fb8e325dfd347486276114758939af324cdec4a65eef9d1f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-52-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-52-line-37",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 37,
      "source_fingerprint": "bf99f7a28cee67fc5270c2b3d3e1c21154df667ec482a9d81ea242c7474569dc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-52-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-52-line-39",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 52,
      "source_line": 39,
      "source_fingerprint": "f5e9fd9b82005843dd341d2705aa78d42c67fecbea18fa932f98acd46040d779",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-52-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 12,
      "source_fingerprint": "e3fe2291addcff4cc654d61beb43801d1fdec5f323067b2033bdcde7a47f4f92",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 14,
      "source_fingerprint": "7671f626c1ac4bc24c155eee296e311668746fb8d7dc88b186512d5483a71fe1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 16,
      "source_fingerprint": "b669ca7ad1c2312b0fe86bfce18f2c0e68e1ea405bb24991aed909d5df888bfe",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 17,
      "source_fingerprint": "c2dc346a54d274629105529f5efb0790f68fa25c6565e92d720141385d71d6ac",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 23,
      "source_fingerprint": "aaf7aaa330ff480534759ae132559bf2541c4be5ac1855c180ba89957f28227d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-26",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 26,
      "source_fingerprint": "19f80f01a7678430d4c5e6cf2fb8cc49ea14fc749db9d699bcf20290a16656a8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-30",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 30,
      "source_fingerprint": "6b01af5d2721a281c2e5cf6a3b988b5aeb96da3de433237a9a7329b450850aa7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-53-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 53,
      "source_line": 32,
      "source_fingerprint": "8ba0247383e482a6348248d889d84f058f7332c2ae624038951b64769f6f3a4b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-53-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-54-line-3",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 54,
      "source_line": 3,
      "source_fingerprint": "eca41fd1218c70963e0f94d45f25ccb2b718e6f1156c044b5ca8a90ef93fdcc4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-54-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-54-line-5",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 54,
      "source_line": 5,
      "source_fingerprint": "409632a0a09694d1f4911056ca444e7bb1dcabcc23fd5239ca2d3841d0632e61",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-54-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-55-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 55,
      "source_line": 31,
      "source_fingerprint": "7b37dc801fb8dbcc7592f3eb3de0642acd83a0f584ada13b7c1d95dbe8fb106c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-55-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-55-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 55,
      "source_line": 35,
      "source_fingerprint": "b8ad264857e46205008ac17d03448f14433c51eddeaf8934b56715ae878b8eed",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-55-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-55-line-37",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 55,
      "source_line": 37,
      "source_fingerprint": "e5cbb8de2fd259bcfe24304e7292b6d5958581526e7a7c9264bcdba054b93b98",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-55-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 11,
      "source_fingerprint": "fccf6042d297a98518a3dc421f57083223c779168832d7016ed2cc445c4e6e9a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 14,
      "source_fingerprint": "56823a012ff0c0f2c9b497e8055d1b7d22c0916436270ae0e67583f3a9bdb009",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 17,
      "source_fingerprint": "205f72f0f939b9a829d7fea674300a8d72af8e9593772b2ac9a78cde6d409a2d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 23,
      "source_fingerprint": "fdedc01520a06c541d20c70ec5927465aae7670c68ee81d4e82ef3c2a6e31678",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-25",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 25,
      "source_fingerprint": "7f2b29cacba8bd0927fc0e9cf8b87c45eb7d1d91a780ea3f261b5d22f4fd3ebb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-28",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 28,
      "source_fingerprint": "0fae144776f1e75d36699e98e19e9c774e054a1099747f0d2c3a1d076f5a9db0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-29",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 29,
      "source_fingerprint": "7db2c4130c3c813303cd74503855205978c0232c27674e41cdb129acf1f61fd2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 32,
      "source_fingerprint": "ee84c78a63023d72e611a6471bb225fc2a992b7d2a2e9b8fe4611dc5e3b220b7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-33",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 33,
      "source_fingerprint": "b669ca7ad1c2312b0fe86bfce18f2c0e68e1ea405bb24991aed909d5df888bfe",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-56-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 56,
      "source_line": 34,
      "source_fingerprint": "c2dc346a54d274629105529f5efb0790f68fa25c6565e92d720141385d71d6ac",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-56-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-59-line-34",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 59,
      "source_line": 34,
      "source_fingerprint": "463682eb2d6f4f40996c7c86bafed59031682ec0c419833ae7adbce84d99da2d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-59-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-60-line-6",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 60,
      "source_line": 6,
      "source_fingerprint": "b31275cb626a444c8fb0c356bf2bd62bedd09c2e756678e6d320d3cc30633dfd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-60-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-60-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 60,
      "source_line": 11,
      "source_fingerprint": "3a04a5e9f0b03effb8d39982224ed0282acdbe89914697b34f067cf1b32accff",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-60-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-60-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 60,
      "source_line": 14,
      "source_fingerprint": "e16e2e95d4e8ac5cea07464f2801cd5309bbfe71fc7cdee886913c789df166ae",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-60-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-60-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 60,
      "source_line": 15,
      "source_fingerprint": "10ee8ae0e6aca4d5cf9c43a3b22137c9dc39f9803646f49729b73549485867d2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-60-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-60-line-32",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 60,
      "source_line": 32,
      "source_fingerprint": "c6eb0cdaa40119905221a3a0665e0e509f1ef7b04ab6a626c7539b174ed2e391",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-60-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-60-line-36",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 60,
      "source_line": 36,
      "source_fingerprint": "9d9db610c573b3eb088daacdcee6dc1c22517ef4f057f4b81d4586dfdea877e6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-60-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-61-line-7",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 7,
      "source_fingerprint": "6a2f10baaca53af756cc398e8d1a2b461f6beb4f74b6e368cf38e5d5ffb64f12",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-61-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-61-line-16",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 16,
      "source_fingerprint": "03bd1dd79d9f085fe10c1dddc91509618d05170c650229b1e5d3e958041ae0bf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-61-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-61-line-23",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 23,
      "source_fingerprint": "d187cfeee65e28b6daf859ecb60bfe58542b072ac08d7dc5a31f6b24cf7173c3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-61-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-61-line-28",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 28,
      "source_fingerprint": "eb3a0b9508737a3c8f7acba67744da069e3656ee70a786a74eb997ce4afc28ac",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-61-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-61-line-35",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 61,
      "source_line": 35,
      "source_fingerprint": "9403282bec952ace9db8c0c7ce65efc4464f2c0781f583052b334e82aad50e96",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-61-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-62-line-18",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 18,
      "source_fingerprint": "461f59c20ef5cd7e7fd56ba489045ed98982f58127677bb5054f4e5ca2d3c58e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-62-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-62-line-20",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 20,
      "source_fingerprint": "d236f3bd0b9c41eacfe35f1435552331d9691ea8fd3883b3a5ef9f2e79afb0f1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-62-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-62-line-22",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 22,
      "source_fingerprint": "e1dc14a3fbf28e8b421e823c4a254e7601d545bf70c46bcb195734220549a803",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-62-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-62-line-24",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 62,
      "source_line": 24,
      "source_fingerprint": "0364ddfa0ce8ff34d52b455d660cc033b79d31b1667583c63161659efb5d1f87",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-62-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-63-line-26",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 26,
      "source_fingerprint": "675fda59a2bf2523047b5bc0d7c30e2f27706293e7c666b1f48c8c8ffc433418",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-63-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-63-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 27,
      "source_fingerprint": "e3c8fa5712402a89f755f4f6be5fb9087771f3903225d1b795fb9137277888a2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-63-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-63-line-31",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 31,
      "source_fingerprint": "9e82da6f6da615e7115c55fd909706f4bad01bb38733748ae5e14c561221ada1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-63-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-63-line-33",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 63,
      "source_line": 33,
      "source_fingerprint": "b9a204e86bc5dd1b15e3c1be3ffd585e581cfa8098b4ef015ac799bf34f3837c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-63-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-64-line-27",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 64,
      "source_line": 27,
      "source_fingerprint": "8c465b6dfdb26f627a548085478e3f2bcb98a061bb5ffbc778996090f971b400",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-64-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-65-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 65,
      "source_line": 17,
      "source_fingerprint": "df3058233f4e2291026ed55d650651bc0e7227332cd8945f19d07e978908888e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-65-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-66-line-39",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 66,
      "source_line": 39,
      "source_fingerprint": "22c671eacc986cd091d806c156e56852e00c42727414b440428ed594380223d1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-66-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-66-line-40",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 66,
      "source_line": 40,
      "source_fingerprint": "60f9e72726b63bb1352743bac8025ca049586e8f99e6b66b4e0690fa6fa6533b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-66-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-66-line-42",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 66,
      "source_line": 42,
      "source_fingerprint": "f180596c79657ba80692571c406b1dad9bf9b50c3821fd97763fee178c96e0d2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-66-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-69-line-9",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 69,
      "source_line": 9,
      "source_fingerprint": "3c47df0968bc5d0d3a115cf7c2a8a99c62a1a2ff73c0f2dc117da1fb15896109",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-69-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-69-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 69,
      "source_line": 11,
      "source_fingerprint": "1ad9934acd69229e7c2e895b9cb6f711bbb35fecbb1f3879b62a2972a386096c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-69-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-69-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 69,
      "source_line": 15,
      "source_fingerprint": "008c7a0eb1f4b4f611ae666e3fd2db7ee097fe3bf128f1b7c08185c9a700d390",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-69-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-70-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 70,
      "source_line": 11,
      "source_fingerprint": "1c17f78c76d27f07a6f4f7cf2081e33c8ff5888f341bda3367b500b699ee0e43",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-70-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-70-line-18",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 70,
      "source_line": 18,
      "source_fingerprint": "4e9171873b85c7a778d38390bdb10955239ed794ad9cb94addd5806f01b2c8f8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-70-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-70-line-20",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 70,
      "source_line": 20,
      "source_fingerprint": "698f334e6aa6f375725145d9926e2647313245057fb73012027a9792df6d46d6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-70-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-70-line-22",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 70,
      "source_line": 22,
      "source_fingerprint": "c1e121020c482b8aa3dc194f1f36c297d3f86f575309ad5fa84c2b0d1dfb603d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-70-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-71-line-7",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 71,
      "source_line": 7,
      "source_fingerprint": "1c17f78c76d27f07a6f4f7cf2081e33c8ff5888f341bda3367b500b699ee0e43",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-71-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-71-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 71,
      "source_line": 14,
      "source_fingerprint": "fb9e06fd2628a44be94ba879994934a43782956b1ece51c5677044aa432dcdfd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-71-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-71-line-15",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 71,
      "source_line": 15,
      "source_fingerprint": "698f334e6aa6f375725145d9926e2647313245057fb73012027a9792df6d46d6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-71-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-71-line-17",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 71,
      "source_line": 17,
      "source_fingerprint": "0b49220b10019186c20de80478a0f14d1210e19006566dafbea90a6c4b2e1ca8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-71-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-71-line-19",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 71,
      "source_line": 19,
      "source_fingerprint": "322f6069c5ffb2c6d7ff17b67f5b38d5c36c1bf2031a16cad1b9829d5131fbe2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-71-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-71-line-20",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 71,
      "source_line": 20,
      "source_fingerprint": "9b41aca87c165a28f504587a570db0ae822b5309aadf9fc5716d5275a8857568",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-71-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-72-line-6",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 72,
      "source_line": 6,
      "source_fingerprint": "7e8c89e1c460c8c829ad8d0c17945b0194f83d542ce7241a862f3155283c1eb5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-72-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-73-line-10",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 10,
      "source_fingerprint": "4da414f22b41dda103fe793b77b3d9227903785268f111cb2ccce973a85f6eac",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-73-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-73-line-11",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 11,
      "source_fingerprint": "5d01e95366bd1b850a8c62b823829deecd581ab42889e4eb2bed1e3f350ff0f6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-73-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-73-line-12",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 12,
      "source_fingerprint": "6ccfedb98ac0d0fdce33b175040c35d8dede17fa80f15d8e1770210af1382052",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-73-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-103-UM-v1-2-page-73-line-14",
      "document": "M2-103-UM",
      "version": "1.2",
      "page": 73,
      "source_line": 14,
      "source_fingerprint": "d5e43936b9cfcee7f187e62acc63ff73ec0035caf4b6d02b29abb0e2a0b9b14d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-103-UM-v1-2-page-73-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-2-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 2,
      "source_line": 10,
      "source_fingerprint": "5e49c8edd249ba944a65ff1157be157432bbb38d9d242eeb3677effaf171391f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-2-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-2-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 2,
      "source_line": 15,
      "source_fingerprint": "22dd6818cbb10c0abe70ae063c7a8df6ea092a521a6dc8a3636f102227f5933d",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-2-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-3-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 3,
      "source_line": 7,
      "source_fingerprint": "29f0d7954c282b25f1e63673f3873c737235fe237eb74f0427a6ba90bdcb026d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-3-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-3-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 3,
      "source_line": 10,
      "source_fingerprint": "6a3fae25cb288877ce1f4690d6767d32f4bee9ad29c6c711937796eae8c39751",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-3-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-13-line-40",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 13,
      "source_line": 40,
      "source_fingerprint": "52ad96fc5aa8a06ecd5b5f8f3965d12b5f5a623a52a30f30dda0d2a6cae567d5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-13-line-40"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-14-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 14,
      "source_line": 15,
      "source_fingerprint": "91ffa9c3fccdb3f7fd0c6b443f535992709eb7a3428968f2b2ba01398bedf557",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-14-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-16-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 16,
      "source_line": 5,
      "source_fingerprint": "c81d2991ad077c1bb18890a857428b0026703cb762e05b9f85d109bf1e497262",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-16-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-17-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 17,
      "source_line": 4,
      "source_fingerprint": "eab08a5100e4a72d32890b9a1874b706b4f1e4b9b06fa810644817d707c72a8a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-17-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-17-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 17,
      "source_line": 7,
      "source_fingerprint": "547224f7d7a0736eb76dc0bc02d0c246770ae98118df94e83da7081b687a6f8a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-17-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-17-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 17,
      "source_line": 14,
      "source_fingerprint": "4e13f522903843353263fc7e1b697090b87ecd9f46b658f228967856a5fd6654",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-17-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-17-line-20",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 17,
      "source_line": 20,
      "source_fingerprint": "644f1fe40e421a16866b8a34ecc501f51f2c1c06612558a00747121de2e9de6d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-17-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-17-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 17,
      "source_line": 21,
      "source_fingerprint": "5f796e4671b3217ebf844ff289de382e39e3d338e885cd0489b24665c4e7fb5b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-17-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-17-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 17,
      "source_line": 28,
      "source_fingerprint": "5e50e83293982397a8fc818f6debb79e6111d3eed993a72b260c79b77b68a3cc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-17-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 3,
      "source_fingerprint": "3670794f492fd13b9988109af0d531edda73333fe8c36f225778e196cfd20b03",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 4,
      "source_fingerprint": "31ea276a954c6959c2a8a20abd309304c94df27c16ad51a81c469fc6e6488d89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 9,
      "source_fingerprint": "e1073c104fd16c10ff9d4f34674c0abf991a8ba75ce46873036eb2c7dae54541",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 12,
      "source_fingerprint": "21204fb099ac5229c253eecab200b083644a178713c8ec4f2465bca44dbd7bee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 13,
      "source_fingerprint": "47f8fdd730d0af6c55bc8d7931ae2c5ae23fbac9771dc1514e3f70a2a4133197",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 16,
      "source_fingerprint": "dbef26f51076ade26e45f524d20f9810aa48c9c6dee2cb17d027ead4e236bba3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 17,
      "source_fingerprint": "0ce67e2974ac5e9be832e56a2466e550320ebd8a3fcc72b856197573b080fc4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-24",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 24,
      "source_fingerprint": "903f68dc80a3d9a2ab3b4fbd46bbb9af50bc5529c9774b5eaed511278a043747",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 25,
      "source_fingerprint": "06df8cb9ecfaed84d4b7df5b1e55690822a73561f7f1a6598ef149b77ec8eb3f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 28,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-35",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 35,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-39",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 39,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-18-line-43",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 18,
      "source_line": 43,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-18-line-43"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-19-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 19,
      "source_line": 13,
      "source_fingerprint": "7f565fb74606e9855ea8fde3049623900af2c12732fec2329205ae2df8198369",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-19-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-19-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 19,
      "source_line": 16,
      "source_fingerprint": "28ec2cfcc357883fd7b2a9444f2a8575d9c3de096f28a37ba8fd24c2d8fa1ca8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-19-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-20-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 20,
      "source_line": 10,
      "source_fingerprint": "7a3392b061575b97fb7b056f7015151e1d04110cba0fcedf7d5376e1f6803a29",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-20-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-20-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 20,
      "source_line": 11,
      "source_fingerprint": "014958a88e2f54cd136a77589ba9a4084a1597806ab3045b41dbef9d55e7f813",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-20-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-21-line-2",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 21,
      "source_line": 2,
      "source_fingerprint": "ad7370d21334156ca5c84c92cef7ae362a0f5715532c2724592192b9690aa2c0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-21-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-21-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 21,
      "source_line": 7,
      "source_fingerprint": "1b046618775d05b9e6fc34d53af98aab2193d44c2c3c388605a1ea9d737e8334",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-21-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-21-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 21,
      "source_line": 13,
      "source_fingerprint": "a8fa734a3731e22c37a7e03bd93d8fdb89620b607ff233cca8cb5458d4c371e3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-21-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-21-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 21,
      "source_line": 15,
      "source_fingerprint": "73c7ef3738c4f78e858e6489b96d88e5e5a520dce1e9a9b704a1e3a8ab1b5148",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-21-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-21-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 21,
      "source_line": 18,
      "source_fingerprint": "69c34158651ee5a252d80c94133f8812e474b6e72d7461d1c373934aefa1ef60",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-21-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-21-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 21,
      "source_line": 23,
      "source_fingerprint": "305730f76918a4907f6224a0cf621d8fca2d71ca0e9f95237e758111e4469a48",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-21-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-22-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 22,
      "source_line": 10,
      "source_fingerprint": "2c35b8c9e438ea6825b0e904d46a97f0cb5007ce93779f014a3a0879cf1821b6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-22-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-22-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 22,
      "source_line": 11,
      "source_fingerprint": "1501c1e5c351c47546ae10f4635c55135630455ddea9b1622960be1a69fdeb40",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-22-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-22-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 22,
      "source_line": 12,
      "source_fingerprint": "93cabb05534580654e34176407f3ab763589e7bf7a804db07de7d6fb8b82a3fd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-22-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-22-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 22,
      "source_line": 13,
      "source_fingerprint": "af9b28f4c36bdbdbb9480d83ac8d6ce9d296e2df27dd7a48de6f5b9a4e4b7427",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-22-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-22-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 22,
      "source_line": 14,
      "source_fingerprint": "145fe70663e1b119aad583d1acbeb3b2baf55dedb1a11452ff85bf5914617d14",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-22-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-23-line-19",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 23,
      "source_line": 19,
      "source_fingerprint": "da2ebc77f6a941a6511c7e0112421e2772b28516b692ed29009db03ecfe028bb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-23-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-24-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 24,
      "source_line": 11,
      "source_fingerprint": "ecccb954faaca4c361bfb8f3ee3427f60f04ee176537b2a40723e01ba4623fab",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-24-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-24-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 24,
      "source_line": 12,
      "source_fingerprint": "f4900219803d1ce70f2a5d18db7d54d192e691dc190a73535947d48b61f04906",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-24-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-24-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 24,
      "source_line": 14,
      "source_fingerprint": "e3a7c585ee344aea4ddb6ef64cdab3709f4ffd0d3e547894be7a4df96446d9ab",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-24-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-24-line-24",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 24,
      "source_line": 24,
      "source_fingerprint": "668bc7ab11552f83df4f54dac6728da3732e20a30968274a21367d35d32c6946",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-24-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-24-line-29",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 24,
      "source_line": 29,
      "source_fingerprint": "2c7f506b692a4e9af09e811b22bd375626cad7e7b661c8ed9c9b62046e3cddad",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-24-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-24-line-34",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 24,
      "source_line": 34,
      "source_fingerprint": "96add4af3728c4b0b0092d4a806265435984f7474a63589bafb4d4f4c7c7a192",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-24-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-25-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 25,
      "source_line": 5,
      "source_fingerprint": "da00e6e87185700a0032b4b1f0b3ef5f7f344144371d083a7d372b0b34731ada",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-25-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-25-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 25,
      "source_line": 8,
      "source_fingerprint": "13e192dbabd2a5b45a7ab6845940ad781d129da7ce103071f07b34aa4a89a2b2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-25-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-25-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 25,
      "source_line": 17,
      "source_fingerprint": "6a29dad80e202138f93e7c72c54ad1f827d276ca7c983457acd84a00cfb49ba0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-25-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-25-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 25,
      "source_line": 22,
      "source_fingerprint": "04c71d0b7305557787cb7ea903357a18cc9109c5ffa1eac0c770181d45a0c8a7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-25-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-26-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 26,
      "source_line": 5,
      "source_fingerprint": "69200c8ec0d83b6746d9d9174d8a857b2f843b5f0e0f5017a851b45a5fcd8881",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-26-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-26-line-27",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 26,
      "source_line": 27,
      "source_fingerprint": "fc5cb4637768c961b33469fae6f082d432ef1b28a7bb902610ec60ac3d4eb43a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-26-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-26-line-29",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 26,
      "source_line": 29,
      "source_fingerprint": "3ad415aced539d0941b1f5cbbd44b007f59a604981c87c730a6ad16716675773",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-26-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-27-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 27,
      "source_line": 13,
      "source_fingerprint": "889b89eb9148c82520daa1c5153e70de89cfb24a331ddbdbbf62516d7b001ef0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-27-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-28-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 28,
      "source_line": 4,
      "source_fingerprint": "51ae0ae7dc3b63cdb4983873db7f062f81be4dd754603c16b1618b83d68423f8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-28-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-28-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 28,
      "source_line": 23,
      "source_fingerprint": "ef7015815a2d70ae13698b936f602173f8a903e2e93d32fc02e88cd6ba6ced86",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-28-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-28-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 28,
      "source_line": 25,
      "source_fingerprint": "2de0507504308c7f8d93175a265c87132db7b047e1fa059eb8322534a1fc99c6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-28-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-29-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 29,
      "source_line": 11,
      "source_fingerprint": "04f4a4e94eac05cd30dee7a93e22bd85f5519247c4c778df821d85a60b91026b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-29-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-29-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 29,
      "source_line": 13,
      "source_fingerprint": "3e4d25309e354f295e5882315aea88c880ee96386a3c0d062c08a2fb0c42a973",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-29-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-29-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 29,
      "source_line": 14,
      "source_fingerprint": "1b3e1cd7bde9d8ef34d161a063f276dcbfa06651c456b35faa7474eb6c5be609",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-29-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-29-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 29,
      "source_line": 15,
      "source_fingerprint": "a9a4560c6d404fdc0ad421e9f285b453c517c02d470d593f6a0942f3e0dbbd83",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-29-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-29-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 29,
      "source_line": 16,
      "source_fingerprint": "3d47db9716bc31e7076d8eee11f92fd665bd9cb51050737bc99eda289c59f250",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-29-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-29-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 29,
      "source_line": 17,
      "source_fingerprint": "d68a89f650309ca0c91102178ee94e59817c18e317368df6fd1a2b313a23b86f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-29-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-30-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 30,
      "source_line": 3,
      "source_fingerprint": "44d30ce0be68710440905eabcc2ce24be2272f29f30cafb55065327f6cee2305",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-30-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-30-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 30,
      "source_line": 4,
      "source_fingerprint": "a45e2b794aee542125b92d35c033c45e1ddb1ecca8d000b3a02af4227d862080",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-30-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-30-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 30,
      "source_line": 7,
      "source_fingerprint": "710e30d03cea26f62b4454cd86e1f9ee7e081a2ba3739cb69a3999704ac37570",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-30-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-30-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 30,
      "source_line": 8,
      "source_fingerprint": "f1f10a03384d3ef10cae66eaf46fce630f853269d90b5a6a4bca45900f35edd0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-30-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-30-line-19",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 30,
      "source_line": 19,
      "source_fingerprint": "8502746c6761831d5c3d8d7fc408c92c2d407e7e14ab5b9db1a92ab66dca8376",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-30-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-30-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 30,
      "source_line": 21,
      "source_fingerprint": "768fa3cd6faee7d55bebe2f82780c64a09eff6c547c16cd2c41232bd0562f425",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-30-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-30-line-27",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 30,
      "source_line": 27,
      "source_fingerprint": "53f7f569b513076c6e1b5ce33ed7799b24231ff4467bc12e2b740f5574764884",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-30-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-31-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 31,
      "source_line": 4,
      "source_fingerprint": "7f7acb383214b4221004057412c5da73216c014ba3ed79a8925b014be52a90c1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-31-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-31-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 31,
      "source_line": 7,
      "source_fingerprint": "5a777475ee747b546837d26b634480e0a0772ca9a5ff3cef0e45de3f72507545",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-31-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-31-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 31,
      "source_line": 9,
      "source_fingerprint": "35ae5fc58eda8579752db82d8d25ea25899b2ff81f3acca42b516fa16485a347",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-31-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-31-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 31,
      "source_line": 11,
      "source_fingerprint": "a4a7ccb514bc628b46c9ce9cb2f6c19348022c09370ada53e784b1fe0af4e600",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-31-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-32-line-35",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 32,
      "source_line": 35,
      "source_fingerprint": "4e8f9e5b80a233bdce85681f797378fc4158833f4517a47b4957e4f91115acee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-32-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-33-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 33,
      "source_line": 22,
      "source_fingerprint": "1b500501394e736a9853daef8b70b7b991819627a1f179504010504f9b0057b0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-33-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-33-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 33,
      "source_line": 25,
      "source_fingerprint": "e6600d0d1651516ab24b7c6bca7146a48930d4285951c459759cf512d3231cec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-33-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-33-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 33,
      "source_line": 26,
      "source_fingerprint": "669530ccc7cdec57b0abfcd3d911b2dedbd4a7717d02e30ed438b2d7963ec7de",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-33-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-33-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 33,
      "source_line": 28,
      "source_fingerprint": "c99966b81c435e18558c74f6c964d7fd38587aa6fe4bc56c7b16a34cdb02537f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-33-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-33-line-33",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 33,
      "source_line": 33,
      "source_fingerprint": "1181eac61424871b430d087414dba686e9f0f7a9ad61a16796673df34dfa9048",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-33-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-33-line-34",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 33,
      "source_line": 34,
      "source_fingerprint": "4e7e34f1f89302e561a66871f0ad645d3e2d2abf800f1156931bf030b2304c0b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-33-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-34-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 34,
      "source_line": 7,
      "source_fingerprint": "cc0483b921ce9036fb77b90fa97cffa016fb9a52afdd14b9d5928e91e5a140cf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-34-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-34-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 34,
      "source_line": 16,
      "source_fingerprint": "d7d7b36aa2adbbbadedaef4d6d0b40e570c2116c354ffb80c20051f4d3397883",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-34-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-34-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 34,
      "source_line": 30,
      "source_fingerprint": "0f27e7f22282da2e77927eef2cf8221422ec6836983bd4dfc733eab3c969bdda",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-34-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 18,
      "source_fingerprint": "2eaae383c5003b5376ee357582dca3ae800156233831d9ad800b68de16ab30e4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-20",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 20,
      "source_fingerprint": "88389925ecbfdddddbe5da3b658f284726fc5e2c69b26b1d7f591cbddff57d90",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 25,
      "source_fingerprint": "751cee472db4d848bde58a403a22d1757567b97fac7b0f4e4d81f8a479c47510",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 26,
      "source_fingerprint": "4e49a71801c83848635f9b3e4336b2863c9f3712ccdfe1a4522941965f49dd0e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-29",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 29,
      "source_fingerprint": "b97c0fc7fead2c4f827b279971e1240970e7510b6d98019058252d7f84fa3568",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 30,
      "source_fingerprint": "7c3c025c839d412b8b18fe00e4cbb2dbd4e3e0fb8b9dc481722c135f4f9fd16b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-32",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 32,
      "source_fingerprint": "ac163dbb1f0b9ef6156505790764e6af7e6ea78d2af810d12d9e02b7001b385e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-35-line-33",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 35,
      "source_line": 33,
      "source_fingerprint": "e28da7ef5082d6523a0ae3273222b19a4bdfeb1a81970ed363238523b3d1caea",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-35-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-36-line-2",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 36,
      "source_line": 2,
      "source_fingerprint": "5d50946473649db16b4002e4d14939cc1fb1c1998456180b93269d2db974dda7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-36-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-36-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 36,
      "source_line": 7,
      "source_fingerprint": "6c21d6543ebbe60dff4631658d44c82f347672fa0ace0d9c3f4108f9cb37f9b9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-36-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-36-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 36,
      "source_line": 8,
      "source_fingerprint": "b3dd7351c759c5a1fc1c09cd6e411319aa275645411048a2f89c86066f06869c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-36-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-36-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 36,
      "source_line": 11,
      "source_fingerprint": "f7d9b669863d1ff08e53a1a501b07a38e3878367362c769143f9d4f9422ca978",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-36-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-36-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 36,
      "source_line": 12,
      "source_fingerprint": "b1cd14fe8a71cfa8397a707476dffbe23ab7e8539c552a6a2d151e098ec1aa0b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-36-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-37-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 37,
      "source_line": 26,
      "source_fingerprint": "dd7f6e9b189dd7969a5b281a5641cab6095f618ae582ee3ca87aa55b9930a8ba",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-37-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-37-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 37,
      "source_line": 28,
      "source_fingerprint": "a5dbd1d1abbfd00ae80f0cfc9c6b5493eb98d9d4376c91bd08c50527a6a0fc18",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-37-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-38-line-2",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 38,
      "source_line": 2,
      "source_fingerprint": "db04121af8f8e7ce79ed1ac23ffab25f69223e973bec7d8cdd0d615c8fddeb57",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-38-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-38-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 38,
      "source_line": 15,
      "source_fingerprint": "7684acdb685188559379009ab95d58b46aa8869fee3eb3de3ebe448546ba9b9e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-38-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-38-line-20",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 38,
      "source_line": 20,
      "source_fingerprint": "54d9c26128d2d4a71c9d0bc496083aee6876365fb4f9d55b9dc235acbdc78dd5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-38-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-38-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 38,
      "source_line": 21,
      "source_fingerprint": "50bb4f17eb180e50826f73bb2a8394d60b3ffc7262ca2ff253d1a8053403e07c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-38-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-38-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 38,
      "source_line": 26,
      "source_fingerprint": "f9b0372dd5b66fa4fe0215cdad24daba55fa7ea1a6587083fa207fcece973069",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-38-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-39-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 39,
      "source_line": 21,
      "source_fingerprint": "bc8e860df992c61e63fcc67554ca4c15d2c22742a8559729701164e4029b47ba",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-39-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-40-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 40,
      "source_line": 4,
      "source_fingerprint": "7c7ad740f022657a0dacc926487b5083516b7e8f9f6a95d2a4c596acfc71a56e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-40-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-40-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 40,
      "source_line": 6,
      "source_fingerprint": "0055f93ebc31eb6216cf2908db7f82b0c99a7663aba6cd07c4feea0d8f728ae2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-40-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-40-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 40,
      "source_line": 7,
      "source_fingerprint": "9e3193155e7c7b2f346ad263f2487043361af23b68115eb146e2e586a26b42bb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-40-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-40-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 40,
      "source_line": 16,
      "source_fingerprint": "647a6aae98fdb35625251c78e943c42287916767c6eb819641822f8df0dde0bd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-40-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-40-line-19",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 40,
      "source_line": 19,
      "source_fingerprint": "7248bbf805318e71bca38bc666f8bfbae9574ff74cac2c1b6ff88c370f32e62f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-40-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-40-line-31",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 40,
      "source_line": 31,
      "source_fingerprint": "122e931ea8f59917dced4c15d6b83c9153a3fcb6e12bce60f90979aea6fcbe04",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-40-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-41-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 41,
      "source_line": 14,
      "source_fingerprint": "fa5c4713028b07517d08ed063a1709c0a4e2d782940706ff0f4a9fd2e334e468",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-41-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-41-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 41,
      "source_line": 15,
      "source_fingerprint": "0c5eeef112858568baeea2b26e5c75f3bdab4f7aa04f6037042f3c18bd034a51",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-41-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-41-line-24",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 41,
      "source_line": 24,
      "source_fingerprint": "3914368b5a9e2944bec3ec225ec08ccd39fe3e9b01ee9c5d7b89b83080400365",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-41-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-41-line-32",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 41,
      "source_line": 32,
      "source_fingerprint": "3a883ad8d948379d5b5ab7e3727beaccb653a80817504394c6d6af026ece88fc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-41-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-41-line-34",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 41,
      "source_line": 34,
      "source_fingerprint": "43463d5e87a731a2d3fdb6570b92e4a5cea08616b8b33042686105c976a879d9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-41-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-41-line-36",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 41,
      "source_line": 36,
      "source_fingerprint": "83031f01149bd7c756666d6e568caef2e133e2240a120ba3f0a706c2bd3ed2f5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-41-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-42-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 42,
      "source_line": 5,
      "source_fingerprint": "5e74801c5510b12b63f75b4e077511bdf16c0d61c594cbab2f940a11ee809675",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-42-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-42-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 42,
      "source_line": 9,
      "source_fingerprint": "b97c0fc7fead2c4f827b279971e1240970e7510b6d98019058252d7f84fa3568",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-42-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-42-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 42,
      "source_line": 10,
      "source_fingerprint": "d299a31daa37aea77cf5d308fb309158453361d2431e62598e03b17a87cad87c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-42-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-42-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 42,
      "source_line": 12,
      "source_fingerprint": "a882be096e1a6a69af1f23e90002c1d646b4fc339d05a77f928dd1e2d333077b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-42-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-42-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 42,
      "source_line": 16,
      "source_fingerprint": "b65732ecdc43651cfa36759b5c4425db76dae49b412d984a7af69cd2545c399b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-42-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-42-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 42,
      "source_line": 17,
      "source_fingerprint": "e5c357aa62b09f637d79498462d8c110420516a67e835d34b580aa5cdc076cd2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-42-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-42-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 42,
      "source_line": 22,
      "source_fingerprint": "3adec10d61d5923ee653e539d87a8ed2261be79db3e17dcc1e461c686f8ea234",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-42-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-43-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 43,
      "source_line": 14,
      "source_fingerprint": "0f573c5d7caefe18c7fe55ed29366e40274b56258585503927e50a2a88b9f987",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-43-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-43-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 43,
      "source_line": 17,
      "source_fingerprint": "5f846bffa2a98d8a3eb695896acdb4abe53844ed12400476d4c90acd1078dfc8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-43-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-43-line-19",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 43,
      "source_line": 19,
      "source_fingerprint": "7c38c1c569aeb7cea22cfd86604f8fc0c7455c61b05844e7e90f147bbdd3be15",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-43-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-43-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 43,
      "source_line": 21,
      "source_fingerprint": "e8a39b99e0117f3c508f837dddb328a22f4f66650045b4dce96c8edbf4031dc9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-43-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-43-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 43,
      "source_line": 25,
      "source_fingerprint": "46c238b7aee1c216bf140bc66a1ea1907d2b6a9ecc4042ed4b45ffad4dd82d1a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-43-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-43-line-27",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 43,
      "source_line": 27,
      "source_fingerprint": "15f13d506f29314ff9c2c5424d351a0e5e7c73f24365ccc4a2a0a466bc728c35",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required/should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-43-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-44-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 44,
      "source_line": 6,
      "source_fingerprint": "748c49e06988a91d9132839aced3c5eee3cf630b6c699f63b4585507412d993e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-44-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-44-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 44,
      "source_line": 11,
      "source_fingerprint": "0cced63c9292f461b72571071ebff3f28a2dee74645930ce258501da351334ec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-44-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-44-line-19",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 44,
      "source_line": 19,
      "source_fingerprint": "cf56d08ebebc1cdc5423557faea42095fc77c2efb9053b29b4645b28f869b3ea",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-44-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-44-line-20",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 44,
      "source_line": 20,
      "source_fingerprint": "a170c11604686eb0a2464d9187e44277af2987ef4ccdeca92e02d9978ff4bb13",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-44-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-44-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 44,
      "source_line": 22,
      "source_fingerprint": "0b8b20100c2a0ba0b99cb4abcb2bb7ef951b8a6021336fbb9d2b6757ebde936d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-44-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-44-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 44,
      "source_line": 23,
      "source_fingerprint": "547ecc43b3ab43932f39ae05567afa7a801cf55a414b63a4ba381d654949a0b6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-44-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-45-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 45,
      "source_line": 10,
      "source_fingerprint": "1a16dfee5439509f598c1944536865ee63caf158e08609521d45d84a0b3eea97",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-45-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-45-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 45,
      "source_line": 11,
      "source_fingerprint": "6b2c8b89b98c34020f977d410a152eb050d1e14d6b8d74e25798ded54e21c472",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-45-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-45-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 45,
      "source_line": 26,
      "source_fingerprint": "d65dca66ec165f2c4a10cd8fcfa560a7ecb9565b9a5e85a03dc4ab9b94c113d1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-45-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-46-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 46,
      "source_line": 13,
      "source_fingerprint": "213fcbc4a3b1e8977fced6b084d6dd40e8358c68e183cc273a9e78ea59deb33e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-46-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-46-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 46,
      "source_line": 15,
      "source_fingerprint": "7e49cdab64ef65f0d5707b2acfd418b733d56ad6b853eb86bc50cfd2dd2a2ec7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-46-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-46-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 46,
      "source_line": 22,
      "source_fingerprint": "8fc60829a154924f6fa6e6ad1e377d1e0b8d289d7beec52fdc3e374bc2535b90",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-46-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-46-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 46,
      "source_line": 23,
      "source_fingerprint": "62d6c503b8fef96ea40544c99f94a118dac16c91327186f6b3feed668edc3b48",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-46-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-46-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 46,
      "source_line": 28,
      "source_fingerprint": "27287bfd726bd55f4359e405febe3364578a0e6022d0725dee1746da5ce5ab5d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-46-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-50-line-2",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 50,
      "source_line": 2,
      "source_fingerprint": "f80baa0a6c062ab2edbc78ac6a8c2ed3523d6ccd7019a2e697698b5f0644bf6a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-50-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-50-line-27",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 50,
      "source_line": 27,
      "source_fingerprint": "ac3dc8ed9342700780ea60efe280b293759b0bb79ce92eeb73c946ddadf6ee80",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-50-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-51-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 51,
      "source_line": 16,
      "source_fingerprint": "e668134a7408ffc9bda20ff5cf4c38a77891d0006ce9606e6d6cb5d0f5dfa808",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-51-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-51-line-33",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 51,
      "source_line": 33,
      "source_fingerprint": "63e2a9260f0241197067cd00188a30dc9441e74d038628ebf40adadb88131566",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-51-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-51-line-34",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 51,
      "source_line": 34,
      "source_fingerprint": "fd0430e233c6e965b4b192a45f8d3bfcf36283cbaa419232b97aee45b310e7ff",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-51-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 3,
      "source_fingerprint": "84bdefa104ae1864a689e1a4e516b92b373132fa6a39f55ea9b8e0cbfbc19e6b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 4,
      "source_fingerprint": "3b2a3c14f8b4f10869f0165f554d4e685c301f6be567d63586dc091e0c8e5ced",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 7,
      "source_fingerprint": "09c33a475d37e71d65e122c190872318383447a77b3bbaf0a8bf111e9bc3fe4a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-29",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 29,
      "source_fingerprint": "65c3e1b887831df7538f300510131c7aef0a1bb9255c52d6a108d48e59696885",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 30,
      "source_fingerprint": "5f265d16bbd9213d9019c3fe182178660dc912595640f3e958474fe9bc7e2706",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-33",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 33,
      "source_fingerprint": "f7b3fd2ba49b07ba009fb373dd0cd258f1088bd831b0927e03fec305a9651f80",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-34",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 34,
      "source_fingerprint": "e9350d21a0c7f4975d62c9345b0c8e0cc3810a0eab9f2bb80eacf41235ca2ac2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-35",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 35,
      "source_fingerprint": "f64df26552088efd971a785aa69dadce39da05e413a8927b05f8d51578fc3380",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-52-line-37",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 52,
      "source_line": 37,
      "source_fingerprint": "8d02419cc6276d265508d3fc94314f99ffd677540aabe339209144cee5ed717d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-52-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-53-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 53,
      "source_line": 8,
      "source_fingerprint": "46aa107b0cab95291a1aa91376a167f0d6d8d24834efd07d9b35b31bd1c21baa",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-53-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-53-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 53,
      "source_line": 17,
      "source_fingerprint": "13d45c33fa739eefe20ff9c3fcc4e562a55bde4c29bfc66e99a9e2239c27001e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-53-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-54-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 54,
      "source_line": 16,
      "source_fingerprint": "e03f9d50a54048cb9693cce08698a05668cae1460cac5aa5a8a427680720cd4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-54-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-54-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 54,
      "source_line": 23,
      "source_fingerprint": "1046fb7010848fa96578a1bc45123f3cc208c9961850e094bf650f500379b1a7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-54-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-54-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 54,
      "source_line": 30,
      "source_fingerprint": "13d45c33fa739eefe20ff9c3fcc4e562a55bde4c29bfc66e99a9e2239c27001e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-54-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-55-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 55,
      "source_line": 6,
      "source_fingerprint": "b21f72d26a71ad7a662500eab5f9dfabbcf18e2ea5f8c1c5995f284d31b15231",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-55-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-55-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 55,
      "source_line": 14,
      "source_fingerprint": "13d45c33fa739eefe20ff9c3fcc4e562a55bde4c29bfc66e99a9e2239c27001e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-55-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-56-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 56,
      "source_line": 17,
      "source_fingerprint": "2f5eb36afe6ecd3f065077e663a18df7fee04a6065bed063c475c20a022fdef3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-56-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-56-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 56,
      "source_line": 21,
      "source_fingerprint": "2700b844cf24615cf0c6f73a1fbe65ef1a4e9e0ddf43a25d50b3df7d2b6df6cf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-56-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-57-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 57,
      "source_line": 16,
      "source_fingerprint": "b868c10ca3cbc04132398a389d783c02f433e9c7210952ed164dfad5e5a54fe9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-57-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-57-line-35",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 57,
      "source_line": 35,
      "source_fingerprint": "e65cce9a735c763b3744696a97bcd4f0984195b31217a962eb2ab3d85956f5c5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-57-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-2",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 2,
      "source_fingerprint": "d83b408d13afad16ad143dd0e05f586eddb0c867a7e5529d7d605dbccbf5565b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 12,
      "source_fingerprint": "e5d3508242f0c84ecb09b096eb6663c33b4eaaeac4ab303be668e1e39ebe6ec9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 21,
      "source_fingerprint": "af1d45babdd6a57c4d763e051c0f0d480ab1b42ab94867039f94983d3ff3e941",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 22,
      "source_fingerprint": "a4cc849c60dcde2d8e7623c9da936a2e4b2f8c4dff872c8dea49a376311c6a40",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 23,
      "source_fingerprint": "34682a5adb4c8b584719680fa622551cf58b9460ec9e40048919e016924a16e5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-24",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 24,
      "source_fingerprint": "07d9e443e8373739f7a34f2ef56d301d806344d96dcf89998d450ac4fee13fb3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-36",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 36,
      "source_fingerprint": "ba8a2652a7514a6a9194ac9c61b49d7d8f26e718cbea609a8c3cf112a20d9f0f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-58-line-37",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 58,
      "source_line": 37,
      "source_fingerprint": "b67ae7d6f0fadf6e897b0c37c14e96e6dfb6149eb0892495d93cc25118f665fe",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-58-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 3,
      "source_fingerprint": "d9d8c71beeb3f1c730d487fced8c89b8cb0dc349a5285bc5d171a16e46b8cdf1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 4,
      "source_fingerprint": "8f491065c6ea926dfcd5e633f7b816a6777c17a21df509f22dfa72357c4dd5e7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 6,
      "source_fingerprint": "6fda7972e352f01ab02aff25c32f25d32b7f16477f233c362a48e53973a7ce7f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 7,
      "source_fingerprint": "53d48c1bf406e29ee54569b1fff0e8cf42cfa0cb8a9d87f8abe152de8854ac2e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 12,
      "source_fingerprint": "41296cc6f98b393d8d21383677d6e8544d0c6299a763c235ed59677a8ed1776a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 15,
      "source_fingerprint": "7a58e690d8fdf39858d635886d92ed31b24ce7a6ace042084cf61be685a3c589",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 16,
      "source_fingerprint": "3f3fc990f2cf1c8d443b108a87a4b0ef4a70bdebcea6b71d74f4d9b4e140da58",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 21,
      "source_fingerprint": "a0b6e081d328b8c3d7bc2d6bcbd1c2c2182c0d8bdd98cb81f0d194b373f38396",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 23,
      "source_fingerprint": "5b4ff87517175ac529c8d82cf07874eeb9c7fd8447f5941926e9f41f54cf9a4a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 26,
      "source_fingerprint": "3c5c4ac7dcdc317dbe096be17fe568af766f7d6d5cbb63cd9ec62cd3cb90f42d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-59-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 59,
      "source_line": 30,
      "source_fingerprint": "e99db28f1abb5bea770444f2b64605d23f0ca6ea295012440b2ee0f6f6573ebf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-59-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-60-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 60,
      "source_line": 22,
      "source_fingerprint": "6ee0d10fe18803ec04087764e360b646f7f6b3cf6924fac5da6843cdbc4d625d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-60-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-60-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 60,
      "source_line": 28,
      "source_fingerprint": "be48b6fa3ca787bbc3f3163363ac211e19b53eb346b9a5f3edc835df779647a0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-60-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-61-line-2",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 61,
      "source_line": 2,
      "source_fingerprint": "3b07b6e9b5c207b1623d49211084ae707e41776aa67085df18190e054c960268",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-61-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-61-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 61,
      "source_line": 4,
      "source_fingerprint": "e283f4381009bfaaa7863733518237e0e8237b8b7d1360aeb121887d001cd5da",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-61-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-61-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 61,
      "source_line": 15,
      "source_fingerprint": "c56249319eaaba27bf9a9261391545559ca49600d95d60bff5bf2d70ed06ea1b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-61-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-61-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 61,
      "source_line": 18,
      "source_fingerprint": "20b5b7c367f11df9e9efd595476af968823a88c9daee31cfe3c2bd405aba5e85",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-61-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-61-line-20",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 61,
      "source_line": 20,
      "source_fingerprint": "9efe29f4d050ecd66b317cdc6d8be131d7d08fb306801f94924677b81a275e23",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-61-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-62-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 62,
      "source_line": 3,
      "source_fingerprint": "23052890f483c7ad923a427a782b14f2791dee6538221cd4d3b847dad75ea6b8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-62-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-62-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 62,
      "source_line": 7,
      "source_fingerprint": "d56afc960abdfe2c59b293d2e4f09be10bcc7ff47775b984a26b9b441d36534b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-62-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-62-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 62,
      "source_line": 9,
      "source_fingerprint": "9f6618e2a526a134205c52bfee47f01c2a5624305a42c8ed3fb173e8c5b381fd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-62-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 3,
      "source_fingerprint": "3a9fe20e8f26bf693e2e70ad345d98e1c178719fc9f938e218ecab8f79a6f075",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 5,
      "source_fingerprint": "598d8576c73c19afe3133db18b406370194b22ba7cf6e97962bd96dcc1679a3c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 8,
      "source_fingerprint": "de88b63dafef7fe0d7fefa93c1adc932b90c07b06424812f1b35f5f7e361e8c8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 11,
      "source_fingerprint": "37fa9b3eb8ab65d2e7f95b7c3602b5eee3e3048a74ebbb32b6f5e24ae813312a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 14,
      "source_fingerprint": "a99c35d575f22198de0636553febae535e0b496763b2c12560bdb7a318cde19c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 16,
      "source_fingerprint": "962cd03702db5baef6c840179459ecc3da3fe69798a8cbe84e681bfc20f30d5c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 18,
      "source_fingerprint": "3cd28bfd1dae82cbab6428d0473c62aaa0de55d56f0fab9f1f184c97445939ab",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 22,
      "source_fingerprint": "2306fb8443e9d948cf7283d72d1c3550b124d5020277d2293eb71388ad3a6b43",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-24",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 24,
      "source_fingerprint": "78cd86c8163d0fb8332e99582e8e604bb95929c584d335e1b2d4172032ce3ab7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-29",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 29,
      "source_fingerprint": "b1dfe7ea51f88717cfa891a25ed49e559623441a947f84958f0589a6fc0d3f2c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 30,
      "source_fingerprint": "3cfbed9cfb90a230efac3245b3423d62eb0e729d73bc17ef28493e2923facf85",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-63-line-34",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 63,
      "source_line": 34,
      "source_fingerprint": "cc5bc44c6463260ab42de70f122c5b17b8d7d5ea858198c3abd861a1cc8e9ba8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-63-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-64-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 64,
      "source_line": 3,
      "source_fingerprint": "e53cb4f0170657dfc05c98f42f0f96dab2212c11a0024582355a6bce2625c925",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-64-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-64-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 64,
      "source_line": 5,
      "source_fingerprint": "c79ba9ef2b6968cba8f81f3c9ec53e66dec1a477c1b3374b405e1af39354193e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-64-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-64-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 64,
      "source_line": 10,
      "source_fingerprint": "2306fb8443e9d948cf7283d72d1c3550b124d5020277d2293eb71388ad3a6b43",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-64-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-64-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 64,
      "source_line": 12,
      "source_fingerprint": "78cd86c8163d0fb8332e99582e8e604bb95929c584d335e1b2d4172032ce3ab7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-64-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-64-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 64,
      "source_line": 25,
      "source_fingerprint": "9c1adc171cb4c353e17d6713e426cfd52f303446371ee50c03ba1b5ade008b4e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-64-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-64-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 64,
      "source_line": 26,
      "source_fingerprint": "b78f6ed9e12c4502570fb444ed1724361d74f1ca8ac4bc61986eaaa86bfa7ac6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-64-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-64-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 64,
      "source_line": 30,
      "source_fingerprint": "2306fb8443e9d948cf7283d72d1c3550b124d5020277d2293eb71388ad3a6b43",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-64-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-65-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 65,
      "source_line": 3,
      "source_fingerprint": "78cd86c8163d0fb8332e99582e8e604bb95929c584d335e1b2d4172032ce3ab7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-65-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-65-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 65,
      "source_line": 10,
      "source_fingerprint": "868395ae8df79244d3848741b92a8c2e55eda1b5f4ad0e8add7a4d08f0b8790a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-65-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-65-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 65,
      "source_line": 11,
      "source_fingerprint": "8b9847bd01b68a7ec772b760310114ef8836ab5b2d47a86bbaec2fd7bc54e42d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-65-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-65-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 65,
      "source_line": 12,
      "source_fingerprint": "576e8e4da8c9741c888813ff9812dc0d033c3c6bef8e7d9799ece01386677712",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-65-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-65-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 65,
      "source_line": 13,
      "source_fingerprint": "fcf5dadb100cf270592c5b9880fb3d319a2ab11c493d31aaf268c393ccee4876",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-65-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-65-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 65,
      "source_line": 14,
      "source_fingerprint": "c2ce0c48abdbb1111e2bcd3dede571616ca796070a74cacae50f69371edabf8e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-65-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-65-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 65,
      "source_line": 15,
      "source_fingerprint": "29e6876c7ce711f09ba6aa3202753981855ce697a64191535447f14cb0e0867b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-65-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-71-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 71,
      "source_line": 6,
      "source_fingerprint": "9f65e9fecefeb6633ea26fe481e922398850daa3a07fc8e2dea4c319048a523d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-71-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-71-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 71,
      "source_line": 8,
      "source_fingerprint": "e9ca6e958a4410b2d0117269debfce0dff6d620fffe2d588c8f9e6ad03ddb1bb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-71-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-71-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 71,
      "source_line": 9,
      "source_fingerprint": "d665ef2f68d07d3ae1d4ba9f369f53edee11af7e59726aee3ea2d0ec366e141d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-71-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-71-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 71,
      "source_line": 18,
      "source_fingerprint": "302d03558f700952731e45b43f272ee05ce92b4c5c21488f5d0d3104d6d9784c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-71-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-72-line-4",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 72,
      "source_line": 4,
      "source_fingerprint": "8cbe99b56f8e44c030354d50f19a31840ba450371d7fb301f8bd4b46b0a13e73",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-72-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-72-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 72,
      "source_line": 26,
      "source_fingerprint": "4cd5cb6d3a62ab6c5047b07f5db686a37e93a10df215affe0d39f1ebdbbb3329",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-72-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-72-line-27",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 72,
      "source_line": 27,
      "source_fingerprint": "8bc84ee4a827b771e0e81dcec773a0033284593630bb075bc25646507953e1aa",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-72-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-72-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 72,
      "source_line": 28,
      "source_fingerprint": "198abae4b8eb959f74d06eca36dceb9e027e567ece06e01af86c884bab376da7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-72-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-73-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 73,
      "source_line": 7,
      "source_fingerprint": "2aa8d65b9b4c8bd6bb70462fbc41752083263108a9429ad6d7bc0ba4c76261d4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-73-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-73-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 73,
      "source_line": 8,
      "source_fingerprint": "d61f579617c9a21c2abe609177f13fa1f4342d28ebf961f0e58b6b3849d4d410",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-73-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-73-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 73,
      "source_line": 11,
      "source_fingerprint": "80f5b1d89e98ffdc57b4eccd1aba6ddab1334741fe021dd7bc96fb6d0e412785",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-73-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-73-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 73,
      "source_line": 12,
      "source_fingerprint": "94f87e0fe5354628fab92112af78c722339158c27a5327f4a8cc63cfbe2d0689",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-73-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 3,
      "source_fingerprint": "7f09a1a68c1c6daa3a553e5af929d0590dfc0a396eb30fb020dabdee7fbc0878",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 6,
      "source_fingerprint": "b7cf51528225e24eb17543312326eabf02d9e0d550a8fe7c87ad8efa488e7714",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 7,
      "source_fingerprint": "6388242fae693980b1161d9da6b26311c6a1879f17e076f37582fbc8fa7b8647",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 9,
      "source_fingerprint": "d6d2b9e0f707e0ebc08e07487a02a654a82c079dd3b6b91eec5cc07d52ca3ede",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-10",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 10,
      "source_fingerprint": "545fe3f1e26c1532a10b042d84e062eb281b2256f6378be2934c101336b922bb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 13,
      "source_fingerprint": "123323e6f09a0a5a2dbc638d994bcd1e3f416432ee42799f570bea744e4de258",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 14,
      "source_fingerprint": "34f489dcbcaf6cf587898a7d35bd903d7f52e8461c5ebe686eb645d60ec06924",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 16,
      "source_fingerprint": "bce5d9b11c93829dcaf31ae46106b61dc3b533860804dcaad72ea005e541b7a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-24",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 24,
      "source_fingerprint": "abb49480240d64603f9d4dd0dfbcb9af920729f6c6996e4f7b60b2265cee8805",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 25,
      "source_fingerprint": "5a9d0c2bdec2cbdbcb61f4ade4d6f0ccb246d606a572d216be720740de7cac93",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-74-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 74,
      "source_line": 26,
      "source_fingerprint": "b43d884b1dfccabf4cdf1504fc56c41d6b50348b823be656c5f4457990807f10",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-74-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 11,
      "source_fingerprint": "80f5b1d89e98ffdc57b4eccd1aba6ddab1334741fe021dd7bc96fb6d0e412785",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 12,
      "source_fingerprint": "94f87e0fe5354628fab92112af78c722339158c27a5327f4a8cc63cfbe2d0689",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 17,
      "source_fingerprint": "0f3f77fbcc89d1fd42d14ff2de57ee4a73eaf1ca38d629683c22f3900a679437",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-20",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 20,
      "source_fingerprint": "b7cf51528225e24eb17543312326eabf02d9e0d550a8fe7c87ad8efa488e7714",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 21,
      "source_fingerprint": "493cdd4c2e84ad341e4a55e6e78d8faf6f637db8f2b5fc90beff8370a3fe95e3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 22,
      "source_fingerprint": "d6d2b9e0f707e0ebc08e07487a02a654a82c079dd3b6b91eec5cc07d52ca3ede",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 23,
      "source_fingerprint": "ec304965dd3951831d79aaa86a5af52bc31f2b465a874619088401968c224f4f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 25,
      "source_fingerprint": "123323e6f09a0a5a2dbc638d994bcd1e3f416432ee42799f570bea744e4de258",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 26,
      "source_fingerprint": "559becf65788d0308a9448c743aea7ba44e830fad5d13d765bf68eeec3a35c49",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-28",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 28,
      "source_fingerprint": "bce5d9b11c93829dcaf31ae46106b61dc3b533860804dcaad72ea005e541b7a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-36",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 36,
      "source_fingerprint": "13f0f005ec5a00859449a5b20dd908bc8622b09646418759269f6847a36a0dec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-37",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 37,
      "source_fingerprint": "2e8f9690f55d408e35177d48793918311ea03e87d43d0654ccc7cc5aaa74aa5a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-75-line-38",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 75,
      "source_line": 38,
      "source_fingerprint": "b43d884b1dfccabf4cdf1504fc56c41d6b50348b823be656c5f4457990807f10",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-75-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-77-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 77,
      "source_line": 8,
      "source_fingerprint": "a072d4e61a5ee611086bb195c159662337beca20c83009bfa45e2baca7a084e0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-77-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-78-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 78,
      "source_line": 3,
      "source_fingerprint": "5596b45d292253dfd03530a9c4e69689f5da4c69f2f35c4f0ba5dc04a937fa74",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-78-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-78-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 78,
      "source_line": 9,
      "source_fingerprint": "389137e13ed2254afa27ca8881eae7a6ea24e2cc228eeb0ccd550b2aeb697362",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-78-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-78-line-35",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 78,
      "source_line": 35,
      "source_fingerprint": "9ed18194fde8f7b309eeab78491f092a2edb6c391bf671ff5887427268b994ff",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-78-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 3,
      "source_fingerprint": "1ac4d61aa9b2dbe789f4dd90649a962183019d259e8aac4642289d90231f310f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-8",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 8,
      "source_fingerprint": "542b3600a75257227b64104f756739030737d393fc7b42731623014db1e4e5af",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 9,
      "source_fingerprint": "37f8bcb6987c39a61031a884308c8c0b8cb4b368708ff250a509a9e0e223ea9c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 14,
      "source_fingerprint": "83c80abe2ca6a48044f5a2d4765e8f838900e8ba666a7e536d5271d2b6b21c50",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 16,
      "source_fingerprint": "7384799eb364f2fce3d5ea8c648784dcba50d05f20526a09894b6068df2b2cbf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 18,
      "source_fingerprint": "4d5b115c2c1c3b902c772f8618a1e8e2c171fe3ca25fe59a001de0c95ef85956",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 22,
      "source_fingerprint": "a79bf2873f016788b75f71ad1875081a01e12e414c5c04d4ef03c71f1faff5d9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-79-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 79,
      "source_line": 23,
      "source_fingerprint": "9f1060db1195f466a71372142b9a027e6c0dd2f7715977d13c078f2597cd640a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-79-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 14,
      "source_fingerprint": "252e0f8f3193cd49443f291fad0009e6327f01333a8430160091ba945075886f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 18,
      "source_fingerprint": "da8afca5252debc5900589abe9c0f34b285647960dd3713d9afad84dc82bec83",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-25",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 25,
      "source_fingerprint": "54f7f2ebd181ab10efd3a47e7d7f357b676810ac953808e4bf85bfc79a8360d2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-26",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 26,
      "source_fingerprint": "61a651e6353a3802404d3a7e2a0944d4f5da48fd94411115cbf9c61b32311083",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-26"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-31",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 31,
      "source_fingerprint": "053d719c6bef7dbbb05fa2a2e2dc5117075349e1b7baf7f895234d8b1c2c6f6a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-35",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 35,
      "source_fingerprint": "2d81366a5c93084e2d92056ef3ee60cc3c3f110aa8185ee8a4b8f9ceac43d3d5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-36",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 36,
      "source_fingerprint": "0b6873d06f9a63db0504b9f6e700a9689e635cc51c48c747c73bbc37e853167a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-36"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-80-line-39",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 80,
      "source_line": 39,
      "source_fingerprint": "2c3ecd63d13fb2a04bf9ae17e86a09ba1a9ddd0078601174cd5a4005ee422b22",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-80-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-81-line-3",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 81,
      "source_line": 3,
      "source_fingerprint": "200bfbf2127dab5b616b3f3f924c5e459c987fe9e7d80149415b0c5276adb8df",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-81-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-81-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 81,
      "source_line": 15,
      "source_fingerprint": "e0a83aa58133bf73d75872b096c36ebd32d4fdf3fbcb7e9a0e999bf8e0ad0de5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-81-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-81-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 81,
      "source_line": 30,
      "source_fingerprint": "986f5a46e020ce1fb0ddac7c676813cee05f25f65fed27ddd85a7f4e7af9f953",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-81-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-2",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 2,
      "source_fingerprint": "813e82850bf7e2ed01cc2f1c963445fcb66e0fc0a8ff28120c81df26741c0d9a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 11,
      "source_fingerprint": "5eeec0b3cf0f3b0a5e4ee5ad98a9f1d5036c3418fd287e24210d800d9a616709",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 13,
      "source_fingerprint": "126792dfd742ee2c4bcd6ca411b157d9b89b3f9d729e4b27e6c2ab169578b592",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 16,
      "source_fingerprint": "01430e00868953d991219d49c1a1d1c9447d6b918b892c43ba93e33541c4ff46",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 18,
      "source_fingerprint": "6aa0a8f4300b36a528f46bb2f88943df7004529181fa86f254e5f9920a8ce0f9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-21",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 21,
      "source_fingerprint": "e025a0a298042f7f7bcd771275dec462db1c8418062a17cba1d4cb5898de0083",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-30",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 30,
      "source_fingerprint": "bb041c8d049942ed795e39625b5f107ea4de381a869790b2e54616d1b148d1ab",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-32",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 32,
      "source_fingerprint": "fa6e96f2d0e8eb37a03d11fa82db8c2b99251e78ea510a2d1c174968ff7dddb7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-82-line-37",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 82,
      "source_line": 37,
      "source_fingerprint": "fa6e96f2d0e8eb37a03d11fa82db8c2b99251e78ea510a2d1c174968ff7dddb7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-82-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-83-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 83,
      "source_line": 6,
      "source_fingerprint": "fa6e96f2d0e8eb37a03d11fa82db8c2b99251e78ea510a2d1c174968ff7dddb7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-83-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-83-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 83,
      "source_line": 11,
      "source_fingerprint": "bc715356452942568a752b4e0b296e449e5694be3cb79cb2ff4ffd4cfb35061b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-83-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-83-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 83,
      "source_line": 13,
      "source_fingerprint": "3e1e10e352c98cdde28cab37f8a24b5bdac0afb52c3aeccd21207e44b4059a21",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-83-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-83-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 83,
      "source_line": 17,
      "source_fingerprint": "388b7ee5fe6581d527d7d4570b8507cd128ae0f092d5cc7b905b1d3907ab8020",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-83-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-83-line-19",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 83,
      "source_line": 19,
      "source_fingerprint": "9be3826fda26b33d1be2b9a1a9e8d1f8fe5f7d7631e74ed78ffee9d4a461131f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-83-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-92-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 92,
      "source_line": 11,
      "source_fingerprint": "0d1f98da86ec91f1ca90a69e5644afca2639547c8340f75da324362233c43fbf",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-92-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-92-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 92,
      "source_line": 13,
      "source_fingerprint": "84c55eae6901754f69bc140ec6548adef79d6020701838cdef04d6cc2538c7ad",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-92-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-92-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 92,
      "source_line": 22,
      "source_fingerprint": "4a4c802d929a5004bb6621910f72cd0524c9ff22bbf371c1fe51cea868706bd6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-92-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-94-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 94,
      "source_line": 7,
      "source_fingerprint": "e0790b7748db3fd1ff9e18178bbefc42db0cf0590f6e6bd10e09c7d570fa18db",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-94-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-94-line-9",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 94,
      "source_line": 9,
      "source_fingerprint": "c18a85b7d209dacdc7d68ee6e2c577c8dc94bf60a2c1e701cca9a1b56c54c937",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-94-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-94-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 94,
      "source_line": 16,
      "source_fingerprint": "90e1b799bf9cc7e9f5d79a528ed71df0c86df26a4de0d5cbb69eb85b78dd52da",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-94-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-94-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 94,
      "source_line": 18,
      "source_fingerprint": "22cae7399815950b0310659b8e8301fd6b4f2032c6f00c0e264834174c849d9e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-94-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-94-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 94,
      "source_line": 22,
      "source_fingerprint": "9e93547e5e34c21a339e089ea7ee1946c15370524e3eb0cf4f40cfebca81b71f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-94-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-94-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 94,
      "source_line": 23,
      "source_fingerprint": "3338732eecc1f1f427c1a29d7cfadc10f995cd027a98f477c291d3f63c42bd90",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-94-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-95-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 95,
      "source_line": 5,
      "source_fingerprint": "2b84439eed0617258a2c87805109c641ec3a6805e24184b1471913744a0d4661",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-95-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-95-line-38",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 95,
      "source_line": 38,
      "source_fingerprint": "b1e28922ddef94e94e26ba36464c3c71bf4bf6b592961158be34431e107ed58e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-95-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-97-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 97,
      "source_line": 6,
      "source_fingerprint": "4d057fc258e098dcd4c9c93595048d1b7e79e193c606277f8f622a18be1e347c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-97-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-102-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 102,
      "source_line": 12,
      "source_fingerprint": "c525c59073ff9eb5ab4b2dac8b1a904a7a563611e75fe0fee8bd0560641ed366",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-102-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-102-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 102,
      "source_line": 14,
      "source_fingerprint": "6028d045d7bdd2786ee940243b72f177dbe811073fee21e133022c0edffe5ed0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-102-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-103-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 103,
      "source_line": 7,
      "source_fingerprint": "91fae5ff0397a60d261320a8f3c72c9c7aeedfbcb8b509e3d5358924527ec0a6",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-103-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-103-line-12",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 103,
      "source_line": 12,
      "source_fingerprint": "06cd2c005ab4e129da2c146cf3b549312878718e00f2fdad536f6961eafd0466",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-103-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-103-line-13",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 103,
      "source_line": 13,
      "source_fingerprint": "6743300d57d12e06bde3b6e48d120515dcb1ea6a47e954f62bb7bd8a0479d68e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-103-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-104-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 104,
      "source_line": 6,
      "source_fingerprint": "35c0059ff273c53114dccf74071644f19641f44dc1960d25a8c61aefdf774b90",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-104-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-104-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 104,
      "source_line": 7,
      "source_fingerprint": "9a55ff0c790f2a10472f8aeb7ab22f97c6249f06e679eed88094f653ecd98580",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-104-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-104-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 104,
      "source_line": 11,
      "source_fingerprint": "d4f7090808af2313e6d7ae17188125689a5e2d3e73611d8f60039d9720538826",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-104-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-104-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 104,
      "source_line": 14,
      "source_fingerprint": "9d059636c2e861690d59d43ed2a6202ea0f772fd9b5a72127b4e4e66a4285386",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-104-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-104-line-15",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 104,
      "source_line": 15,
      "source_fingerprint": "8bceabd1266bb3d4337c4918f5b296f519f21aa97752a2a1517788beb1f1542c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-104-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-104-line-20",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 104,
      "source_line": 20,
      "source_fingerprint": "40f255be640ca49e267ee11c52cab534446ea56a8d989d595f048633ad2f4d05",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-104-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-104-line-23",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 104,
      "source_line": 23,
      "source_fingerprint": "7b871e7b0b47d4837bf153678d0f2749e4d50fa23ee38e8c2b2f271589966428",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-104-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-105-line-5",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 105,
      "source_line": 5,
      "source_fingerprint": "67bb82beceb2d8020cef5276910543fbb5e40f6becd5e4333e859e4ff5503001",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-105-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-108-line-7",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 108,
      "source_line": 7,
      "source_fingerprint": "e87057bc7ff6022b01bf3cffba2f743d246e21430a541aa3f5071091bcbb6973",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-108-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-108-line-11",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 108,
      "source_line": 11,
      "source_fingerprint": "a6026f79a7fde1e22aa052000e0c918301c419c84186dfaded013d722533da8e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-108-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-108-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 108,
      "source_line": 18,
      "source_fingerprint": "7a5d5f1e38fff00221af8376931003dc193bd0e187dfcc1a296ed8c566f5f99a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-108-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-108-line-22",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 108,
      "source_line": 22,
      "source_fingerprint": "19027415dcd663c81142fd0171a3411ff91cf7a835518f1b4df524e7a8977155",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-108-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-109-line-37",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 109,
      "source_line": 37,
      "source_fingerprint": "13a96757451c7ad2439ecbb4c77682253be856be1838c02ed0a365744a337483",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-109-line-37"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-111-line-61",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 111,
      "source_line": 61,
      "source_fingerprint": "f2c713383568809cafd513b789749ae448ae08d417ea7f545312a1ea55bb96dd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-111-line-61"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-120-line-39",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 120,
      "source_line": 39,
      "source_fingerprint": "b1438e795480151c01d0d93d66907a7026bda87a354769e8b07581cfbd9086eb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-120-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-122-line-6",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 122,
      "source_line": 6,
      "source_fingerprint": "db9753c20a629183f817fa3feadfb7d572b74c39153bb06f2b7cafacd96a43d3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-122-line-6"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-122-line-14",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 122,
      "source_line": 14,
      "source_fingerprint": "87ddbcea8b3e8a8d57e7f79ea1328c1a670432143f10a658bbfeb5714e907b64",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-122-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-122-line-16",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 122,
      "source_line": 16,
      "source_fingerprint": "d330de6156fd65af656bf1071ef3f37e4403e55c54d619def2b19ffe4a90f4ec",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-122-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-122-line-17",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 122,
      "source_line": 17,
      "source_fingerprint": "3d8026c35697adf5501f3204361a9c9f15a415509dad6a442c301f1ee7992975",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-122-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-104-UM-v1-1-2-page-122-line-18",
      "document": "M2-104-UM",
      "version": "1.1.2",
      "page": 122,
      "source_line": 18,
      "source_fingerprint": "fa9400ae9bd4a3146a633c3f5fc0e4c5ece80ade09e10d1b77759231b98c26ad",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-104-UM-v1-1-2-page-122-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-1-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 1,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-1-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-1-line-13",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 1,
      "source_line": 13,
      "source_fingerprint": "a96859ebec1d7e537b236c428087e2baf8355b8ada39c07bfd6e1a09c57aec3c",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-1-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-2-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 2,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-2-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-2-line-19",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 2,
      "source_line": 19,
      "source_fingerprint": "22dd6818cbb10c0abe70ae063c7a8df6ea092a521a6dc8a3636f102227f5933d",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-2-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is publication-metadata; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-3-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 3,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-3-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-4-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 4,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-4-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-5-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 5,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-5-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-6-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 6,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-6-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-6-line-41",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 6,
      "source_line": 41,
      "source_fingerprint": "9b41aca87c165a28f504587a570db0ae822b5309aadf9fc5716d5275a8857568",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-6-line-41"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-7-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 7,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-7-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-7-line-8",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 7,
      "source_line": 8,
      "source_fingerprint": "3c4e447301d7af89c9c86b4848fc0e22c20b9ef18f1acb9d5c087be19c328cf5",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-7-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-8-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 8,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-8-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-8-line-32",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 8,
      "source_line": 32,
      "source_fingerprint": "8d566c25e315ad5f3db92ebf30e9ffb24187b50a3f2b92beb77182a81c740e5a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-8-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-8-line-35",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 8,
      "source_line": 35,
      "source_fingerprint": "7a4751568dc6e394bb29a3c21c936ae885358b2df025388cebc48816c6cb6749",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-8-line-35"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-8-line-39",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 8,
      "source_line": 39,
      "source_fingerprint": "c7f46d974941ddc715e1f080d90ac1132a54fa389c097f4a35b4d1423ca4c6a2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-8-line-39"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-9-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 9,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-9-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-9-line-2",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 9,
      "source_line": 2,
      "source_fingerprint": "4e13f522903843353263fc7e1b697090b87ecd9f46b658f228967856a5fd6654",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-9-line-2"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-9-line-7",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 9,
      "source_line": 7,
      "source_fingerprint": "644f1fe40e421a16866b8a34ecc501f51f2c1c06612558a00747121de2e9de6d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-9-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-9-line-8",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 9,
      "source_line": 8,
      "source_fingerprint": "5f796e4671b3217ebf844ff289de382e39e3d338e885cd0489b24665c4e7fb5b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-9-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-3",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 3,
      "source_fingerprint": "3670794f492fd13b9988109af0d531edda73333fe8c36f225778e196cfd20b03",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-4",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 4,
      "source_fingerprint": "31ea276a954c6959c2a8a20abd309304c94df27c16ad51a81c469fc6e6488d89",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-9",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 9,
      "source_fingerprint": "e1073c104fd16c10ff9d4f34674c0abf991a8ba75ce46873036eb2c7dae54541",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-12",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 12,
      "source_fingerprint": "21204fb099ac5229c253eecab200b083644a178713c8ec4f2465bca44dbd7bee",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-13",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 13,
      "source_fingerprint": "47f8fdd730d0af6c55bc8d7931ae2c5ae23fbac9771dc1514e3f70a2a4133197",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall/should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-16",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 16,
      "source_fingerprint": "dbef26f51076ade26e45f524d20f9810aa48c9c6dee2cb17d027ead4e236bba3",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-17",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 17,
      "source_fingerprint": "0ce67e2974ac5e9be832e56a2466e550320ebd8a3fcc72b856197573b080fc4c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may/shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-24",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 24,
      "source_fingerprint": "2e8eaa995691d6232411a31b62270be36ad3b6c6c2ca77cbfe233accbb34b1a9",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "must/required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-25",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 25,
      "source_fingerprint": "4243cc224cdaa2ef37316cca29466b7716054c00093fdb40fe05d27d7fbbbeb1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-25"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-28",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 28,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-34",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 34,
      "source_fingerprint": "e03e74ee792899301ee4cb69ad67981cbe0cbc23ecc7e593b1316161ea84ba5a",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "shall",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-38",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 38,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-38"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-10-line-42",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 10,
      "source_line": 42,
      "source_fingerprint": "25803023d49b29a176c8691c841936dd9cb9576998f560cd9d1005ebcabace41",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-10-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is normative-vocabulary-reference; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-11-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 11,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-11-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-11-line-11",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 11,
      "source_line": 11,
      "source_fingerprint": "ccbc248a07b1c7c821a519eb9b30978f44f90d965b5c3e737947742a47db90c2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-11-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-12-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 12,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-12-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-12-line-23",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 12,
      "source_line": 23,
      "source_fingerprint": "0c0b961f5c6e0943300661d8d524f44e73a50f38f3d6e6cdeeb6d17fea3f9ebc",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-12-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-12-line-24",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 12,
      "source_line": 24,
      "source_fingerprint": "f45c16a0312fbdb472c4a48c62432e3949c9f9d80941b734ddc4d7bf4898ec5e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-12-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-12-line-29",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 12,
      "source_line": 29,
      "source_fingerprint": "dc37a52cb2c033207ee733255c2b164fe1102e311283781915dac5f567b37f3c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-12-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-12-line-30",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 12,
      "source_line": 30,
      "source_fingerprint": "8fc60829a154924f6fa6e6ad1e377d1e0b8d289d7beec52fdc3e374bc2535b90",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-12-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-12-line-31",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 12,
      "source_line": 31,
      "source_fingerprint": "62d6c503b8fef96ea40544c99f94a118dac16c91327186f6b3feed668edc3b48",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-12-line-31"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-12-line-33",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 12,
      "source_line": 33,
      "source_fingerprint": "dc782305d63a7cf10b0cd2e4be3ff4f2f6902a8d61fe20df4f086613ac4e1728",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-12-line-33"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-13-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 13,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-13-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-13-line-21",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 13,
      "source_line": 21,
      "source_fingerprint": "eb482840fca078e491e35347b570d9fcd0b98844035a6288295c9f6256132549",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-13-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-14-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 14,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-14-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-14-line-15",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 14,
      "source_line": 15,
      "source_fingerprint": "2cc2c736b70cb5deab18ec822b73de631b188874c2fbbea6e289a37baa3039fb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-14-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-15-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 15,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-15-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-15-line-3",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 15,
      "source_line": 3,
      "source_fingerprint": "77edf03b4b0525e46acc8fed63c4624739fb0a98bb9dcb068ad6d1db30c7540a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-15-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-15-line-4",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 15,
      "source_line": 4,
      "source_fingerprint": "6b46f7fcc97e146e8d8c0c6a9c60e8ae331523d72d310506e4c05c03b7004858",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-15-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-15-line-12",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 15,
      "source_line": 12,
      "source_fingerprint": "700da5581d0109774ecf366e1d04235f83fdf0099b5fd0ddfba1a467795015a2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-15-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-3",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 3,
      "source_fingerprint": "1ddaec830f721833f3816c0365b0a769da9f8d0aa644c60781e046da9aeb199e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-4",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 4,
      "source_fingerprint": "ed6ae16fc541ed79a6099de55d0277eb92c3daebee02ce902e9bb8633c09e89f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-9",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 9,
      "source_fingerprint": "8eba478dc32f735c72b680d16d275c8eb9d2903524dd96cd7ecb731236f2448b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-10",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 10,
      "source_fingerprint": "bb9d15e103d28f2f5c1ad3fb9752592c154963adcadf27e43feb429bdf68c0d7",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-11",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 11,
      "source_fingerprint": "5aaed62b20745e80410cc5071567f53bd40f34da9b5265b5b550811b7b9851e4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-13",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 13,
      "source_fingerprint": "4445bcff943d2e23e6b568713f4c30efd398ed68af3fc8ecee04c5b7c78e4e14",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-15",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 15,
      "source_fingerprint": "c38eabf58546e06954f64a02fbd5b698c5f6769752735076e3278ee560637a50",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-17",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 17,
      "source_fingerprint": "671aacc8c5b51107db3600227d46f59b0b89f8a93e052e1018ae4d723189d48d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-19",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 19,
      "source_fingerprint": "b54c5f1724edc5aaa6f6d6d4a01064494ae5bd10a089d262c8cf6b29cd2b8f9f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-22",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 22,
      "source_fingerprint": "366e8413307792178ae15d4a83cac72a5c4ae99c33b00f7d11f541e6ffd2ae1c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-24",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 24,
      "source_fingerprint": "e25c1ad40f1c00ab137880b020d743c872f8a100fdbdeb9cb21ece5fe7df4560",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-30",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 30,
      "source_fingerprint": "23525ae43c853156ed2efd7e398efb383aea88a98329cdded41b841d1b973cd1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-16-line-32",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 16,
      "source_line": 32,
      "source_fingerprint": "aa258fa38b1f1587252a7c2cc0f3b950db26b1efcc6dd63ad6f1258dd391bb2a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-16-line-32"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-3",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 3,
      "source_fingerprint": "828514b65f5a4e9d31a7cfd9f314fe21ee1e93d66440f914143d497ec2bcdc2c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-4",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 4,
      "source_fingerprint": "d2537d5339b3c4b5bb344e7894733be1b9824399fe3b9f2d6b369f4308399c72",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-5",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 5,
      "source_fingerprint": "a3f919da5aafd57fb3a1acc9b3d483b53a283d41d3b8ea6ac1d88a9af52ab393",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-7",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 7,
      "source_fingerprint": "b1dfe7ea51f88717cfa891a25ed49e559623441a947f84958f0589a6fc0d3f2c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-8",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 8,
      "source_fingerprint": "dfdecbbbd4cb9fbdb0aaa631954d6185cd7b152f2eccff165dfec3977b1c2f14",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-10",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 10,
      "source_fingerprint": "966f41dbddd550c98ed517c69f368a62709c46caf6c0710f3bc3e84cb21750bb",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-10"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-11",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 11,
      "source_fingerprint": "c41c63e6e428c0b00ad3b2c4383ffb66f361c60c06605d7ff253a188a9b38cc2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-12",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 12,
      "source_fingerprint": "7ae02dc05033ede6fe075a517a7f7e1c81798f4c63df3699407d130c75d15f92",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-14",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 14,
      "source_fingerprint": "6aa5a89c0f5f2bdb063f3e1e05ad78ae9a74e05f415b74fdae173242a5e73f78",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-14"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-15",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 15,
      "source_fingerprint": "55a1e855b9116986e1dcfcbbf1950ad188969317f5947157effa7db46810d705",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-15"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-17",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 17,
      "source_fingerprint": "92694beb6ffeb39fccdb1c4d4c329e2b26e8e925466dcb63ed1fa590ebc1b683",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-18",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 18,
      "source_fingerprint": "629207823ca564549af229f4a659b9bf6bced35c023e5de3ba0e221c680efee1",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-18"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-19",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 19,
      "source_fingerprint": "14518abcc53228a51c2567d3fe4fb75f374b564c89eb1762c6f500c20b781058",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-19"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-21",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 21,
      "source_fingerprint": "5d50a48b1c0c13e528a56dbaedeeb0661f07666654f44bf5cc34be2836236630",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-22",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 22,
      "source_fingerprint": "b8f73418707057af2c864d80791845842c2cae93c7067e1e6c129f0fc339bfa4",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-22"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-24",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 24,
      "source_fingerprint": "74474babb7f1d2a27e9dd27232405ac5d912ca909132a979040b14215f94ee20",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-28",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 28,
      "source_fingerprint": "0a07aaffc2895f34c5f4957554c5ef4bb10448359122b05998f37bd8f6eca2a8",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-28"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-34",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 34,
      "source_fingerprint": "231551a890e2b745a499d01565cb952bf81eade8e9123732729b4fecb087cf7b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-34"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-17-line-42",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 17,
      "source_line": 42,
      "source_fingerprint": "9186c7a939468044838d212be7c8eaaced2d87f2ab411b1f1936667a6f184a1e",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-17-line-42"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-18-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 18,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-18-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-18-line-3",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 18,
      "source_line": 3,
      "source_fingerprint": "5062be972132691e32ac9cb2c3d1b0738a1ef4f3b29bba27c49945ecb5cd4571",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-18-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-18-line-8",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 18,
      "source_line": 8,
      "source_fingerprint": "17f7a4f20cf22582118e250f49ada5ae4256b1a983172125463d927a60d39c3b",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-18-line-8"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-18-line-9",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 18,
      "source_line": 9,
      "source_fingerprint": "1d492d7d3b3fa135f2a96b879c4a78d0f33c99712cedeb845fa768cdf65ed9d2",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-18-line-9"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-3",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 3,
      "source_fingerprint": "8e4061f6a0f9f43b9639818634913bd0579f347f0365b67c4724fdbca0fd493c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-4",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 4,
      "source_fingerprint": "e3049d51de1e61f5694797d31716a4f6fbaad52dde0ad6f097490901ad7d8d10",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-4"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-5",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 5,
      "source_fingerprint": "c866720b75d01e29637149895b11639877aad33cf6b1f94774a0a5fc6245d537",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-7",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 7,
      "source_fingerprint": "2b36f9f9f78a7d06c4404554f2b36e56e6ff29f2a10b60b61d40cbf7cbb8abf0",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-12",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 12,
      "source_fingerprint": "99f22236dc1159ea2af8794e6324060d821bd0d347a52e44a74515c5ec9247cd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-13",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 13,
      "source_fingerprint": "f6fabdd01729e96ab53c5c095bdc7e14b5a5a5ff73eb8aabe8413c836f0de916",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-13"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-16",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 16,
      "source_fingerprint": "fbd8855661308e31f1eb6314f5f845490a3962f18602002e84ea8785adc54f58",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-16"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-17",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 17,
      "source_fingerprint": "160c8e60112621542885aa05b41e1affc675d53b61961e33e0fb9f4f958de599",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-17"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-20",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 20,
      "source_fingerprint": "88d723804a8c56128b59a66fdd5fcb71c8d3f2b15acc512e050ee94da34cc908",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-20"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-21",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 21,
      "source_fingerprint": "a4b6baa49cab1cf86fb27710c19a28d692f374a399d05064b9d942a924c68404",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-21"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-23",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 23,
      "source_fingerprint": "b1dfe7ea51f88717cfa891a25ed49e559623441a947f84958f0589a6fc0d3f2c",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-23"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-24",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 24,
      "source_fingerprint": "dfdecbbbd4cb9fbdb0aaa631954d6185cd7b152f2eccff165dfec3977b1c2f14",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "required",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-24"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-27",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 27,
      "source_fingerprint": "a05a7e84acbd4442fe25ec6fa6bdaa054746d7aa0e38c268b54e13948a80f348",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-27"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-29",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 29,
      "source_fingerprint": "6d382d2d2be0ffda688dd508b0fb64d7fa555c86f68cabf67ac6d77b8d5d9a3f",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-29"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-19-line-30",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 19,
      "source_line": 30,
      "source_fingerprint": "7f2e19b93debecca2b81649de939d0ca4881084960c8a0bccbacf02997f04042",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-19-line-30"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-20-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 20,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-20-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-20-line-3",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 20,
      "source_line": 3,
      "source_fingerprint": "272ade7b613892d6cad73a416ae4e316f42c5b29407045cfa1f9b58150751a64",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-20-line-3"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-20-line-5",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 20,
      "source_line": 5,
      "source_fingerprint": "8f7718f3a243b145dc102cdae28fa1ef1133fbb4e5e24f2f2e39c0e01d4e7a1a",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "should",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-20-line-5"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-20-line-7",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 20,
      "source_line": 7,
      "source_fingerprint": "2294b4a64ee926a99957d341dd7d863f15dff4c242f0660e62c20c44526d02bd",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "may",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-20-line-7"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-20-line-11",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 20,
      "source_line": 11,
      "source_fingerprint": "581142eda737c57f1c75f8b536011930e177af245a3ae58b928f0315ceaf1c98",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-20-line-11"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-20-line-12",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 20,
      "source_line": 12,
      "source_fingerprint": "e4c91d9b8a9f90dfc1c6ed89c4b063758f36077e2e57ca11ff61dafc1ec4819d",
      "source_kind": "source-record",
      "record_class": "normative-language-record",
      "normative_level": "shall not",
      "summary": "A machine-readable normative-language record anchored to the authoritative source location.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-20-line-12"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable, source-anchored, and retained as part of the full corpus representation. Its semantic subtype may be refined later without losing coverage."
    },
    {
      "id": "M2-116-U-v1-0-page-21-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 21,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-21-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-22-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 22,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-22-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-23-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 23,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-23-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    },
    {
      "id": "M2-116-U-v1-0-page-24-line-1",
      "document": "M2-116-U",
      "version": "1.0",
      "page": 24,
      "source_line": 1,
      "source_fingerprint": "06fb6c2a82695813a8dd863dfb934f3892717def22282d2d1bbbbc61a441e7e4",
      "source_kind": "source-record",
      "record_class": "non-normative-source-record",
      "normative_level": "may",
      "summary": "A machine-readable source record for publication, page, or vocabulary material.",
      "status": "represented-by-source-record",
      "representation": [
        {
          "kind": "source-record",
          "path": "docs/normative-source-inventory.json",
          "id": "M2-116-U-v1-0-page-24-line-1"
        }
      ],
      "verification": [
        "Scripts/generate_normative_source_inventory.py",
        "Scripts/verify_normative_coverage.py"
      ],
      "notes": "This record is machine-readable and retained because the extraction role is page-header; it is typed as non-normative source material rather than discarded."
    }
  ]
}
