{
  "schema": "R7_G21_ROUTER_CIRCLES_INDEPENDENT_V1",
  "date": "2026-10-13",
  "pass_": true,
  "source_release_sha256": "d7b237a7b1109bc4a88ef5a9e3fe2f86e08ce79097f7ba94ea87ecab98a6c3a9",
  "source_assembly_sha256": "37d0fc93a8d64ead28bb2d3a879d95e7712e2f7f7d25cd4d2342ec4ac28b1318",
  "source_sha256": {
    "build/r7_21/router_round_holes/release_manifest.json": "d7b237a7b1109bc4a88ef5a9e3fe2f86e08ce79097f7ba94ea87ecab98a6c3a9",
    "build/r7_21/manufacturing/release_manifest.json": "821096c0c3aa581a0729c8cab205afb8caf14b255f645856ede7ee57de2e5058",
    "build/r7_21/full/assembly.json": "37d0fc93a8d64ead28bb2d3a879d95e7712e2f7f7d25cd4d2342ec4ac28b1318",
    "build/r7_21/manufacturing/full/canonical_templates.json": "b4004a03790b49cf999064619f1f46ef091a3741c2c7926eebf2887df6be0b4d",
    "tools/r7_21/router_round_holes.py": "d8d5db64a5e0d5cfe20aae5b9f98539941e63ae79e88c8f1ac001f246dc6576e",
    "tools/r7_21/laser_round_holes.py": "2ede08d5d87424d2fd9b5662f53c6fa16ecabc8985cb128cadf368789ad1547f",
    "build/r7_21/manufacturing/full/2440x1220/r7_g21_full_router_2440x1220.zip": "5d4ecaa1d0ef1ebc495571afdb72e0b42ff690bd3558a8ab8ac44d5be5c2e126",
    "build/r7_21/manufacturing/full/2440x1220/manifest.json": "d50d89d716427b9c440c31d6a64db826812eacdb0c1907d7aaa2b23423a061b0",
    "build/r7_21/manufacturing/full/3050x1525/r7_g21_full_router_3050x1525.zip": "e231141aa5f527fa5ec071d538fee2be754bf047fff717f4305ff6358235a690",
    "build/r7_21/manufacturing/full/3050x1525/manifest.json": "603986212a603206cf7c65e5202927bd431e5b15623ce2f9d47e01bf71483ea7",
    "build/r7_21/trial/full/r7_g21_N2_full_router_2440x1220.zip": "9b71eea4334f692c72090657395cbbc342237f87068280bdef81bd7cb2c04ac2",
    "build/r7_21/trial/full/manifest.json": "82b0bde9c99decb1ee95bc24d3bc23b81af37b98707971ef2a1a1b6d5666a47c",
    "build/r7_21/router_round_holes/audit.json": "5227fbd957953294b01d7dca01b2667dee584a2ab786a9642fa478ad0e624890",
    "build/r7_21/router_round_holes/full_N2_2440x1220/READ_ME.txt": "0fce0688876c88f42177fdd3fd0e8334a936741f96b86509949e767e50ef3965",
    "build/r7_21/router_round_holes/full_N2_2440x1220/manifest.json": "cfb23a0b7617481adbd9ddb142594f556aab29521080bc46d145620ac7582646",
    "build/r7_21/router_round_holes/full_N2_2440x1220/maps/sheet_001.svg": "18ec00a28fe2b37b24d5084bbfe33c80abde313837b0c9f918d11aa043b6e704",
    "build/r7_21/router_round_holes/full_N2_2440x1220/r7_g21_N2_full_router_2440x1220_r2_circles.zip": "0aaff5e7e08545fda37fc7637770a12de5413826379954f5118d96d95a6fb15c",
    "build/r7_21/router_round_holes/full_N2_2440x1220/readback.json": "c98ae306aa39a86257a482391df51995ef394de26ae124a0bcffba8a14bd5dc2",
    "build/r7_21/router_round_holes/full_N2_2440x1220/sheet_001.dxf": "e3d7a0cf5129fb548e4e8027a1de8fbbd2000c70928fc0531d1095c636a9fd16",
    "build/r7_21/router_round_holes/full_all_2440x1220/READ_ME.txt": "005e004643fd7b75351a316cd38a3482c796b0dbee36a8be7e0fd84781b92557",
    "build/r7_21/router_round_holes/full_all_2440x1220/manifest.json": "bc400f0ea11665d35e08413de73ec8a9193ea5c2f95d4bcd9589d6f40ecbd835",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_001.svg": "1003e5767542294fb2c905d06c53ca37bc8270b02a450d2cf0b817e1c7355ddb",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_002.svg": "a942f30f4cde682eaf295f746e8fb06b403459054b762588ca6247a951c95f24",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_003.svg": "08c5c5ffd076a2e0c41104cb655b85c82e65d937e41cafccf530e6fb070e467a",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_004.svg": "8c88ae3f2d1ec87b316a19c67d3e25a898d9b394e6a27a500c98645f4ef58bbd",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_005.svg": "c5fcc7e498cc22bec322ddff9ae8fd4377a2e1eb80a1cfde859c1ccfae12647c",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_006.svg": "ca2148054b454afeb7e0e6ba3735cfc85396bb0d3955ca7b54d7ffe1482b0e4f",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_007.svg": "ea7da9d50ae8ddaa57a644eaea7f23ee41f817cc6d729911cd014b4caa7b3170",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_008.svg": "43bbff0b95d56956b31ed3a6e9a68f578f61be9d368632f683338657540ba657",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_009.svg": "3a6a772fe1d917e58e1e8fe4292195b4f17564642e15ef52c5c30c143d29b473",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_010.svg": "2d55852faa70a6fad57d9535fd91078e3cbabcf78b7be50417f5a04641ec225e",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_011.svg": "99ae791f56bfdc2085ce3862e577a1e1a8f5c8381f1ec6d699def24d1f111d25",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_012.svg": "3052bd244486ce9189c1946417a24cb454729bd8d727d09c69c46d48d677c7d3",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_013.svg": "c3c205b0b3aa71005d785c15e82fb5996140d98a0adc90f5307cc240bfe91347",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_014.svg": "0df5481553a78ddbf19da39b5587152ecb03b216e7c20d0212ff358c7b3dccf9",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_015.svg": "8981bc61762ff2f306652cf3ae0ebdd36cbc9c97125b07d252c1101012bfd435",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_016.svg": "0ff66fb8a58a2b3a4387c4a3d5f208870d2b2ea099b790d988228f8e8c9d272d",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_017.svg": "184cbb6c80b520ae0f795de99e532eef3c8136283755d602f00bbf0fff775387",
    "build/r7_21/router_round_holes/full_all_2440x1220/maps/sheet_018.svg": "98096c15a4f05fd62995710b3552ea36568a6200138f77d129959dfc3a951c28",
    "build/r7_21/router_round_holes/full_all_2440x1220/r7_g21_full_router_2440x1220_r2_circles.zip": "11b36848c7717ad59ba976b80604e87cb818a24762d67c7d42d7b09320d85d30",
    "build/r7_21/router_round_holes/full_all_2440x1220/readback.json": "abe13bc20dc8f47220f80739e92000296ee68fbcc8056a7ce5799c8a1320a240",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_001.dxf": "83daa19f0f0c2bd8af9e6a5dd83ae5050f30b03fcfae8a7535572c8aee163e7e",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_002.dxf": "0efbef77e35ec3786eddcf34f271ca27440222a2d5cc3476f4100b181bd14bcd",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_003.dxf": "3b8b9c04285acb827b810552286d830642e3ccebc45ebfbb94823d89e6e8af62",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_004.dxf": "4363f7e2593b8583f5ff6d0181ba4416045a7b7362dae581862ddb797a9db5f3",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_005.dxf": "58d03bc2334301533000b1e5d16fdcbd2d92284b7776e4c5e9237ebe810fe8a1",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_006.dxf": "e660bd2714c0b0c65d256f3d70f1bca316aaacf5c87f51215a7572c1692723fe",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_007.dxf": "6bf7fa74b214d3e5d6ca050bf4dd6c95d2410539c2cd2436d75a1441740389f9",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_008.dxf": "f742a5963c1752b23d9f8b020bc8b6df004edbf73049da53694f99938c9eb7c3",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_009.dxf": "0c3961843b824d87a1b26815c085ab4b79342eb7d3770ef275c5488890b03705",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_010.dxf": "f1494e2dcde1126d987cad665af3f94a8056213151cad2cc80254c357a7d8bd1",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_011.dxf": "91a63e1fd930d15caaa31540a56d2b9d141c4e656d20474d62133de6613e2eb2",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_012.dxf": "b699f100cf853a65cc3dd91b9c79f95c7cf7a0b2ea5c6cc35a425a95b616caa4",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_013.dxf": "ffa5148061135f35f0910341a873e58a73229b9f08d36b697e8c6ea130d33ecb",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_014.dxf": "6d07913cfa3a9d701ee5542bbb6adae3ec9415d6806ae9b4587c3bd99f449016",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_015.dxf": "7d4b90fa096cc0e90285a22fea378f1a0a6c2a4563ccdcc5f45eaed4840124e5",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_016.dxf": "7cb17174694746912db59681495f867e3cc5cfb74bf1862f70812517ed6ac42c",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_017.dxf": "1b3b88f1721640ba01c7ea31c48582d3545e592e2c84438db2accaf6baca724b",
    "build/r7_21/router_round_holes/full_all_2440x1220/sheet_018.dxf": "aa70ecb1b4b7ff4bb070fc257451efd3366617e7212c4c4cd53911d723e254ed",
    "build/r7_21/router_round_holes/full_all_3050x1525/READ_ME.txt": "4f02373f2d313613c99e0a6bc3cd4e0083607fde8d64d9d102ed7947470a85e9",
    "build/r7_21/router_round_holes/full_all_3050x1525/manifest.json": "4e5a1ef98e57f382b3f937021bb7e48e540e0f11944d9e6c83247985517f2f71",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_001.svg": "75bbd65ed6ed777181d111d774ff70bd54ee32e165c412e0c1ca80d8f38b14c2",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_002.svg": "f074758f345a2e700539ffb2a37a5010ecee6d1f0e38d30c389662facbc3647a",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_003.svg": "cbbccf01a128d63136c2a22efe0a5f04752ce6c00c465cb8e7a2e441c87c9489",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_004.svg": "fe8923149f124a13c0dc1d4a915bfa62b6a559955c3097d674cf694787c33044",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_005.svg": "64ea62c91b4c603ca6603b6f371f2de5896c5a859bbfea7ba2deb65490670834",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_006.svg": "69084eb2e9cf2569281e19a89bee6787216fb13c3ddcf4e50e4a31a893ec8a0d",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_007.svg": "2a08d7487dddbf6554f6d2d0f45e275c7ac9db5bcde240e53bc41da97a6ca683",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_008.svg": "32e2cee45b5bda5931853b9c183250f0a86f1f58413062d0a21c56962e6db124",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_009.svg": "aa30395555a2932263a2d310fa949bb6c9e069d0243f25b42c9d567ef0f96ec5",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_010.svg": "a5e332d8405875f6a0e3737351744414c4471f2ad72bd91088ae116b7ce2fa1e",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_011.svg": "ebba5967b538183709a9d6f3d66f2239f67e51e694191753c99b1f21b3997e05",
    "build/r7_21/router_round_holes/full_all_3050x1525/maps/sheet_012.svg": "6f234f5cb7b535a3425881b0d946aaa7e5ddcb55bf0694199ebef3a9267cd2c5",
    "build/r7_21/router_round_holes/full_all_3050x1525/r7_g21_full_router_3050x1525_r2_circles.zip": "ebf6dfb4f699b0564388b511e53415d169d2d09505f6f44261b26cdace2db395",
    "build/r7_21/router_round_holes/full_all_3050x1525/readback.json": "9a9fc79f71741d1fb3669fc53808a71f52b1bec3271aa9439cc9a5e440252f4f",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_001.dxf": "242c97d317f5c37543ab77aa9604c5f2349cb4f33b6e5e5663214a6219760896",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_002.dxf": "5dad355e91a36ce096eadbc9f9dd19c777927c5ee6d91681a9707118dfe740e8",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_003.dxf": "0f2b34b9f60fe3fc3c6733cc16853859f94419f94fb1b54ae4b192e6a334fb81",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_004.dxf": "caab99606d254d6d979cbf331ac04561d465c6b66e11377b32ada9b8159b147a",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_005.dxf": "8992b88b1fb46b6e6705e2bfc7a102c494d5f8a726e702abbfe26aab17fa78f4",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_006.dxf": "b284e1dd1aa654b1e38ce19528a0efc2fa80471ca6772e92cb9fbf3899aa860b",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_007.dxf": "636e740df50b16038c72b90a5a8f2d517af858f21e636c421250665202c3f1ea",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_008.dxf": "99ab891d485ec004ba34ead00dcf49400ae1b24d343b24efdd494910c98edfb6",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_009.dxf": "a0e3c80588ad07dda43dbb912f2bde38d92593184e03496925a3b32dc0edecc6",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_010.dxf": "bc37bd40f28856e5f69d68caa2e7f0a99ce238853bac59467fb73be0daa65cf1",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_011.dxf": "3b7ba3dc5ba73147dc76d95e490410df356250b76daed68749108b9247195c65",
    "build/r7_21/router_round_holes/full_all_3050x1525/sheet_012.dxf": "e42a49597e05e37efe1f90344eed0f274a6c4b588da1793122a0c0e5020b322f",
    "build/r7_21/router_round_holes/review.txt": "ca50a8d08634ff8bbd501b5836a730fdd9b024bb6586935a0a4ab6ebc231692b"
  },
  "packages": [
    {
      "id": "full_all_2440x1220",
      "path": "router_round_holes/full_all_2440x1220/r7_g21_full_router_2440x1220_r2_circles.zip",
      "sha256": "11b36848c7717ad59ba976b80604e87cb818a24762d67c7d42d7b09320d85d30",
      "parent_zip_sha256": "5d4ecaa1d0ef1ebc495571afdb72e0b42ff690bd3558a8ab8ac44d5be5c2e126",
      "circle_diameter_counts_mm": {
        "9.0": 368,
        "13.0": 64
      },
      "circle_count": 432,
      "parts_count": 298,
      "nonround_inner_count": 1312,
      "sheet_count": 18,
      "flat_zip_dxf_and_readme_only": true,
      "sheets": [
        {
          "name": "sheet_001.dxf",
          "sha256": "83daa19f0f0c2bd8af9e6a5dd83ae5050f30b03fcfae8a7535572c8aee163e7e",
          "circle_diameter_counts_mm": {
            "9.0": 8
          },
          "circle_count": 8,
          "outer_count": 13,
          "nonround_inner_count": 32,
          "maximum_centre_change_mm": 5.3561131825969466e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.60999758831246,
          "minimum_between_holes_mm": 26.989255134105605,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.34333580402127,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_002.dxf",
          "sha256": "0efbef77e35ec3786eddcf34f271ca27440222a2d5cc3476f4100b181bd14bcd",
          "circle_diameter_counts_mm": {
            "13.0": 16,
            "9.0": 3
          },
          "circle_count": 19,
          "outer_count": 13,
          "nonround_inner_count": 16,
          "maximum_centre_change_mm": 4.715702072830001e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.554908208361965,
          "minimum_between_holes_mm": 26.989255134110728,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.35263925367184,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5,
            3.5
          ]
        },
        {
          "name": "sheet_003.dxf",
          "sha256": "3b8b9c04285acb827b810552286d830642e3ccebc45ebfbb94823d89e6e8af62",
          "circle_diameter_counts_mm": {
            "13.0": 24
          },
          "circle_count": 24,
          "outer_count": 10,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 6.007884175282087e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 58.497748783255815,
          "minimum_between_holes_mm": 56.999999999999986,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.352642886899957,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            3.5
          ]
        },
        {
          "name": "sheet_004.dxf",
          "sha256": "4363f7e2593b8583f5ff6d0181ba4416045a7b7362dae581862ddb797a9db5f3",
          "circle_diameter_counts_mm": {
            "13.0": 8
          },
          "circle_count": 8,
          "outer_count": 13,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 5.498601150433587e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 33.49777282989999,
          "minimum_between_holes_mm": 57.0,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.305408498918904,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            3.5
          ]
        },
        {
          "name": "sheet_005.dxf",
          "sha256": "58d03bc2334301533000b1e5d16fdcbd2d92284b7776e4c5e9237ebe810fe8a1",
          "circle_diameter_counts_mm": {
            "13.0": 12
          },
          "circle_count": 12,
          "outer_count": 17,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 4.5095894401075554e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 33.4977728299,
          "minimum_between_holes_mm": 57.0,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.34019507129583,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            3.5
          ]
        },
        {
          "name": "sheet_006.dxf",
          "sha256": "e660bd2714c0b0c65d256f3d70f1bca316aaacf5c87f51215a7572c1692723fe",
          "circle_diameter_counts_mm": {
            "13.0": 4
          },
          "circle_count": 4,
          "outer_count": 15,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 4.1360179360372866e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 33.497772830000024,
          "minimum_between_holes_mm": 57.00000000000003,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.34019507129583,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            3.5
          ]
        },
        {
          "name": "sheet_007.dxf",
          "sha256": "6bf7fa74b214d3e5d6ca050bf4dd6c95d2410539c2cd2436d75a1441740389f9",
          "circle_diameter_counts_mm": {
            "9.0": 3
          },
          "circle_count": 3,
          "outer_count": 15,
          "nonround_inner_count": 8,
          "maximum_centre_change_mm": 3.917431341375372e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.690185239051335,
          "minimum_between_holes_mm": 26.98925433858161,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.350287296145936,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_008.dxf",
          "sha256": "f742a5963c1752b23d9f8b020bc8b6df004edbf73049da53694f99938c9eb7c3",
          "circle_diameter_counts_mm": {
            "9.0": 3
          },
          "circle_count": 3,
          "outer_count": 16,
          "nonround_inner_count": 8,
          "maximum_centre_change_mm": 4.334380577022566e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 27.345725219112804,
          "minimum_between_holes_mm": 26.989255134199993,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.3396984820382,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_009.dxf",
          "sha256": "0c3961843b824d87a1b26815c085ab4b79342eb7d3770ef275c5488890b03705",
          "circle_diameter_counts_mm": {
            "9.0": 45
          },
          "circle_count": 45,
          "outer_count": 16,
          "nonround_inner_count": 240,
          "maximum_centre_change_mm": 6.034300404377327e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.514940735689827,
          "minimum_between_holes_mm": 26.989255134096407,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.352642886874108,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_010.dxf",
          "sha256": "f1494e2dcde1126d987cad665af3f94a8056213151cad2cc80254c357a7d8bd1",
          "circle_diameter_counts_mm": {
            "9.0": 51
          },
          "circle_count": 51,
          "outer_count": 17,
          "nonround_inner_count": 232,
          "maximum_centre_change_mm": 6.210673549552686e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.55542646905366,
          "minimum_between_holes_mm": 26.989254338581468,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.35264288686583,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_011.dxf",
          "sha256": "91a63e1fd930d15caaa31540a56d2b9d141c4e656d20474d62133de6613e2eb2",
          "circle_diameter_counts_mm": {
            "9.0": 45
          },
          "circle_count": 45,
          "outer_count": 16,
          "nonround_inner_count": 196,
          "maximum_centre_change_mm": 5.019412290466624e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.542532599908895,
          "minimum_between_holes_mm": 26.989255134096148,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.3044372093518,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_012.dxf",
          "sha256": "b699f100cf853a65cc3dd91b9c79f95c7cf7a0b2ea5c6cc35a425a95b616caa4",
          "circle_diameter_counts_mm": {
            "9.0": 18
          },
          "circle_count": 18,
          "outer_count": 18,
          "nonround_inner_count": 52,
          "maximum_centre_change_mm": 6.392149236775411e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.691410161395208,
          "minimum_between_holes_mm": 26.98925513409995,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.352642886857115,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_013.dxf",
          "sha256": "ffa5148061135f35f0910341a873e58a73229b9f08d36b697e8c6ea130d33ecb",
          "circle_diameter_counts_mm": {
            "9.0": 48
          },
          "circle_count": 48,
          "outer_count": 19,
          "nonround_inner_count": 128,
          "maximum_centre_change_mm": 5.486567895529451e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 27.315179737628313,
          "minimum_between_holes_mm": 26.98925513409995,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.352642886849683,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_014.dxf",
          "sha256": "6d07913cfa3a9d701ee5542bbb6adae3ec9415d6806ae9b4587c3bd99f449016",
          "circle_diameter_counts_mm": {
            "9.0": 30
          },
          "circle_count": 30,
          "outer_count": 18,
          "nonround_inner_count": 80,
          "maximum_centre_change_mm": 6.056708958713291e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 27.315179737657406,
          "minimum_between_holes_mm": 26.989255134105495,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.35264288683781,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_015.dxf",
          "sha256": "7d4b90fa096cc0e90285a22fea378f1a0a6c2a4563ccdcc5f45eaed4840124e5",
          "circle_diameter_counts_mm": {},
          "circle_count": 0,
          "outer_count": 21,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 0.0,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": null,
          "minimum_between_holes_mm": null,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.312319795118057,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": []
        },
        {
          "name": "sheet_016.dxf",
          "sha256": "7cb17174694746912db59681495f867e3cc5cfb74bf1862f70812517ed6ac42c",
          "circle_diameter_counts_mm": {
            "9.0": 51
          },
          "circle_count": 51,
          "outer_count": 21,
          "nonround_inner_count": 138,
          "maximum_centre_change_mm": 6.651185262356589e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.50136674730006,
          "minimum_between_holes_mm": 26.989246560889313,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.275056574511943,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_017.dxf",
          "sha256": "1b3b88f1721640ba01c7ea31c48582d3545e592e2c84438db2accaf6baca724b",
          "circle_diameter_counts_mm": {
            "9.0": 24
          },
          "circle_count": 24,
          "outer_count": 21,
          "nonround_inner_count": 78,
          "maximum_centre_change_mm": 5.284665120073513e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.50136674720498,
          "minimum_between_holes_mm": 26.989246560887423,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.248125618717456,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_018.dxf",
          "sha256": "aa70ecb1b4b7ff4bb070fc257451efd3366617e7212c4c4cd53911d723e254ed",
          "circle_diameter_counts_mm": {
            "9.0": 39
          },
          "circle_count": 39,
          "outer_count": 19,
          "nonround_inner_count": 104,
          "maximum_centre_change_mm": 6.145720019878728e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.690185239030747,
          "minimum_between_holes_mm": 26.989254338581382,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.352642886898362,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        }
      ]
    },
    {
      "id": "full_all_3050x1525",
      "path": "router_round_holes/full_all_3050x1525/r7_g21_full_router_3050x1525_r2_circles.zip",
      "sha256": "ebf6dfb4f699b0564388b511e53415d169d2d09505f6f44261b26cdace2db395",
      "parent_zip_sha256": "e231141aa5f527fa5ec071d538fee2be754bf047fff717f4305ff6358235a690",
      "circle_diameter_counts_mm": {
        "13.0": 64,
        "9.0": 368
      },
      "circle_count": 432,
      "parts_count": 298,
      "nonround_inner_count": 1312,
      "sheet_count": 12,
      "flat_zip_dxf_and_readme_only": true,
      "sheets": [
        {
          "name": "sheet_001.dxf",
          "sha256": "242c97d317f5c37543ab77aa9604c5f2349cb4f33b6e5e5663214a6219760896",
          "circle_diameter_counts_mm": {
            "13.0": 4
          },
          "circle_count": 4,
          "outer_count": 18,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 5.98818101479209e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 33.49777282989998,
          "minimum_between_holes_mm": 57.0,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.26529154306949,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            3.5
          ]
        },
        {
          "name": "sheet_002.dxf",
          "sha256": "5dad355e91a36ce096eadbc9f9dd19c777927c5ee6d91681a9707118dfe740e8",
          "circle_diameter_counts_mm": {
            "13.0": 36,
            "9.0": 6
          },
          "circle_count": 42,
          "outer_count": 21,
          "nonround_inner_count": 22,
          "maximum_centre_change_mm": 6.426203183289097e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.54253259994389,
          "minimum_between_holes_mm": 26.98925433868141,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.352641030074345,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5,
            3.5
          ]
        },
        {
          "name": "sheet_003.dxf",
          "sha256": "0f2b34b9f60fe3fc3c6733cc16853859f94419f94fb1b54ae4b192e6a334fb81",
          "circle_diameter_counts_mm": {
            "13.0": 20
          },
          "circle_count": 20,
          "outer_count": 26,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 5.7879888396918686e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 33.497772829899986,
          "minimum_between_holes_mm": 57.0,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.34019507129583,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            3.5
          ]
        },
        {
          "name": "sheet_004.dxf",
          "sha256": "caab99606d254d6d979cbf331ac04561d465c6b66e11377b32ada9b8159b147a",
          "circle_diameter_counts_mm": {
            "13.0": 4
          },
          "circle_count": 4,
          "outer_count": 22,
          "nonround_inner_count": 0,
          "maximum_centre_change_mm": 5.7879888396918686e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 33.49777283000003,
          "minimum_between_holes_mm": 57.0,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.32257714036846,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            3.5
          ]
        },
        {
          "name": "sheet_005.dxf",
          "sha256": "8992b88b1fb46b6e6705e2bfc7a102c494d5f8a726e702abbfe26aab17fa78f4",
          "circle_diameter_counts_mm": {
            "9.0": 7
          },
          "circle_count": 7,
          "outer_count": 21,
          "nonround_inner_count": 24,
          "maximum_centre_change_mm": 4.457600598413177e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.609997588320894,
          "minimum_between_holes_mm": 26.989252358404258,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.253655387541166,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_006.dxf",
          "sha256": "b284e1dd1aa654b1e38ce19528a0efc2fa80471ca6772e92cb9fbf3899aa860b",
          "circle_diameter_counts_mm": {
            "9.0": 76
          },
          "circle_count": 76,
          "outer_count": 26,
          "nonround_inner_count": 378,
          "maximum_centre_change_mm": 6.411540159587978e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.51494073572342,
          "minimum_between_holes_mm": 26.9892523584042,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.305250664620125,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_007.dxf",
          "sha256": "636e740df50b16038c72b90a5a8f2d517af858f21e636c421250665202c3f1ea",
          "circle_diameter_counts_mm": {
            "9.0": 72
          },
          "circle_count": 72,
          "outer_count": 26,
          "nonround_inner_count": 320,
          "maximum_centre_change_mm": 6.222722174105443e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.542532599908778,
          "minimum_between_holes_mm": 26.989255134071712,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.173239449035428,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_008.dxf",
          "sha256": "99ab891d485ec004ba34ead00dcf49400ae1b24d343b24efdd494910c98edfb6",
          "circle_diameter_counts_mm": {
            "9.0": 54
          },
          "circle_count": 54,
          "outer_count": 31,
          "nonround_inner_count": 146,
          "maximum_centre_change_mm": 5.711425780303154e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.501366747268754,
          "minimum_between_holes_mm": 26.989246560889185,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.162418372080822,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_009.dxf",
          "sha256": "a0e3c80588ad07dda43dbb912f2bde38d92593184e03496925a3b32dc0edecc6",
          "circle_diameter_counts_mm": {
            "9.0": 48
          },
          "circle_count": 48,
          "outer_count": 28,
          "nonround_inner_count": 130,
          "maximum_centre_change_mm": 6.056708958713291e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.501366747268875,
          "minimum_between_holes_mm": 26.989246560889185,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.22756570774232,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_010.dxf",
          "sha256": "bc37bd40f28856e5f69d68caa2e7f0a99ce238853bac59467fb73be0daa65cf1",
          "circle_diameter_counts_mm": {
            "9.0": 33
          },
          "circle_count": 33,
          "outer_count": 33,
          "nonround_inner_count": 88,
          "maximum_centre_change_mm": 5.665255930224187e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.910132104420196,
          "minimum_between_holes_mm": 26.989252358404148,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.222843890945406,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_011.dxf",
          "sha256": "3b7ba3dc5ba73147dc76d95e490410df356250b76daed68749108b9247195c65",
          "circle_diameter_counts_mm": {
            "9.0": 57
          },
          "circle_count": 57,
          "outer_count": 34,
          "nonround_inner_count": 164,
          "maximum_centre_change_mm": 5.711425780303154e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.501366747173794,
          "minimum_between_holes_mm": 26.98924656088731,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.234101895391763,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        },
        {
          "name": "sheet_012.dxf",
          "sha256": "e42a49597e05e37efe1f90344eed0f274a6c4b588da1793122a0c0e5020b322f",
          "circle_diameter_counts_mm": {
            "9.0": 15
          },
          "circle_count": 15,
          "outer_count": 12,
          "nonround_inner_count": 40,
          "maximum_centre_change_mm": 6.026423885422887e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.690185239031777,
          "minimum_between_holes_mm": 26.989254338581382,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.352642886858906,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        }
      ]
    },
    {
      "id": "full_N2_2440x1220",
      "path": "router_round_holes/full_N2_2440x1220/r7_g21_N2_full_router_2440x1220_r2_circles.zip",
      "sha256": "0aaff5e7e08545fda37fc7637770a12de5413826379954f5118d96d95a6fb15c",
      "parent_zip_sha256": "9b71eea4334f692c72090657395cbbc342237f87068280bdef81bd7cb2c04ac2",
      "circle_diameter_counts_mm": {
        "9.0": 6
      },
      "circle_count": 6,
      "parts_count": 7,
      "nonround_inner_count": 20,
      "sheet_count": 1,
      "flat_zip_dxf_and_readme_only": true,
      "sheets": [
        {
          "name": "sheet_001.dxf",
          "sha256": "e3d7a0cf5129fb548e4e8027a1de8fbbd2000c70928fc0531d1095c636a9fd16",
          "circle_diameter_counts_mm": {
            "9.0": 6
          },
          "circle_count": 6,
          "outer_count": 7,
          "nonround_inner_count": 20,
          "maximum_centre_change_mm": 6.196693997965258e-11,
          "native_CIRCLE_only_for_round_holes": true,
          "old_circular_polylines_absent": true,
          "no_duplicate_entities": true,
          "all_remaining_polyline_coordinates_exact": true,
          "minimum_hole_to_outer_mm": 26.501366747296405,
          "minimum_between_holes_mm": 26.9892465608893,
          "distances_to_circles_analytic": true,
          "minimum_part_gap_mm": 18.35034639895766,
          "minimum_edge_margin_mm": 20.0,
          "circle_pocket_centre_radii_for_tool6_mm": [
            1.5
          ]
        }
      ]
    }
  ],
  "legacy_files_unchanged": true,
  "legacy_file_count": 131,
  "legacy_files_sha256": {
    "build/r7_21/full/assembly.json": "37d0fc93a8d64ead28bb2d3a879d95e7712e2f7f7d25cd4d2342ec4ac28b1318",
    "build/r7_21/laser/mini/READ_ME.txt": "70af2aabdedda53ebb843807d0db85a3d797870e9410346b8dd0208431bb525e",
    "build/r7_21/laser/mini/manifest.json": "3bc0bdacd1aea15bf64e16bd2902a3d3aff9626d46726629fc69a6e813038b2a",
    "build/r7_21/laser/mini/maps/sheet_001.svg": "5c9fa75e26665f62dc231b789303509e07521c29f2e27457f906f49eec344b9c",
    "build/r7_21/laser/mini/maps/sheet_002.svg": "1796d5b30a78efad3f406e2636ca66c06159483103ffd222a39e5a941d0e014a",
    "build/r7_21/laser/mini/r7_g21_mini_laser_760x760.zip": "ed7efeafc5764d862fa2efd03b2a4d1c2259c2e265f606a20f50527bb9c92f43",
    "build/r7_21/laser/mini/readback.json": "9252089edd2bde671908c2cd44b7f3feff162e12b2762e19420ad0271536329e",
    "build/r7_21/laser/mini/sheet_001.dxf": "53f80bda1ee7819b582c4fdd61ca265932324549f0ea3e6ef52242e3edf75c24",
    "build/r7_21/laser/mini/sheet_002.dxf": "354f1a0f207bddfcab61024770b4ac8202711272d4c38db856424d304d535d3b",
    "build/r7_21/manufacturing/full/2440x1220/READ_ME.txt": "7a9722600ce0f0adcc889b26c4d6a25071ea2c87b72d53ea01b195e7ff72bbce",
    "build/r7_21/manufacturing/full/2440x1220/manifest.json": "d50d89d716427b9c440c31d6a64db826812eacdb0c1907d7aaa2b23423a061b0",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_001.svg": "1003e5767542294fb2c905d06c53ca37bc8270b02a450d2cf0b817e1c7355ddb",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_002.svg": "a942f30f4cde682eaf295f746e8fb06b403459054b762588ca6247a951c95f24",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_003.svg": "08c5c5ffd076a2e0c41104cb655b85c82e65d937e41cafccf530e6fb070e467a",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_004.svg": "8c88ae3f2d1ec87b316a19c67d3e25a898d9b394e6a27a500c98645f4ef58bbd",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_005.svg": "c5fcc7e498cc22bec322ddff9ae8fd4377a2e1eb80a1cfde859c1ccfae12647c",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_006.svg": "ca2148054b454afeb7e0e6ba3735cfc85396bb0d3955ca7b54d7ffe1482b0e4f",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_007.svg": "ea7da9d50ae8ddaa57a644eaea7f23ee41f817cc6d729911cd014b4caa7b3170",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_008.svg": "43bbff0b95d56956b31ed3a6e9a68f578f61be9d368632f683338657540ba657",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_009.svg": "3a6a772fe1d917e58e1e8fe4292195b4f17564642e15ef52c5c30c143d29b473",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_010.svg": "2d55852faa70a6fad57d9535fd91078e3cbabcf78b7be50417f5a04641ec225e",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_011.svg": "99ae791f56bfdc2085ce3862e577a1e1a8f5c8381f1ec6d699def24d1f111d25",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_012.svg": "3052bd244486ce9189c1946417a24cb454729bd8d727d09c69c46d48d677c7d3",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_013.svg": "c3c205b0b3aa71005d785c15e82fb5996140d98a0adc90f5307cc240bfe91347",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_014.svg": "0df5481553a78ddbf19da39b5587152ecb03b216e7c20d0212ff358c7b3dccf9",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_015.svg": "8981bc61762ff2f306652cf3ae0ebdd36cbc9c97125b07d252c1101012bfd435",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_016.svg": "0ff66fb8a58a2b3a4387c4a3d5f208870d2b2ea099b790d988228f8e8c9d272d",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_017.svg": "184cbb6c80b520ae0f795de99e532eef3c8136283755d602f00bbf0fff775387",
    "build/r7_21/manufacturing/full/2440x1220/maps/sheet_018.svg": "98096c15a4f05fd62995710b3552ea36568a6200138f77d129959dfc3a951c28",
    "build/r7_21/manufacturing/full/2440x1220/r7_g21_full_router_2440x1220.zip": "5d4ecaa1d0ef1ebc495571afdb72e0b42ff690bd3558a8ab8ac44d5be5c2e126",
    "build/r7_21/manufacturing/full/2440x1220/readback.json": "3abb0cab3fe0af36191f3731b3a934d2c8458f50ba98521567ef9da3b435f4f3",
    "build/r7_21/manufacturing/full/2440x1220/sheet_001.dxf": "0dd3fcf2252cea553547a987fa5142ec569f42d15c43ce5647d84a3eb5faebec",
    "build/r7_21/manufacturing/full/2440x1220/sheet_002.dxf": "746194f31f7ac3e61b4802fbadcf610306050d3b97f2771b5eed45048679481e",
    "build/r7_21/manufacturing/full/2440x1220/sheet_003.dxf": "57bbcb80e84789c2d87c3b44d1172757a71fef7bfeb37337864ffb0bff0facb8",
    "build/r7_21/manufacturing/full/2440x1220/sheet_004.dxf": "19ef1f11d5b7055a01922f9bcaace107d5a010e4fcf1016110a325c1141b93e2",
    "build/r7_21/manufacturing/full/2440x1220/sheet_005.dxf": "b6c9cf8e6cf08ec41d79130f2eabfad3cb634c6d18925808b4a5116a13e448ee",
    "build/r7_21/manufacturing/full/2440x1220/sheet_006.dxf": "864e2be7f2d72d0c9ad75a833634e2358c9090f8cf12e565c0bfc51496323e22",
    "build/r7_21/manufacturing/full/2440x1220/sheet_007.dxf": "0858a5a6ad0f6e0f2e54b43ddc481932d630d308716bc81521ab1b763f4d572f",
    "build/r7_21/manufacturing/full/2440x1220/sheet_008.dxf": "1430640569f768bb23f3b3b73fa6a2ea66c4c7cf5dc768e1b51c62eb93f00fa0",
    "build/r7_21/manufacturing/full/2440x1220/sheet_009.dxf": "779095aea558c16e8730a295ee3aa117abe6748154ee7d07a0642dd9a179ca77",
    "build/r7_21/manufacturing/full/2440x1220/sheet_010.dxf": "762b95605ad57246269c833871e96049c07e0a8c9650a61f696a219d436e507f",
    "build/r7_21/manufacturing/full/2440x1220/sheet_011.dxf": "cffa17936ff955c7031d134919a3f6e4822e9c5b72e097e430d8e279254489e1",
    "build/r7_21/manufacturing/full/2440x1220/sheet_012.dxf": "a4c7fbf96d9d8e7f48150c21ac321df315e2b0838fa5f92949199a484c9605a4",
    "build/r7_21/manufacturing/full/2440x1220/sheet_013.dxf": "350da5331246f4268f2a554ea3e6f73a7d5aa7880993272f534829ff52125df9",
    "build/r7_21/manufacturing/full/2440x1220/sheet_014.dxf": "720825acc474e9b2ff0d3ba484085d7e10efb61c016f48ad0dc4a043f2a0997d",
    "build/r7_21/manufacturing/full/2440x1220/sheet_015.dxf": "64025796c24e03f5673d9cd8afe70123fed4fe5cfa628038ab73e1864344b5e0",
    "build/r7_21/manufacturing/full/2440x1220/sheet_016.dxf": "ba18e1079d6ab76e709dae6affb11979874467aa05c71b9d264ffbdfff2187ab",
    "build/r7_21/manufacturing/full/2440x1220/sheet_017.dxf": "bc2761e09ddff93364e354fb79e87188e7b1e60a28e66e1ecb84f50966515095",
    "build/r7_21/manufacturing/full/2440x1220/sheet_018.dxf": "3f592a406c83f30d6e1ba4db2b4e789d67c1628acd098ac2ad0eb2440a4d2a1f",
    "build/r7_21/manufacturing/full/3050x1525/READ_ME.txt": "d9e7d0d74aa4cfadda4e90c20910e93759cd188a3f6a3a97223a1ec20b2ead08",
    "build/r7_21/manufacturing/full/3050x1525/manifest.json": "603986212a603206cf7c65e5202927bd431e5b15623ce2f9d47e01bf71483ea7",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_001.svg": "75bbd65ed6ed777181d111d774ff70bd54ee32e165c412e0c1ca80d8f38b14c2",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_002.svg": "f074758f345a2e700539ffb2a37a5010ecee6d1f0e38d30c389662facbc3647a",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_003.svg": "cbbccf01a128d63136c2a22efe0a5f04752ce6c00c465cb8e7a2e441c87c9489",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_004.svg": "fe8923149f124a13c0dc1d4a915bfa62b6a559955c3097d674cf694787c33044",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_005.svg": "64ea62c91b4c603ca6603b6f371f2de5896c5a859bbfea7ba2deb65490670834",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_006.svg": "69084eb2e9cf2569281e19a89bee6787216fb13c3ddcf4e50e4a31a893ec8a0d",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_007.svg": "2a08d7487dddbf6554f6d2d0f45e275c7ac9db5bcde240e53bc41da97a6ca683",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_008.svg": "32e2cee45b5bda5931853b9c183250f0a86f1f58413062d0a21c56962e6db124",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_009.svg": "aa30395555a2932263a2d310fa949bb6c9e069d0243f25b42c9d567ef0f96ec5",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_010.svg": "a5e332d8405875f6a0e3737351744414c4471f2ad72bd91088ae116b7ce2fa1e",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_011.svg": "ebba5967b538183709a9d6f3d66f2239f67e51e694191753c99b1f21b3997e05",
    "build/r7_21/manufacturing/full/3050x1525/maps/sheet_012.svg": "6f234f5cb7b535a3425881b0d946aaa7e5ddcb55bf0694199ebef3a9267cd2c5",
    "build/r7_21/manufacturing/full/3050x1525/r7_g21_full_router_3050x1525.zip": "e231141aa5f527fa5ec071d538fee2be754bf047fff717f4305ff6358235a690",
    "build/r7_21/manufacturing/full/3050x1525/readback.json": "0dbb97c051dfde178951e604b8d789776645bc714ab3e5bf39ef505352387889",
    "build/r7_21/manufacturing/full/3050x1525/sheet_001.dxf": "f20fdbb9c5a7130bc1a749d30aa50427be5da3955e2e2d3e0cac651cbdffa111",
    "build/r7_21/manufacturing/full/3050x1525/sheet_002.dxf": "86c63e88ed0790feb6c539449f3d80ae79c5a2a6905b382b3e646148a0dcb4b3",
    "build/r7_21/manufacturing/full/3050x1525/sheet_003.dxf": "6e042ba43a6026d07ea798a9eaeb47639423f27a699ec0a23bba8974572488f0",
    "build/r7_21/manufacturing/full/3050x1525/sheet_004.dxf": "ef2812bf11e9a91ba72d10b4c6d78c0674e1b46a259073ef020a7fdbdd79c5ec",
    "build/r7_21/manufacturing/full/3050x1525/sheet_005.dxf": "423dcfad13faff52f47ef83c618575e3efa1e1b946a63d38ec2e4fb5121ba069",
    "build/r7_21/manufacturing/full/3050x1525/sheet_006.dxf": "a5a4f5d3a5aade7b0a1e0e5e6a49863fa29447e235cd8d7af1adc10469bc2ece",
    "build/r7_21/manufacturing/full/3050x1525/sheet_007.dxf": "e86440e01c8d795bbbfd2db558a9cc9927cb9c23478f1ab918afcf6e113d20a4",
    "build/r7_21/manufacturing/full/3050x1525/sheet_008.dxf": "d28b54d095fbe5b66bdca31fd6156a673ab388f7adb2b34c616e36e2e4728146",
    "build/r7_21/manufacturing/full/3050x1525/sheet_009.dxf": "0afe2fd985f2e8151605a98ad8f98b803c250c061d5555ebe599408c0330bc6c",
    "build/r7_21/manufacturing/full/3050x1525/sheet_010.dxf": "9df83cbd93c747377916bad457d2dd0194499b666551860e4d074a40d84ed881",
    "build/r7_21/manufacturing/full/3050x1525/sheet_011.dxf": "e199e67e5adefc67eda1bcf985a44c71a9f2073a8595766b7ba551614b1cf103",
    "build/r7_21/manufacturing/full/3050x1525/sheet_012.dxf": "90fb312771838223bdf55ed79a44efd6eea813635c608e70db31b1db3eae8644",
    "build/r7_21/manufacturing/full/canonical_templates.json": "b4004a03790b49cf999064619f1f46ef091a3741c2c7926eebf2887df6be0b4d",
    "build/r7_21/manufacturing/mini/canonical_templates.json": "bc26ff1c2077540dc3934cf0f67bba83a62b9dbfbd87529e3e458c6d760c3b79",
    "build/r7_21/manufacturing/release_manifest.json": "821096c0c3aa581a0729c8cab205afb8caf14b255f645856ede7ee57de2e5058",
    "build/r7_21/mini/assembly.json": "b83f81dee8604c39be5be121775958e094b582c886f5f69d9270c90d133f01e7",
    "build/r7_21/trial/full/READ_ME.txt": "1531132cbf78c80b0da0329b568a8e41d31e25287c43d26fe26e33e90ead7625",
    "build/r7_21/trial/full/manifest.json": "82b0bde9c99decb1ee95bc24d3bc23b81af37b98707971ef2a1a1b6d5666a47c",
    "build/r7_21/trial/full/maps/sheet_001.svg": "18ec00a28fe2b37b24d5084bbfe33c80abde313837b0c9f918d11aa043b6e704",
    "build/r7_21/trial/full/native_readback.json": "78c0f853651c95e4d5aaf04d8a9171959b0bcecf6a95eb847a9c01fc04a33d24",
    "build/r7_21/trial/full/r7_g21_N2_full_router_2440x1220.zip": "9b71eea4334f692c72090657395cbbc342237f87068280bdef81bd7cb2c04ac2",
    "build/r7_21/trial/full/readback.json": "df6da4266859e91e5e41d99a1a900ff0566d09920185ea7bbe2f1f96ffd20405",
    "build/r7_21/trial/full/sheet_001.dxf": "0640a409d1e2230cccb247dd0041b4759bdc20a7b11cdadbe3271d83d5734bf1",
    "build/r7_21/trial/full/trial.json": "795f29af1248ae87c034afbfaa033a0d3a6da41f599b4d843b55939c9ca52845",
    "build/r7_21/trial/full_fit/READ_ME.txt": "b58cfb2f2fa21e53bf587bb18c4f99336bbdd1ec4c5aa218050865ad5f66e24a",
    "build/r7_21/trial/full_fit/canonical_templates.json": "2c934f0820ef8aaa680ae8635dc8437447a164ccdfb20182ab79a4c9ba592328",
    "build/r7_21/trial/full_fit/manifest.json": "3bc0beb21b0813328142c37f30daedd5cc2b4eb5c56e9f7fced23fc4e4f97114",
    "build/r7_21/trial/full_fit/maps/sheet_001.svg": "e0ac810a61f75bf423391077903bedde3fe2e2babbd2881ec67fa912a4cf8c5b",
    "build/r7_21/trial/full_fit/r7_g21_fit_coupon_21_22_23.zip": "6e0062dbeb9ebc647361ce599c3de93793ae4f1780e3bbea4a536add72238acc",
    "build/r7_21/trial/full_fit/readback.json": "2a73c5091ba124487461136f51fa48e6b8872110cb3b73e8a53ec86b49b5157b",
    "build/r7_21/trial/full_fit/sheet_001.dxf": "c9e73b66403a1ca42527fd5fb63d5421050e2d32122e312ee25e8ad8ca480217",
    "build/r7_21/trial/mini/READ_ME.txt": "cfc744b642d707c4c8ccdd914cb28ff47cb1b94e5ca81de3defb9794ca3f106c",
    "build/r7_21/trial/mini/manifest.json": "b9ede02f2cd2c5bd988a8e42d8573b1d7d05fb88a4f09617ff632d3b513d82fb",
    "build/r7_21/trial/mini/maps/sheet_001.svg": "dc3ea4ed636c6a8edf6cf1b3cb43df927fdc3026c0876426dacca9374b60ec6c",
    "build/r7_21/trial/mini/native_readback.json": "3851092de509df16adcd375e8d8239600198d2305d48b7b28007d7a9ad439259",
    "build/r7_21/trial/mini/r7_g21_N2_mini_laser_760x760.zip": "a53b9ef9dbbc698c9e115f17afe41c36fa64dadd93c2ccd6979a3697aef7dfeb",
    "build/r7_21/trial/mini/readback.json": "56be41bd271818a3784ce70aabd2612017887a589912363f42bb9cd86625f20a",
    "build/r7_21/trial/mini/sheet_001.dxf": "c8df9be9fbcf7606df4d17b300ebdff55ca40b4edd7db68fe55dae850b065091",
    "build/r7_21/trial/mini/trial.json": "b7daff3d9e6b2c7d5fa8f7ec4414fd70715c0562f9f3e96713606b5445b25be9",
    "build/r7_21/verification.json": "4953a7e6ce55ce517cedad9dc9dd75b004d705d1cb0624d24ebae9ea605461d9",
    "tools/r7_21/coupons.py": "3d98bf54fd6cff0bbd27307693d530a2781bd42f29f60ae8bfdc6d68e8417bf3",
    "tools/r7_21/geometry.py": "512a136b6168f9339f62bdd142f62ce483c374ff6cfd790a5f235caaaee08e3c",
    "tools/r7_21/manufacturing.py": "b968b286fccd82ea6ad8da83fa37457746e403ff050dde5a6a18d00a56f43994",
    "tools/r7_21/trial_native.py": "bf8bab449c93d75f669b4754a3524482c14fa7351af8fafa7d85c65e9ac3093f",
    "tools/r7_cnc/faceted_operator_geometry.py": "4a5845bda656839f8cc2831e8598734c405fc8acbef1674c5e56ae2f09ef70fd",
    "tools/r7_cnc/faceted_pack.py": "2ba4988ba1ac177860cbb8e900e5c3a7e0b67cef939ffab111a269e2a61af412",
    "tools/r7_cnc/g_router_laser.py": "05cf605f0374ef8450400b600d7cecbddacf5023beceabebbe7b9343e909449b",
    "tools/r7_cnc/geometry.py": "6aacc75f47a19c9292be30a2990a1361d9142f599a328798b48f954dbd48bd39",
    "tools/r7_cnc/manufacturing.py": "1fcc6270529f0ab736b8e5f09eb04a2c1d0ab505f33d938fd64f7a91b30da27f",
    "build/r7_21/laser_round_holes/release_manifest.json": "b56a0495d7d0f5dcc2ffa769f560e48173362b0e7381bb22c36f7070a74ed8c4",
    "build/r7_21/laser_round_holes/audit.json": "1ac8d6f31ce71177a6d2b51c067226aeed98e3ba4faf70b4eead255cfd2e5df5",
    "build/r7_21/laser_round_holes/mini_N2_760x760/READ_ME.txt": "0afa831125e074151552f4c0a11afdb8bc3c783685407402b4d88557aa51a6a8",
    "build/r7_21/laser_round_holes/mini_N2_760x760/manifest.json": "4872d97d1c470e8c049bc7a92eecfebed09333eee2c61b81b64d0201999287c9",
    "build/r7_21/laser_round_holes/mini_N2_760x760/maps/sheet_001.svg": "dc3ea4ed636c6a8edf6cf1b3cb43df927fdc3026c0876426dacca9374b60ec6c",
    "build/r7_21/laser_round_holes/mini_N2_760x760/r7_g21_N2_mini_laser_760x760_r2_circles.zip": "3e1e0d63e978510171aaf5843e66d8fdfbe04dd1ba52b6f08e9ad79b3e59a7be",
    "build/r7_21/laser_round_holes/mini_N2_760x760/readback.json": "29642e348989f5ce6b00d20f83840b1aaf8058000fbfe42f18ff72bb504d9c99",
    "build/r7_21/laser_round_holes/mini_N2_760x760/sheet_001.dxf": "db5db29316bdb891a7f0b6e4c7618c045ac4346a4670b2cc3641371b7ea72334",
    "build/r7_21/laser_round_holes/mini_all_760x760/READ_ME.txt": "216f9b54ffc65e69a0c3e0901be2d4342c874cfe463282b1560323b2ee9f4e46",
    "build/r7_21/laser_round_holes/mini_all_760x760/manifest.json": "2bdf1e0b2137d5828fb368c70450ae1ecc3e5de77cca7ffd918e1fda3800725c",
    "build/r7_21/laser_round_holes/mini_all_760x760/maps/sheet_001.svg": "5c9fa75e26665f62dc231b789303509e07521c29f2e27457f906f49eec344b9c",
    "build/r7_21/laser_round_holes/mini_all_760x760/maps/sheet_002.svg": "1796d5b30a78efad3f406e2636ca66c06159483103ffd222a39e5a941d0e014a",
    "build/r7_21/laser_round_holes/mini_all_760x760/r7_g21_mini_laser_760x760_r2_circles.zip": "5d3ca7806e0319c735933d4919e55fb70d036815e2b299ab0be7cc27b7723f1d",
    "build/r7_21/laser_round_holes/mini_all_760x760/readback.json": "d39161ed6d2ccc5f33e47b5dfeafe50f2420eb430e38f5b488059588a73e6eec",
    "build/r7_21/laser_round_holes/mini_all_760x760/sheet_001.dxf": "a4933aa6429f61c565e7cb1ec5461d94a4b91b895da06d4feeaceaca095d26af",
    "build/r7_21/laser_round_holes/mini_all_760x760/sheet_002.dxf": "bbb711430ef5e419287bed9fe340326e1fb047c7ea72ab389da49d78db31dedf",
    "build/r7_21/laser_round_holes/review.txt": "f1ebbc84bc682f586d8558307952b25373f370a95686b73de58c22cbc49f45c4"
  },
  "actual_zip_dxf_files_checked": 31,
  "method": "Independent ezdxf parsing of all31actual ZIP DXFs, without invoking either converter or its validators. Each new round hole must be CIRCLE with exact4.5/6.5radius and XYnormal. Compare every preserved polyline coordinate exactly, all replaced centres uniquely, and analytic circle clearances.",
  "limitations": [
    "CIRCLE is a finished boundary, not an embedded CAM offset. FullCUT_INNER remains complete through pocket clearing before finish tracing.",
    "All noncircular paths are numerically unchanged; their existing tool-access proof remains applicable. Circle6mmtool reach is checked analytically.",
    "Serialized DXF text/handles differ; preserved numeric coordinates are exact, not whole-file byte identity."
  ],
  "full_size_instructions_scale_1_to_1_verified": true,
  "cam_import_verified": false,
  "physical_cut_verified": false,
  "physical_painted_fit_verified": false,
  "construction_ready": false
}
