{
  "ml": {
    "v": "7",
    "eng": "2.1.0-rc.2",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.0000590086,
        "rte": "az",
        "prob": 0.0000590086
      },
      {
        "cls": 0,
        "raw": 0.001016289,
        "rte": "az/whl",
        "prob": 0.001016289
      }
    ],
    "prob": 0.0000590086,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00005900859832763672,
        "type": "whl"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014851490959699731,
        "type": "python"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000017195940017700195,
        "type": "python"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000025133291273959912,
        "type": "python"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015020370483398438,
        "type": "python"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00003955761712859385,
        "type": "python"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012834866538469214,
        "type": "python"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014821688637312036,
        "type": "pkg-info"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000008722146048967261,
        "type": "text"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012775261893693823,
        "type": "text"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-06-19T08:41:04Z"
  },
  "path": "draftwright-0.1.11-py3-none-any.whl",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "p!H([6Awak2MK\u00268lqPW2dOGpj00035000/n003LIvp\u003cR9A+Pf1Bt40dx(mTbuTCB8D2lE5zRD\u0026RYZ)S?i[Y2",
            "ln": 0
          }
        ],
        "mol": "O₂(AsC)",
        "sha": "df1a108f4cda51454246da6da513b616cbd5e38be76e78f6446b5d6e8a49f922",
        "path": "draftwright-0.1.11-py3-none-any.whl",
        "risk": 3,
        "size": 108206,
        "type": "whl",
        "facts": {
          "metrics": {
            "whl": {
              "native_extension_count": 0.0
            },
            "file": {
              "size": 108206.0,
              "entropy": 8.0,
              "size_bytes": 108206.0
            },
            "binary": {
              "overall_entropy": 8.0
            },
            "archive": {
              "file_count": 11.0,
              "member_count": 11.0,
              "script_count": 6.0,
              "zip_bomb_ratio": 3.41,
              "directory_count": 0.0,
              "executable_count": 0.0,
              "extra_field_size": 0.0,
              "noise_file_count": 0.0,
              "total_compressed": 106692.0,
              "compression.ratio": 0.32,
              "hidden_file_count": 0.0,
              "total_uncompressed": 331454.0,
              "crc_collision_count": 0.0,
              "entry_comment_count": 0.0,
              "max_filename_length": 45.0,
              "rtlo_filename_count": 0.0,
              "format.regular_count": 11.0,
              "nested_archive_count": 0.0,
              "path_traversal_count": 0.0,
              "symlink_escape_count": 0.0,
              "security.setgid_count": 0.0,
              "security.setuid_count": 0.0,
              "security.sticky_count": 0.0,
              "double_extension_count": 0.0,
              "duplicate_member_count": 0.0,
              "security.symlink_count": 0.0,
              "unicode_filename_count": 0.0,
              "homoglyph_filename_count": 0.0,
              "security.encrypted_count": 0.0,
              "timing.mtime_unique_count": 1.0,
              "timing.mtime_unique_ratio": 0.09,
              "misplaced_executable_count": 0.0,
              "timing.mtime_dominant_count": 11.0,
              "timing.mtime_spread_seconds": 0.0,
              "timing.sentinel_mtime_count": 0.0,
              "security.world_writable_count": 0.0,
              "timing.mtime_dominant_fraction": 1.0,
              "compression.method_counts.deflate": 11.0
            }
          }
        },
        "ident": {
          "name": {
            "value": "draftwright",
            "source": "whl.distribution",
            "verified": false
          },
          "trust": "unsigned",
          "emails": [
            "pzfreo@gmail.com"
          ],
          "authors": [
            {
              "name": "Paul Fremantle",
              "role": "author",
              "email": "pzfreo@gmail.com",
              "source": "whl.author"
            }
          ],
          "version": {
            "value": "0.1.11",
            "source": "whl.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-markdown-description",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares markdown description",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/scripts::console-scripts-entry",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Python console_scripts entry point",
            "from": [
              {
                "file": 8
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.699999988079071,
            "crit": 2,
            "desc": "Unix /tmp/ path reference"
          },
          {
            "id": "objectives/anti-static/obfuscation/string/recovery::python-recovered-string-sink",
            "conf": 0.75,
            "crit": 1,
            "desc": "Python recovered string print",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "/tmp/ path component"
          },
          {
            "id": "metadata/package/quality/ecosystem::pypi-basic-metadata",
            "conf": 0.949999988079071,
            "crit": 2,
            "desc": "PyPI package has basic metadata",
            "from": [
              {
                "off": 22,
                "file": 7,
                "line": 2
              }
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::not-in-membership-check",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Python not-in membership check",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-requires-python",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares Python requirement",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/scripts::entry-points-file",
            "conf": 0.949999988079071,
            "crit": 1,
            "desc": "Python entry_points.txt file",
            "from": [
              {
                "file": 8
              }
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::cleanup-verb--clear",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Cleanup keyword (clear)",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "objectives/anti-static/obfuscation/string/recovery::python-deduplicated-string-dump",
            "conf": 0.8999999761581421,
            "crit": 3,
            "desc": "Python prints deduplicated recovered strings",
            "from": [
              {
                "file": 3
              },
              {
                "off": 30850,
                "file": 5,
                "line": 786
              },
              {
                "file": 6
              }
            ]
          },
          {
            "id": "well-known/tool/detection/security-scanner::dangerous-code-call-denylist",
            "conf": 0.9200000166893005,
            "crit": 1,
            "desc": "Defensive dangerous code-call denylist",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-license-file",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares license file",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-summary-field",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares package summary",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::in-membership-check",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Python in-membership check",
            "from": [
              {
                "file": 5
              }
            ],
            "spans": [
              [
                9739,
                21
              ]
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-name-field",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares package name",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "token keyword",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/error-handling::except-keyword",
            "crit": 2,
            "desc": "except keyword (Python)",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/file/delete::remove",
            "conf": 0.30000001192092896,
            "crit": 3,
            "desc": "Delete files",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::cleanup-verb--clean",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Cleanup keyword (clean)",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pypi-license-metadata",
            "conf": 0.9399999976158142,
            "crit": 2,
            "desc": "PyPI package declares license metadata",
            "from": [
              {
                "off": 40253,
                "file": 7,
                "line": 671
              }
            ]
          },
          {
            "id": "metadata/package/error-handling::finally-keyword",
            "crit": 2,
            "desc": "finally handler keyword",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-requires-dist",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares runtime dependencies",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pypi-runtime-metadata",
            "conf": 0.9399999976158142,
            "crit": 2,
            "desc": "PyPI package declares runtime metadata",
            "from": [
              {
                "off": 40813,
                "file": 7,
                "line": 682
              }
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::delete-verb--remove",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Removal keyword (remove)",
            "from": [
              {
                "file": 3
              }
            ],
            "spans": [
              [
                25973,
                6
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/backdoor/keywords::worm-marker",
            "atk": "T1204",
            "conf": 0.699999988079071,
            "crit": 3,
            "desc": "Worm malware type reference",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-version-field",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares package version",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::set-construction",
            "conf": 0.75,
            "crit": 1,
            "desc": "Python set() construction",
            "from": [
              {
                "file": 3
              }
            ],
            "spans": [
              [
                7962,
                12
              ]
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Python core metadata marker",
            "from": [
              {
                "file": 7
              }
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "a%FjwA:-N4CxdzgxMLxRFrRf+B-.Lsvru6\u003eaARg8xL}J]vqEJaA::fazF788wO#71vruj4zxJLfAV!?lx(4rmgbAC[",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 73
          },
          {
            "b": "rafMNB0a)lvS=y3whb?}wft@iy?WA5vqYP#Ab](cBZ]07ayMy8B.\u003e(teN-Kmz//AfwN({2B.(eleP$\u0026tCoz0sv}Y:]v{%f",
            "ln": 3,
            "addr": 74
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "Drawing"
            ],
            [
              "",
              "FeatureInfo"
            ],
            [
              "",
              "PmiRecord"
            ],
            [
              "",
              "analyse_face_levels"
            ],
            [
              "",
              "build_drawing"
            ],
            [
              "",
              "choose_scale"
            ],
            [
              "",
              "dedup_diams"
            ],
            [
              "",
              "draftwright.make_drawing"
            ],
            [
              "",
              "draftwright.pmi"
            ],
            [
              "",
              "extract_pmi"
            ],
            [
              "",
              "fix_svg_page_size"
            ],
            [
              "",
              "generate_script"
            ],
            [
              "",
              "lint_feature_coverage"
            ],
            [
              "",
              "make_drawing"
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 5.0,
              "bind_count": 1.0,
              "call_count": 0.0,
              "node_count": 124.0,
              "identifier_count": 15.0,
              "string_literal_count": 13.0,
              "array_literal_max_length": 12.0
            },
            "file": {
              "size": 1025.0,
              "entropy": 4.83,
              "size_bytes": 1025.0
            },
            "text": {
              "digit_ratio": 0.02,
              "space_count": 147.0,
              "total_lines": 41.0,
              "char_entropy": 4.83,
              "unique_chars": 61.0,
              "string_density": 0.32,
              "avg_line_length": 24.0,
              "high_byte_ratio": 0.01,
              "max_line_length": 78.0,
              "non_ascii_ratio": 0.01,
              "empty_line_ratio": 0.12,
              "last_line_length": 1.0,
              "whitespace_ratio": 0.18,
              "most_common_ratio": 0.07,
              "identifier_density": 0.41,
              "line_length_stddev": 20.9,
              "normalized_string_count": 2.03,
              "suspicious_string_ratio": 0.15,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 101.0,
              "normalized_unique_identifiers": 2.8
            },
            "binds": {
              "count": 1.0
            },
            "binary": {
              "overall_entropy": 4.83
            },
            "imports": {
              "count": 14.0,
              "unique_modules": 14.0,
              "third_party_count": 14.0,
              "third_party_ratio": 1.0
            },
            "strings": {
              "total": 13.0,
              "avg_length": 47.69,
              "max_length": 462.0,
              "avg_entropy": 3.36,
              "sql_strings": 1.0,
              "total_bytes": 620.0,
              "entropy_stddev": 0.51,
              "embedded_code_candidates": 1.0
            },
            "identifiers": {
              "count": 15.0,
              "total": 17.0,
              "avg_length": 11.93,
              "max_length": 21.0,
              "min_length": 3.0,
              "avg_entropy": 2.98,
              "reuse_ratio": 0.88,
              "unique_count": 15.0,
              "length_stddev": 4.54,
              "high_entropy_count": 1.0,
              "high_entropy_ratio": 0.07,
              "all_lowercase_ratio": 0.8,
              "double_underscore_count": 1.0,
              "underscore_prefix_count": 1.0
            }
          }
        },
        "id": 1,
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright/__init__.py",
        "risk": 1,
        "sha": "961d6539c7d31421a82b348e5ce4f2f89cb6ea7fb663f15a363342fb45115540",
        "size": 1025,
        "traits": [
          {
            "id": "metadata/lang/embedded::python",
            "conf": 1.0,
            "crit": 2,
            "desc": "python code embedded in string",
            "spans": [
              [
                6,
                446
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python file extension",
            "spans": [
              [
                0,
                11
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::python-artifact-extension",
            "conf": 1.0,
            "crit": 1,
            "desc": "Python artifact file extension (py/pyi/pyc)",
            "spans": [
              [
                0,
                11
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%FjfxKL{)wftYbCp^SxC4CFjAb]Vfx([6jwPF#az/M$xxK@q%A:-N4CxdzgxMLwcA::fazF786zF9W3wI9",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 67
          },
          {
            "b": "ra]#!az(4cB.\u003eRiB7]-qayX[#z*9r+zeS@Cu$sp^w]@lqx\u003eIa3e]t3jwNw$*vrVB6xj8\u0026\u003czE-",
            "ln": 3,
            "addr": 68
          },
          {
            "b": "arR^Ha%Fjsu{Ms^lm:nsFtK\u003eus$y^Zk}BcAlm:nsFtMZZaMv{oay]59wPzT4zFsflx\u003e5o0z!@#pBywS{wGV86xlbhcz/M%IzyM=Hz*cmPa%Fi",
            "ln": 51,
            "addr": 1334
          },
          {
            "b": "arR^HByw*6auZ\u0026Kt(",
            "ln": 52,
            "addr": 1422
          },
          {
            "b": "arR^Hw]zYjx=}bcaAy[dxjSGedlm",
            "ln": 53,
            "addr": 1436
          },
          {
            "b": "arR^HarR^HB1wCHauZ?\u003ea$K\u003cJ",
            "ln": 54,
            "addr": 1459
          },
          {
            "b": "arR^HarR^HCw7YbwGT@)B.9P",
            "ln": 55,
            "addr": 1480
          },
          {
            "b": "arR^HarR^HarR^HB09Q*v}Y)hz/Pwpb0^z4as!NIasec=hyP+0aAE",
            "ln": 56,
            "addr": 1500
          },
          {
            "b": "arR^HarR^HarR^HyAL+.yALn-atL?$eG=+",
            "ln": 57,
            "addr": 1543
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "round"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "chr"
            ],
            [
              "",
              "ord"
            ],
            [
              "",
              "tags.append"
            ],
            [
              "",
              "re.compile"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "Dimension"
            ],
            [
              "",
              "SimpleNamespace"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "kept.append"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "TitleBlock"
            ],
            [
              "",
              "format_drawing_scale"
            ],
            [
              "",
              "Location"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dwg.view_bounds"
            ],
            [
              "",
              "BoundBox"
            ],
            [
              "",
              "Dimension"
            ],
            [
              "",
              "Location"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "Shape"
            ],
            [
              "",
              "SimpleNamespace"
            ],
            [
              "",
              "TitleBlock"
            ],
            [
              "",
              "_greedy_strip_1d"
            ],
            [
              "",
              "_solve_strip_1d"
            ],
            [
              "",
              "build123d"
            ],
            [
              "",
              "build123d_drafting.helpers"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "dataclasses"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "draftwright.layout"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "format_drawing_scale"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "pathlib"
            ],
            [
              "",
              "re"
            ],
            [
              "",
              "types"
            ]
          ],
          "mbr": [
            "TitleBlock().locate",
            "_log.warning",
            "a.PAGE_W",
            "a.SCALE",
            "a.TB_W",
            "a.drawn_by",
            "a.number",
            "a.title",
            "a.tolerance",
            "d._dw_spec",
            "draft_preset().arrow_length",
            "draft_preset().pad_around_text",
            "dwg.add",
            "dwg.draft",
            "dwg.view_bounds",
            "kept.append",
            "logging.getLogger",
            "obj.axis",
            "re.compile",
            "self._cursor",
            "self.anchor",
            "self.cx",
            "self.cy",
            "self.cz",
            "self.direction",
            "self.fv_x",
            "self.fv_y",
            "self.gap",
            "self.outer_limit",
            "self.pv_x",
            "self.pv_y",
            "self.scale",
            "self.spacing",
            "self.sv_x",
            "self.sv_y",
            "tags.append"
          ],
          "tgt": [
            "Dimension",
            "Location",
            "SimpleNamespace",
            "TitleBlock",
            "TitleBlock().locate",
            "_log.warning",
            "abs",
            "any",
            "chr",
            "dataclass",
            "draft_preset",
            "dwg.add",
            "dwg.view_bounds",
            "field",
            "format_drawing_scale",
            "kept.append",
            "len",
            "logging.getLogger",
            "max",
            "min",
            "ord",
            "range",
            "re.compile",
            "round",
            "sorted",
            "str",
            "tags.append",
            "zip"
          ],
          "metrics": {
            "ast": {
              "op.add": 24.0,
              "op.bor": 6.0,
              "op.mod": 1.0,
              "op.mul": 17.0,
              "op.sub": 21.0,
              "op.land": 4.0,
              "max_depth": 19.0,
              "bind_count": 51.0,
              "call_count": 45.0,
              "node_count": 2535.0,
              "op.floordiv": 1.0,
              "member_count": 36.0,
              "op_density.add": 0.01,
              "op_density.bor": 0.0,
              "op_density.mod": 0.0,
              "op_density.mul": 0.01,
              "op_density.sub": 0.01,
              "op_density.land": 0.0,
              "identifier_count": 226.0,
              "member_depth_max": 2.0,
              "infinite_loop_count": 1.0,
              "op_density.floordiv": 0.0,
              "string_literal_count": 28.0,
              "array_literal_max_length": 4.0,
              "string_concat_chain_max_length": 5.0
            },
            "file": {
              "size": 14152.0,
              "entropy": 4.81,
              "size_bytes": 14152.0
            },
            "text": {
              "digit_ratio": 0.02,
              "space_count": 3234.0,
              "total_lines": 432.0,
              "char_entropy": 4.81,
              "unique_chars": 97.0,
              "string_density": 0.06,
              "ascii_art_lines": 1.0,
              "avg_line_length": 31.76,
              "high_byte_ratio": 0.0,
              "max_line_length": 98.0,
              "non_ascii_ratio": 0.0,
              "empty_line_ratio": 0.22,
              "last_line_length": 33.0,
              "whitespace_ratio": 0.26,
              "most_common_ratio": 0.06,
              "identifier_density": 1.51,
              "line_length_stddev": 28.49,
              "normalized_string_count": 1.35,
              "repeated_char_sequences": 41.0,
              "suspicious_string_ratio": 0.68,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 9.0,
              "most_common_char_codepoint": 101.0,
              "suspicious_identifier_ratio": 0.08,
              "normalized_unique_identifiers": 25.81
            },
            "binds": {
              "count": 51.0
            },
            "calls": {
              "count": 45.0
            },
            "binary": {
              "overall_entropy": 4.81
            },
            "source": {
              "class_count": 4.0,
              "function_count": 19.0
            },
            "imports": {
              "count": 21.0,
              "stdlib_count": 5.0,
              "stdlib_ratio": 0.24,
              "unique_modules": 21.0,
              "third_party_count": 16.0,
              "third_party_ratio": 0.76
            },
            "members": {
              "count": 36.0
            },
            "strings": {
              "total": 28.0,
              "avg_length": 222.61,
              "max_length": 1189.0,
              "avg_entropy": 3.67,
              "empty_count": 2.0,
              "sql_strings": 5.0,
              "total_bytes": 6233.0,
              "entropy_stddev": 1.34,
              "very_long_strings": 1.0,
              "shell_command_strings": 12.0,
              "embedded_code_candidates": 2.0
            },
            "comments": {
              "chars": 600.0,
              "lines": 12.0,
              "total": 12.0,
              "to_code_ratio": 0.03
            },
            "functions": {
              "count": 23.0,
              "avg_params": 1.89,
              "max_params": 6.0,
              "length_stddev": 10.67,
              "avg_name_length": 9.11,
              "avg_length_lines": 9.0,
              "max_length_lines": 44.0,
              "min_length_lines": 2.0,
              "single_char_params": 9.0,
              "avg_param_name_length": 3.72,
              "density_per_100_lines": 4.4,
              "code_in_functions_ratio": 0.4
            },
            "identifiers": {
              "count": 226.0,
              "total": 654.0,
              "avg_length": 6.74,
              "max_length": 20.0,
              "min_length": 1.0,
              "avg_entropy": 2.21,
              "reuse_ratio": 0.35,
              "unique_count": 226.0,
              "length_stddev": 4.34,
              "has_digit_ratio": 0.06,
              "sequential_names": 18.0,
              "single_char_count": 16.0,
              "single_char_ratio": 0.07,
              "high_entropy_count": 4.0,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.76,
              "all_uppercase_ratio": 0.12,
              "numeric_suffix_count": 10.0,
              "double_underscore_count": 2.0,
              "underscore_prefix_count": 33.0
            }
          }
        },
        "id": 2,
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright/_core.py",
        "risk": 1,
        "sha": "adb7ed975d55dce649f68144e515350b2b7a53901a90bfeaf95eae5affb48d00",
        "size": 14152,
        "traits": [
          {
            "id": "metadata/file/profile/identity::sequential-identifiers",
            "conf": 0.800000011920929,
            "crit": 2,
            "desc": "Sequential source identifier names",
            "spans": [
              [
                0,
                36
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python file extension",
            "spans": [
              [
                0,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::python-while-true",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python infinite while True loop",
            "spans": [
              [
                1488,
                11
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%Fi%B-.Lsvrui[ayPe9z//Afx(v(iAa9*ewPF#az/M$xxK@q%A:-N4CxdzgxMLwcA::fazF786zF9W3wI9",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 67
          },
          {
            "b": "mrSl.C{46mB8@ECvqxB}ayMy6BZ]hsBA}?pwftn/woRV]u)3\u003eaauB1GvrlGJv18Tbvp\u003cR9A+Pf1Bs}AsyH{\u003c-A::fazF7N\u0026A::fazF9ua",
            "ln": 3,
            "addr": 68
          },
          {
            "b": "arR^HvR/E\u003cyAL+.c)x\u0026^diH8.y?mGjxK$Q.wPxj",
            "ln": 83,
            "addr": 1960
          },
          {
            "b": "arR^HCwgP0auZ\u0026KBAILswHIk6vpS}\u0026diH8.zEWQ3B6O",
            "ln": 84,
            "addr": 1992
          },
          {
            "b": "arR^Hw]zYjAV/7laAy[dxjSGgwPxjX",
            "ln": 85,
            "addr": 2027
          },
          {
            "b": "arR^HarR^HA=ld.aAR:By?j.LasFV",
            "ln": 86,
            "addr": 2052
          },
          {
            "b": "arR^HarR^Hw]zYjv\u003c2G6aAy[dxjSGev@Dg8dlm",
            "ln": 87,
            "addr": 2076
          },
          {
            "b": "arR^HB97#jAaJM5B7!#]BrCamvrVPiz/cXiBAnNCx\u003eg=$\u0026^^movrb{4z//V7A^8kswGVbkwnb)(zGxJgzE)u3vqYP#B9hInvpJ\u003c",
            "ln": 188,
            "addr": 6215
          },
          {
            "b": "arR^Hz/fxpayPslu%)OTvruTjwNxs[ByeM)zdNQax(v)2wme^$axi2*B0bBgB8@Eyy***+B0byswGX[2az+Q$wmY^7AaK4",
            "ln": 189,
            "addr": 6295
          },
          {
            "b": "arR^Hwncabx(mB5az2!twPzV%y-)n5vqPN$wPxsABzbkdBzbYavpR3nz/PXqAa9\u0026#xK#lcv@Dg1vq{p0wftub",
            "ln": 190,
            "addr": 6371
          },
          {
            "b": "arR^Hi+AILv(!1fx(mD*vScsewPIl4x(n3hayMylx(mN1wGUD2B8@(PvR6v]Coz0vwGUP9z/fUGC4\u003eJiaAhvtw[=6)e=",
            "ln": 191,
            "addr": 6440
          },
          {
            "b": "arR^Hl${7DwPRH7B0a[ez//V7AV!!dzF%S9BzkVhayP8bwNPa{ay/tkwPz\u0026mvrb{4B8bGeAaJMj",
            "ln": 192,
            "addr": 6514
          },
          {
            "b": "arR^HBAhT/",
            "ln": 199,
            "addr": 6797
          },
          {
            "b": "arR^HarR^HvScsewPF$Sazbt9wm5!:B8$]lc$a-EvrcDs",
            "ln": 200,
            "addr": 6806
          },
          {
            "b": "arR^HwQ4Y@Ac9i\u003eCW\u003er7BzkVhayPslwQ4YCarR)KzF%J6iV{:.mkczIaMv{oaAz46z!A%4BzkVhaz\u003eLjazb4@y-)UlaA7!3azkn7zdN*fC(",
            "ln": 201,
            "addr": 6843
          },
          {
            "b": "arR^HarR^HuU\u003cT[e[]inzZV/KB-Iwhwg.tavqPN$wPw]4zF\u003cxmvruj4zxK1ox(F35wfroDB15p:az2!cdf",
            "ln": 202,
            "addr": 6929
          },
          {
            "b": "arR^HarR^HA+funA=7",
            "ln": 203,
            "addr": 6995
          },
          {
            "b": "arR^HboR5Hx(4PdB-Rap\u0026^^moBzbkdw[=pbBrCKhB8@ECzY\u003c1nvpJ\u003c\u003ez/cXtxK@q@z/fSrA:-W1BrCTyy\u003c6xgasFD[hZ{u",
            "ln": 225,
            "addr": 7961
          },
          {
            "b": "arR^Hw{u0Xazb)MefFLHf!sCOauZ\u0026TCv@KKx\u003eqG}vScybwofdyw].*cBrSdRar@1Fvp%c]vQ:n2aA7\u003cmBzbkdAb](ex(4u6c)HGbdf",
            "ln": 226,
            "addr": 8037
          },
          {
            "b": "arR^HboPx{z/u?vxK@rbz*9sly?m3}aA7\u003cmvqZvjxLzu%ayP8bwNPa{aAhd9v}xf[vR6v]Coz0vwGU@jz!rZ1wGSymz!@$",
            "ln": 227,
            "addr": 8119
          },
          {
            "b": "arR^HboQG8y\u002613jBAn#QwO#W5y\u0026so7ay]h6B15Z:ra]#!azC)tvix5#vrcB2aAImmxkzchAa9*eazk?9A+3q3xjkH(B95KDxK}",
            "ln": 228,
            "addr": 8195
          },
          {
            "b": "arR^HboQGpz/Y$KAa9*eaA8BmA+]f6ayMy9y\u0026r=\u003ey-)!qy\u003c6wjCw?RuwftL]zE^M{az2!av@#KjasGJzqxNUEfF:?8ar@\u003c1dlm",
            "ln": 229,
            "addr": 8274
          },
          {
            "b": "arR^HarR^HarR^HuU\u003cT[e{y-AzFs03c\u0026",
            "ln": 315,
            "addr": 12192
          },
          {
            "b": "arR^HarR^HarR^HarR^Hb64ygxML?EBAh8may/LmB8M7wb}Z]:au?}hx(!i1CPZ*pze18mb}Z]:iV@DSxj#xsB98CpA3eX9zf3)",
            "ln": 316,
            "addr": 12218
          },
          {
            "b": "arR^HarR^HarR^HarR^Ha%p-hC{43GwPzP}A3e\u003eozY\u003cjqwP]mBx(!hnC4\u003eJiaA8BmA+ocaCxj)vzGG!tvqY$3Byxo9z/cXzz/fbna$J",
            "ln": 317,
            "addr": 12298
          },
          {
            "b": "arR^HarR^HarR^HarR^HuVHiuuT[k0B8M7I",
            "ln": 318,
            "addr": 12381
          },
          {
            "b": "arR^HarR^HarR^HarR^HuUKO1uWb{]x(dNaec",
            "ln": 319,
            "addr": 12410
          },
          {
            "b": "arR^HarR^Hw]zYjByw/kazq)izxKmtA42*pxlbQDxM4Y#B1wCPBAh89BuJPzB.90",
            "ln": 651,
            "addr": 26478
          },
          {
            "b": "arR^Ht(",
            "ln": 652,
            "addr": 26530
          },
          {
            "b": "arR^HboP(}zeTPeaARpday!?@y\u0026sDrB0a[ewftYbv{%E[z/cXdx(d]lBzbkdBywS{wGV28Abn@)wPF$-nM5F^iV@cUazbU9wPE",
            "ln": 653,
            "addr": 26536
          },
          {
            "b": "arR^HboR8wwODfcB8UL$wGUP6AV/EqwGV86vR/P#vqYP#B7/PdzFKqoBzbkdz^)^fvpKa+aAIaoazbtfuT^}#aAI43zGu{GBzbj",
            "ln": 654,
            "addr": 26615
          },
          {
            "b": "arR^HboQJdzGxwiAa9^eB0bd8C4z!bz*C#jB15T.Cw7Y2xDR2gaARpday]zcx(mu%BrC7iB95KyzxJR7vrM]sB7/b@BAnMMbrmLee=",
            "ln": 655,
            "addr": 26695
          },
          {
            "b": "arR^HA+frmy\u0026*^.ax@a",
            "ln": 1250,
            "addr": 51397
          },
          {
            "b": "arR^Hv\u003c0]Sv{:7!zxHCLB97#j",
            "ln": 1251,
            "addr": 51413
          },
          {
            "b": "arR^HCw7YbwGUF9jrOcvzddVI",
            "ln": 1252,
            "addr": 51434
          },
          {
            "b": "arR^HarR^HxLzNfauZ\u0026Kt(",
            "ln": 1253,
            "addr": 51455
          },
          {
            "b": "arR^HarR^Hw]zYjd0ND$aBbW\u003cefDu=gaTL[gastWzxK1ixlc9",
            "ln": 1254,
            "addr": 51473
          },
          {
            "b": "",
            "ln": 1269,
            "addr": 52052
          },
          {
            "b": "wmYu}uUjCbDu\u0026\u003ecB-Y3vz!abAay/LoBy/Fzazb+xDu?K]w]8x]BrAZ?f\u003ez{)dlm",
            "ln": 1270,
            "addr": 52053
          },
          {
            "b": "arR^Ha%Fi$z/oD6vqWVrBZ/DkvpKy4dR0QyBy/FxazbUjz6grqz!abyaA}KwxDQ.aw{5ACC{4iEy?mS}zEWlg",
            "ln": 1271,
            "addr": 52104
          },
          {
            "b": "",
            "ln": 1272,
            "addr": 52173
          },
          {
            "b": "arR^HqE%@)A=b}vvix34x(4rmgbAC-u%(]Ky?WA/u)3\u003eoAV!:$lVl*Xz/]@du%\u003e9}w/#eky?WB3dj=PWAV!:$ph+2Yu%\u003e9\u003ew/#hewD",
            "ln": 1273,
            "addr": 52174
          },
          {
            "b": "arR^Hrb#X=xjV9AaARpdaAIToA4L:mx\u003eIa3az+R4x\u003c$^)x([Ryxjk)[asFD\u003ef!1kQA=k]raA8deaA8oyzeTDaaAIjmB.\u003eP1A=R",
            "ln": 1454,
            "addr": 60144
          },
          {
            "b": "arR^HvR64TB-RapBzblhayPq4aAg+4wI4zgx(mA{wmYU2ayPvmB7/b@BrCTmvqGHcaxJa%v@=HbaARpdaAg+fBrCWzaARpd",
            "ln": 1455,
            "addr": 60223
          },
          {
            "b": "arR^Hw{4{aaAIToA3esovQTd+efF[Lz!-\u0026[BrCptayPvmvixw{A+w%7aAITkzE^f@wft@6vqGG$x(n3haARpdaz+FbxjVda",
            "ln": 1456,
            "addr": 60300
          },
          {
            "b": "arR^Hw].D]aAz46Byx61y?j-czxK4mwGV5cwO2%maAz3Bwo8a5aARpday]IhAbYx0aAIToA3eX9zdNQax(v)gaARpdA+cw4Bn",
            "ln": 1457,
            "addr": 60377
          },
          {
            "b": "arR^HvixS3vqGG$Cw7MdwGV8dwQbztwPh6#vru6iaz\u003eLcyAN.jwGV28xk8p4aA8cuBzbkdw].*cBrC:vwP]WFvqYP#v{%s#x(v\u003e",
            "ln": 1458,
            "addr": 60455
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "math.ceil"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "tuple"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "wide.append"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "math.hypot"
            ],
            [
              "",
              "full_cyls"
            ],
            [
              "",
              "math.hypot"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "kept.append"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "all"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "DIAM_RE.finditer"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "diams.add"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "diams.add"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "find_bosses"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "mentioned_diams"
            ],
            [
              "",
              "next"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "by_diam.items"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "dwg.view_bounds"
            ],
            [
              "",
              "o.bounding_box"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "dwg.at"
            ],
            [
              "",
              "specs.append"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "specs.sort"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "solve_strip_ys"
            ],
            [
              "",
              "greedy_strip_ys"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "iso_bbox"
            ],
            [
              "",
              "right_strips.append"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Centerline"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Centerline"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "concentric_bore_diams"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "CenterMark"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "is_concentric_hole"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "map"
            ],
            [
              "",
              "all"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "annotate_holes"
            ],
            [
              "",
              "add_location_dims"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "detect_step_repeat"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "a.fv_zones.right.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "legible_steps"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "a.fv_zones.right.allocate"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "a.fv_zones.right.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "a.pv_zones.below.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "a.sv_zones.below.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "add_section_view"
            ],
            [
              "",
              "add_detail_view"
            ],
            [
              "",
              "annotate_turned_diameters"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "annotate_pmi"
            ],
            [
              "",
              "add_title_block"
            ],
            [
              "",
              "maybe_tabulate_holes"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "tag_sequence"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "n.startswith"
            ],
            [
              "",
              "dwg.remove"
            ],
            [
              "",
              "dwg.add_table"
            ],
            [
              "",
              "wrap_rows"
            ],
            [
              "",
              "replaced.items"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "tuple"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "dwg._add_balloon"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "math.hypot"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.peek"
            ],
            [
              "",
              "strip.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "bore_info"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "try_above"
            ],
            [
              "",
              "try_below"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "a.pv_zones.above.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "a.pv_zones.below.allocate"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "try_above"
            ],
            [
              "",
              "try_below"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "a.sv_zones.above.allocate"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "a.sv_zones.below.allocate"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "try_above"
            ],
            [
              "",
              "try_below"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "a.fv_zones.below.allocate"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "a.fv_zones.above.allocate"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "witness_from_bbox"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "try_above"
            ],
            [
              "",
              "try_below"
            ],
            [
              "",
              "witness_from_bbox"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "try_right"
            ],
            [
              "",
              "try_left"
            ],
            [
              "",
              "witness_from_bbox"
            ],
            [
              "",
              "try_above"
            ],
            [
              "",
              "try_below"
            ],
            [
              "",
              "witness_from_bbox"
            ],
            [
              "",
              "try_below"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "dwg._dropped_callout_diams.append"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "refs.append"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "refs.append"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "unique.append"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "x_refs.append"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "legible_locations"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "dwg._named.items"
            ],
            [
              "",
              "n.startswith"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "a.pv_zones.above.allocate"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "a.pv_zones.above.allocate"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "iso_bbox"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "y_refs.append"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "legible_locations"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "dwg._named.items"
            ],
            [
              "",
              "n.startswith"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "a.sv_zones.above.allocate"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "a.sv_zones.above.allocate"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "dwg._record_build_issue"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "face.outer_wire"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "face.inner_wires"
            ],
            [
              "",
              "wire.edges"
            ],
            [
              "",
              "edge.position_at"
            ],
            [
              "",
              "edge.position_at"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "edge.position_at"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "SX"
            ],
            [
              "",
              "SZ"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "segs.append"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "hits.append"
            ],
            [
              "",
              "hits.sort"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "result.append"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "TopTools_ListOfShape"
            ],
            [
              "",
              "args.Append"
            ],
            [
              "",
              "TopTools_ListOfShape"
            ],
            [
              "",
              "tools.Append"
            ],
            [
              "",
              "BRepAlgoAPI_Cut"
            ],
            [
              "",
              "op.SetArguments"
            ],
            [
              "",
              "op.SetTools"
            ],
            [
              "",
              "op.SetFuzzyValue"
            ],
            [
              "",
              "op.Build"
            ],
            [
              "",
              "op.IsDone"
            ],
            [
              "",
              "Compound(op.Shape()).solids"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "op.Shape"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "round"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "side_vis.bounding_box"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "side_hid.bounding_box"
            ],
            [
              "",
              "dwg._named.items"
            ],
            [
              "",
              "name.startswith"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "iso_bbox"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "a.part.solids"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "fuzzy_cut"
            ],
            [
              "",
              "Pos"
            ],
            [
              "",
              "Box"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "dwg.add_view"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "PY"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "PX"
            ],
            [
              "",
              "dwg._named.items"
            ],
            [
              "",
              "name.startswith"
            ],
            [
              "",
              "ann.bounding_box"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Centerline"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Arrow"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "filled.faces"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "keep_behind.faces"
            ],
            [
              "",
              "f.normal_at"
            ],
            [
              "",
              "hatch_edges.extend"
            ],
            [
              "",
              "section_hatch_edges"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "legible_steps"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "a.part.solids"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "fuzzy_cut"
            ],
            [
              "",
              "Pos"
            ],
            [
              "",
              "Box"
            ],
            [
              "",
              "fuzzy_cut"
            ],
            [
              "",
              "Pos"
            ],
            [
              "",
              "Box"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "dwg.views.values"
            ],
            [
              "",
              "shp.bounding_box"
            ],
            [
              "",
              "obstacles.append"
            ],
            [
              "",
              "obstacles.append"
            ],
            [
              "",
              "largest_empty_rect"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "legible_steps"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "legible_steps"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "cropped.bounding_box"
            ],
            [
              "",
              "cropped.scale"
            ],
            [
              "",
              "dwg.add_view"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "ViewCoordinates"
            ],
            [
              "",
              "view_axes"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "format_drawing_scale"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FX"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "FZ"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "legible_steps"
            ],
            [
              "",
              "dwg.at"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "dwg.at"
            ],
            [
              "",
              "dwg.at"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "dwg.at"
            ],
            [
              "",
              "dwg.at"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "CenterlineCircle"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "add_pitch_dim"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "math.hypot"
            ],
            [
              "",
              "a.proj.plan_x"
            ],
            [
              "",
              "a.proj.plan_y"
            ],
            [
              "",
              "a.proj.front_x"
            ],
            [
              "",
              "a.proj.front_z"
            ],
            [
              "",
              "a.proj.side_x"
            ],
            [
              "",
              "a.proj.side_z"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "name.startswith"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "LayoutSolver"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "solver.register"
            ],
            [
              "",
              "Placeable"
            ],
            [
              "",
              "solver.solve_strip"
            ],
            [
              "",
              "groups.setdefault(_spec_key(h), []).append"
            ],
            [
              "",
              "groups.setdefault"
            ],
            [
              "",
              "spec_key"
            ],
            [
              "",
              "groups.values"
            ],
            [
              "",
              "by_view.setdefault(view_of_axis[_axis_letter(holes[0])][0], []).append"
            ],
            [
              "",
              "by_view.setdefault"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "iso_bbox"
            ],
            [
              "",
              "a.proj.plan_x"
            ],
            [
              "",
              "a.proj.plan_x"
            ],
            [
              "",
              "a.proj.side_x"
            ],
            [
              "",
              "a.proj.front_z"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "frozenset"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "HoleCallout"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "math.hypot"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "by_view.items"
            ],
            [
              "",
              "patterns.get"
            ],
            [
              "",
              "frozenset"
            ],
            [
              "",
              "specs.append"
            ],
            [
              "",
              "build_callout"
            ],
            [
              "",
              "specs.sort"
            ],
            [
              "",
              "specs.sort"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "record_callout_drop"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "record_callout_drop"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "record_callout_drop"
            ],
            [
              "",
              "occupied.append"
            ],
            [
              "",
              "add"
            ],
            [
              "",
              "rim_tip"
            ],
            [
              "",
              "add_furniture"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "record_callout_drop"
            ],
            [
              "",
              "right_queue.append"
            ],
            [
              "",
              "left_queue.append"
            ],
            [
              "",
              "right_queue.sort"
            ],
            [
              "",
              "left_queue.sort"
            ],
            [
              "",
              "solve_strip_via_layout"
            ],
            [
              "",
              "solve_strip_via_layout"
            ],
            [
              "",
              "greedy_strip_ys"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "record_callout_drop"
            ],
            [
              "",
              "greedy_strip_ys"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "record_callout_drop"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "rim_tip"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "add"
            ],
            [
              "",
              "add_furniture"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "rim_tip"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "add"
            ],
            [
              "",
              "add_furniture"
            ],
            [
              "",
              "Analysis"
            ],
            [
              "",
              "Arrow"
            ],
            [
              "",
              "BRepAlgoAPI_Cut"
            ],
            [
              "",
              "BoltCircle"
            ],
            [
              "",
              "Box"
            ],
            [
              "",
              "CenterMark"
            ],
            [
              "",
              "Centerline"
            ],
            [
              "",
              "CenterlineCircle"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "Edge"
            ],
            [
              "",
              "GeomType"
            ],
            [
              "",
              "HeadType"
            ],
            [
              "",
              "HoleCallout"
            ],
            [
              "",
              "LayoutSolver"
            ],
            [
              "",
              "Leader"
            ],
            [
              "",
              "LinearArray"
            ],
            [
              "",
              "Mode"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "OCP.BRepAlgoAPI"
            ],
            [
              "",
              "OCP.TopTools"
            ],
            [
              "",
              "Placeable"
            ],
            [
              "",
              "Pos"
            ],
            [
              "",
              "TitleBlock"
            ],
            [
              "",
              "TopTools_ListOfShape"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "ViewCoordinates"
            ],
            [
              "",
              "_CONCENTRIC_TOL_MM"
            ],
            [
              "",
              "_DIAM_RE"
            ],
            [
              "",
              "_MIN_LOC_SEP_MM"
            ],
            [
              "",
              "_MIN_STEP_SEP_MM"
            ],
            [
              "",
              "_SLOT_DIM_DEPTH"
            ],
            [
              "",
              "_SLOT_DIM_HEIGHT"
            ],
            [
              "",
              "_SLOT_DIM_STEP"
            ],
            [
              "",
              "_SLOT_DIM_WIDTH"
            ],
            [
              "",
              "_TABULATE_MIN_HOLES"
            ],
            [
              "",
              "_TB_CLEAR"
            ],
            [
              "",
              "_TB_H"
            ],
            [
              "",
              "_add_title_block"
            ],
            [
              "",
              "_axis_letter"
            ],
            [
              "",
              "_dim"
            ],
            [
              "",
              "_fmt"
            ],
            [
              "",
              "_full_cyls"
            ],
            [
              "",
              "_greedy_strip_ys"
            ],
            [
              "",
              "_iso_bbox"
            ],
            [
              "",
              "_largest_empty_rect"
            ],
            [
              "",
              "_legible_steps"
            ],
            [
              "",
              "_log"
            ],
            [
              "",
              "_solve_strip_ys"
            ],
            [
              "",
              "_spec_key"
            ],
            [
              "",
              "_tag_sequence"
            ],
            [
              "",
              "build123d"
            ],
            [
              "",
              "build123d_drafting.features"
            ],
            [
              "",
              "build123d_drafting.helpers"
            ],
            [
              "",
              "draftwright._core"
            ],
            [
              "",
              "draftwright.layout"
            ],
            [
              "",
              "find_bosses"
            ],
            [
              "",
              "format_drawing_scale"
            ],
            [
              "",
              "math"
            ],
            [
              "",
              "view_axes"
            ]
          ],
          "mbr": [
            "Compound().solids",
            "Edge.make_line",
            "GeomType.LINE",
            "HeadType.STRAIGHT",
            "Mode.PRIVATE",
            "_DIAM_RE.finditer",
            "_log.debug",
            "_log.info",
            "_log.warning",
            "_right_strips.append",
            "_rs._cursor",
            "_rs.outer_limit",
            "_st._cursor",
            "_st.anchor",
            "_st.available",
            "_st.depth_used",
            "_st.direction",
            "_st.gap",
            "_st.outer_limit",
            "_st.spacing",
            "a.DIM_PAD",
            "a.FV_X",
            "a.FV_Y",
            "a.PAGE_H",
            "a.PAGE_W",
            "a.PV_Y",
            "a.SCALE",
            "a.SV_Y",
            "a.TB_W",
            "a.bb",
            "a.bb.max",
            "a.bb.max.X",
            "a.bb.max.Y",
            "a.bb.max.Z",
            "a.bb.min",
            "a.bb.min.X",
            "a.bb.min.Y",
            "a.bb.min.Z",
            "a.bbox_max",
            "a.cross_diams",
            "a.cx",
            "a.cy",
            "a.cyls",
            "a.cz",
            "a.fv_hh",
            "a.fv_zones",
            "a.fv_zones.above",
            "a.fv_zones.above.allocate",
            "a.fv_zones.below",
            "a.fv_zones.below.allocate",
            "a.fv_zones.left",
            "a.fv_zones.right",
            "a.fv_zones.right.allocate",
            "a.holes",
            "a.is_rotational",
            "a.margin",
            "a.od_diam",
            "a.part",
            "a.part.solids",
            "a.patterns",
            "a.pmi",
            "a.pmi_mode",
            "a.proj",
            "a.proj.front_x",
            "a.proj.front_z",
            "a.proj.plan_x",
            "a.proj.plan_y",
            "a.proj.side_x",
            "a.proj.side_z",
            "a.pv_hh",
            "a.pv_zones",
            "a.pv_zones.above",
            "a.pv_zones.above.allocate",
            "a.pv_zones.below",
            "a.pv_zones.below.allocate",
            "a.pv_zones.left",
            "a.pv_zones.right",
            "a.step_zs",
            "a.sv_zones",
            "a.sv_zones.above",
            "a.sv_zones.above.allocate",
            "a.sv_zones.below",
            "a.sv_zones.below.allocate",
            "a.sv_zones.left",
            "a.sv_zones.right",
            "a.x_size",
            "a.y_size",
            "a.z_diams",
            "a.z_size",
            "above._cursor",
            "above.outer_limit",
            "ann.bounding_box",
            "ann.label_bbox",
            "args.Append",
            "b.axis",
            "b.diameter",
            "b.height",
            "b.location",
            "body.wrapped",
            "by_diam.items",
            "by_view.items",
            "by_view.setdefault",
            "by_view.setdefault().append",
            "c.axis_xyz",
            "c.diameter",
            "c.external",
            "callout.callout_width",
            "cb.max",
            "cb.max.X",
            "cb.max.Y",
            "cb.max.Z",
            "cb.min",
            "cb.min.X",
            "cb.min.Y",
            "cb.min.Z",
            "cropped.bounding_box",
            "cropped.scale",
            "cutter.wrapped",
            "det_dim._dw_scale",
            "diams.add",
            "draft.arrow_length",
            "draft.font_size",
            "draft.pad_around_text",
            "dwg._add_balloon",
            "dwg._build_issues",
            "dwg._coords",
            "dwg._coords.detail_a",
            "dwg._dropped_callout_diams",
            "dwg._dropped_callout_diams.append",
            "dwg._named",
            "dwg._named.items",
            "dwg._record_build_issue",
            "dwg.add",
            "dwg.add_table",
            "dwg.add_view",
            "dwg.at",
            "dwg.dist",
            "dwg.draft",
            "dwg.draft.arrow_length",
            "dwg.draft.font_size",
            "dwg.draft.line_width",
            "dwg.items",
            "dwg.look_at",
            "dwg.remove",
            "dwg.view_bounds",
            "dwg.views",
            "dwg.views.side",
            "dwg.views.values",
            "edge.geom_type",
            "edge.length",
            "edge.position_at",
            "f.normal_at",
            "f.normal_at().Y",
            "face.inner_wires",
            "face.outer_wire",
            "filled.faces",
            "groups.setdefault",
            "groups.setdefault().append",
            "groups.values",
            "h.bottom",
            "h.cbore",
            "h.depth",
            "h.diameter",
            "h.location",
            "h.spotface",
            "hatch.is_section_hatch",
            "hatch_edges.extend",
            "hits.append",
            "hits.sort",
            "i.code",
            "keep_behind.faces",
            "kept.append",
            "left_queue.append",
            "left_queue.sort",
            "m.group",
            "marker.is_centerline",
            "math.ceil",
            "math.hypot",
            "n.startswith",
            "name.startswith",
            "near.diameter",
            "near.location",
            "o.bounding_box",
            "ob.max",
            "ob.max.X",
            "ob.min",
            "ob.min.X",
            "ob.min.Y",
            "obstacles.append",
            "occupied.append",
            "op.Build",
            "op.IsDone",
            "op.SetArguments",
            "op.SetFuzzyValue",
            "op.SetTools",
            "op.Shape",
            "p.center",
            "p.holes",
            "pattern.diameter",
            "pattern.holes",
            "pattern.pitch",
            "patterns.get",
            "r.kind",
            "r.ref_pts",
            "r.value",
            "rec.dominant_axis",
            "rec.kind",
            "rec.label",
            "rec.ref_bbox",
            "rec.ref_pts",
            "rec.value",
            "refs.append",
            "replaced.items",
            "result.append",
            "right_queue.append",
            "right_queue.sort",
            "right_strip.outer_limit",
            "segs.append",
            "shp.bounding_box",
            "side_hid.bounding_box",
            "side_hid.bounding_box().max",
            "side_hid.bounding_box().max.X",
            "side_vis.bounding_box",
            "side_vis.bounding_box().max",
            "side_vis.bounding_box().max.X",
            "solver.register",
            "solver.solve_strip",
            "specs.append",
            "specs.sort",
            "step.depth",
            "step.diameter",
            "strip.allocate",
            "strip.peek",
            "table.covers_diameters",
            "tools.Append",
            "unique.append",
            "v.X",
            "v.Z",
            "vb.max",
            "vb.max.X",
            "vb.max.Y",
            "vb.min",
            "vb.min.X",
            "vb.min.Y",
            "wide.append",
            "wire.edges",
            "x_refs.append",
            "y_refs.append"
          ],
          "tgt": [
            "Arrow",
            "BRepAlgoAPI_Cut",
            "Box",
            "CenterMark",
            "Centerline",
            "CenterlineCircle",
            "Compound",
            "Compound().solids",
            "Edge.make_line",
            "FX",
            "FZ",
            "HoleCallout",
            "LayoutSolver",
            "Leader",
            "Note",
            "PX",
            "PY",
            "Placeable",
            "Pos",
            "SX",
            "SZ",
            "TopTools_ListOfShape",
            "Vector",
            "ViewCoordinates",
            "_DIAM_RE.finditer",
            "_add",
            "_add_detail_view",
            "_add_furniture",
            "_add_location_dims",
            "_add_pitch_dim",
            "_add_section_view",
            "_add_title_block",
            "_annotate_holes",
            "_annotate_pmi",
            "_annotate_turned_diameters",
            "_axis_letter",
            "_bore_info",
            "_build_callout",
            "_concentric_bore_diams",
            "_detect_step_repeat",
            "_dim",
            "_fmt",
            "_full_cyls",
            "_fuzzy_cut",
            "_greedy_strip_ys",
            "_is_concentric_hole",
            "_iso_bbox",
            "_largest_empty_rect",
            "_legible_locations",
            "_legible_steps",
            "_log.debug",
            "_log.info",
            "_log.warning",
            "_maybe_tabulate_holes",
            "_mentioned_diams",
            "_record_callout_drop",
            "_right_strips.append",
            "_rim_tip",
            "_section_hatch_edges",
            "_solve_strip_via_layout",
            "_solve_strip_ys",
            "_spec_key",
            "_tag_sequence",
            "_try_above",
            "_try_below",
            "_try_left",
            "_try_right",
            "_witness_from_bbox",
            "_wrap_rows",
            "a.fv_zones.above.allocate",
            "a.fv_zones.below.allocate",
            "a.fv_zones.right.allocate",
            "a.part.solids",
            "a.proj.front_x",
            "a.proj.front_z",
            "a.proj.plan_x",
            "a.proj.plan_y",
            "a.proj.side_x",
            "a.proj.side_z",
            "a.pv_zones.above.allocate",
            "a.pv_zones.below.allocate",
            "a.sv_zones.above.allocate",
            "a.sv_zones.below.allocate",
            "abs",
            "all",
            "ann.bounding_box",
            "any",
            "args.Append",
            "by_diam.items",
            "by_view.items",
            "by_view.setdefault",
            "by_view.setdefault().append",
            "cropped.bounding_box",
            "cropped.scale",
            "diams.add",
            "dwg._add_balloon",
            "dwg._dropped_callout_diams.append",
            "dwg._named.items",
            "dwg._record_build_issue",
            "dwg.add",
            "dwg.add_table",
            "dwg.add_view",
            "dwg.at",
            "dwg.remove",
            "dwg.view_bounds",
            "dwg.views.values",
            "edge.position_at",
            "enumerate",
            "f.normal_at",
            "face.inner_wires",
            "face.outer_wire",
            "filled.faces",
            "find_bosses",
            "float",
            "format_drawing_scale",
            "frozenset",
            "getattr",
            "groups.setdefault",
            "groups.setdefault().append",
            "groups.values",
            "hatch_edges.extend",
            "hits.append",
            "hits.sort",
            "id",
            "int",
            "isinstance",
            "keep_behind.faces",
            "kept.append",
            "left_queue.append",
            "left_queue.sort",
            "len",
            "list",
            "m.group",
            "map",
            "math.ceil",
            "math.hypot",
            "max",
            "min",
            "n.startswith",
            "name.startswith",
            "next",
            "o.bounding_box",
            "obstacles.append",
            "occupied.append",
            "op.Build",
            "op.IsDone",
            "op.SetArguments",
            "op.SetFuzzyValue",
            "op.SetTools",
            "op.Shape",
            "patterns.get",
            "range",
            "refs.append",
            "replaced.items",
            "result.append",
            "right_queue.append",
            "right_queue.sort",
            "round",
            "segs.append",
            "set",
            "shp.bounding_box",
            "side_hid.bounding_box",
            "side_vis.bounding_box",
            "solver.register",
            "solver.solve_strip",
            "sorted",
            "specs.append",
            "specs.sort",
            "strip.allocate",
            "strip.peek",
            "sum",
            "to_page",
            "tools.Append",
            "tuple",
            "unique.append",
            "view_axes",
            "wide.append",
            "wire.edges",
            "x_refs.append",
            "y_refs.append",
            "zip"
          ],
          "metrics": {
            "ast": {
              "op.add": 121.0,
              "op.div": 50.0,
              "op.lor": 22.0,
              "op.mul": 68.0,
              "op.pow": 2.0,
              "op.sub": 179.0,
              "op.land": 33.0,
              "max_depth": 26.0,
              "bind_count": 409.0,
              "call_count": 738.0,
              "node_count": 19977.0,
              "member_count": 248.0,
              "op_density.add": 0.01,
              "op_density.div": 0.0,
              "op_density.lor": 0.0,
              "op_density.mul": 0.0,
              "op_density.pow": 0.0,
              "op_density.sub": 0.01,
              "op_density.land": 0.0,
              "identifier_count": 642.0,
              "member_depth_max": 4.0,
              "string_literal_count": 310.0,
              "array_literal_max_length": 12.0,
              "numeric_array_max_length": 4.0,
              "string_concat_chain_max_length": 4.0
            },
            "file": {
              "size": 86973.0,
              "entropy": 4.58,
              "size_bytes": 86973.0
            },
            "text": {
              "digit_ratio": 0.02,
              "space_count": 24928.0,
              "total_lines": 2039.0,
              "char_entropy": 4.58,
              "unique_chars": 106.0,
              "string_density": 0.15,
              "avg_line_length": 41.65,
              "high_byte_ratio": 0.0,
              "max_line_length": 102.0,
              "non_ascii_ratio": 0.0,
              "empty_line_ratio": 0.08,
              "last_line_length": 61.0,
              "whitespace_ratio": 0.31,
              "most_common_ratio": 0.06,
              "identifier_density": 2.3,
              "line_length_stddev": 27.17,
              "normalized_string_count": 6.87,
              "repeated_char_sequences": 656.0,
              "suspicious_string_ratio": 0.08,
              "most_common_char_is_null": 0.0,
              "suspicious_comment_ratio": 0.03,
              "max_inline_whitespace_run": 3.0,
              "most_common_char_codepoint": 101.0,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 58.4
            },
            "binds": {
              "count": 409.0
            },
            "calls": {
              "count": 738.0
            },
            "binary": {
              "overall_entropy": 4.58
            },
            "source": {
              "function_count": 30.0
            },
            "imports": {
              "count": 59.0,
              "stdlib_count": 1.0,
              "stdlib_ratio": 0.02,
              "unique_modules": 59.0,
              "third_party_count": 58.0,
              "third_party_ratio": 0.98
            },
            "members": {
              "count": 248.0
            },
            "strings": {
              "total": 310.0,
              "avg_length": 52.71,
              "max_length": 860.0,
              "avg_entropy": 2.89,
              "empty_count": 3.0,
              "sql_strings": 11.0,
              "total_bytes": 16339.0,
              "entropy_stddev": 1.3,
              "shell_command_strings": 14.0,
              "embedded_code_candidates": 1.0
            },
            "comments": {
              "chars": 15810.0,
              "lines": 254.0,
              "total": 255.0,
              "to_code_ratio": 0.14,
              "empty_comments": 1.0,
              "base64_in_comments": 1.0,
              "high_entropy_comments": 7.0
            },
            "functions": {
              "count": 30.0,
              "avg_params": 3.37,
              "max_params": 6.0,
              "length_stddev": 96.31,
              "over_100_lines": 6.0,
              "avg_name_length": 14.67,
              "avg_length_lines": 70.4,
              "max_length_lines": 343.0,
              "min_length_lines": 2.0,
              "nested_functions": 3.0,
              "avg_nesting_depth": 0.33,
              "max_nesting_depth": 1.0,
              "high_entropy_names": 3.0,
              "single_char_params": 17.0,
              "avg_param_name_length": 4.32,
              "density_per_100_lines": 1.47,
              "code_in_functions_ratio": 1.04
            },
            "identifiers": {
              "count": 642.0,
              "total": 4699.0,
              "avg_length": 6.8,
              "max_length": 26.0,
              "min_length": 1.0,
              "avg_entropy": 2.26,
              "reuse_ratio": 0.14,
              "unique_count": 642.0,
              "length_stddev": 4.22,
              "has_digit_ratio": 0.05,
              "sequential_names": 34.0,
              "single_char_count": 26.0,
              "single_char_ratio": 0.04,
              "high_entropy_count": 13.0,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.84,
              "all_uppercase_ratio": 0.06,
              "numeric_suffix_count": 31.0,
              "underscore_prefix_count": 96.0
            }
          }
        },
        "id": 3,
        "mol": "O(C)",
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright/annotate.py",
        "risk": 1,
        "sha": "00c84eda7a46e88cd957069d53569f2f902dafa2146aea41448edf78fab952c1",
        "size": 86973,
        "traits": [
          {
            "id": "metadata/package/error-handling::except-keyword",
            "crit": 2,
            "desc": "except keyword (Python)",
            "spans": [
              [
                52108,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::set-construction",
            "conf": 0.75,
            "crit": 1,
            "desc": "Python set() construction",
            "spans": [
              [
                5603,
                11
              ]
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::cleanup-verb--clear",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Cleanup keyword (clear)",
            "spans": [
              [
                8138,
                5
              ]
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::delete-verb--remove",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Removal keyword (remove)",
            "spans": [
              [
                26542,
                6
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/backdoor/keywords::worm-marker",
            "atk": "T1204",
            "conf": 0.699999988079071,
            "crit": 3,
            "desc": "Worm malware type reference",
            "spans": [
              [
                6414,
                4
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%Fi#z/fSrA:-W1Bs*%gB7F(8y*?QcB-X:qzF9W3wGY#.LPT{Uvrl05f^7KEvp\u003ca\u0026y?dl$xcnP*l@CcYfFCpie=",
            "n": [
              {
                "c": 2,
                "d": "Python file extension",
                "i": "metadata/file/extension/identity::py",
                "o": 0,
                "z": 9,
                "cf": 1.0
              }
            ],
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 70
          },
          {
            "b": "ra]#!az(4cB.\u003eRixM4Y$B0bNrwGU@dvpJ\u003e=wO#PjAb]Vfx([6jwPF#oxKM09wP?T9C{3KkzF%S9BzkVhaAR)FwGVhhy?%",
            "n": [
              {
                "c": 2,
                "d": "English language detection",
                "i": "metadata/file/profile/language::lang-english",
                "o": 71,
                "z": 4,
                "cf": 0.800000011920929
              }
            ],
            "ln": 3,
            "addr": 71
          },
          {
            "b": "wP?T5BAI2dy\u003cvdAxKL{)iV}\u0026Ni+8#mB8%xIp\u00266MIwNP4:wNDT7vqH6$aA7.7wN/*8wmY*(A+O#%zF78oxKM09BzbkdB8L(rwPv",
            "ln": 4,
            "addr": 146
          },
          {
            "b": "zddYjzeTPeefFwswftq6i+8#mB8%xIoKSi+B-ZM2y\u003c6xgu)6M8vrrShy***+B0a)lB7GCoz!pbhy***+vpB4:B0a[cz/fhgz/fa",
            "ln": 5,
            "addr": 225
          },
          {
            "b": "arR^Ha%Fj3A+e/)C{1?faAhd9v}xH*zGE]ZAclknaz1$\u003exDRFby\u0026%qiB-nECzGGPeaARpdazkb4ay/k0vrcAw",
            "ln": 37,
            "addr": 1723
          },
          {
            "b": "",
            "ln": 38,
            "addr": 1792
          },
          {
            "b": "arR^Hs7#+\u0026as.tJwObU3jW@\u003c@B7D*zc$D[3vrDyddlnO(wPS6nzGu}du}$STwNF)*x\u003ewF@zH0vsBy/qiz*2Yjw]8yfB08@Cx^$.",
            "n": [
              {
                "c": 1,
                "d": "overflow keyword",
                "i": "objectives/privilege-escalation/exploit/keywords::overflow",
                "o": 1857,
                "z": 8,
                "cf": 0.5
              }
            ],
            "ln": 39,
            "addr": 1793
          },
          {
            "b": "arR^Hs7#+\u0026as.tJwObU3jYDDAwHY.-B98ttB0a[kaARpdazbtdB95KyC4CYay\u0026sIuvqYP#A+funA=b}vBzbkdAbn@)wN({5A+e\u0026%CRe",
            "ln": 40,
            "addr": 1873
          },
          {
            "b": "arR^HdSeWpB-H]bB1eqHB-RTEvR3W6z/P@hwftr4v}xK*x(mMo",
            "ln": 41,
            "addr": 1956
          },
          {
            "b": "arR^HA+frmy\u0026*^.ax@a",
            "ln": 43,
            "addr": 2005
          },
          {
            "b": "arR^HAb]JkauZ\u0026-zY*ROze0({xjk-",
            "ln": 44,
            "addr": 2021
          },
          {
            "b": "arR^Hw]zYjzEESfx(k5hvruTjvqH0C",
            "n": [
              {
                "c": 2,
                "d": "Iteration or loop pattern",
                "i": "micro-behaviors/data/control-flow/analysis::iteration-loop-pattern",
                "o": 2048,
                "z": 12,
                "cf": 0.5
              }
            ],
            "ln": 45,
            "addr": 2045
          },
          {
            "b": "arR^HarR^HB%5{\u003czddVqAb]Jkas!NKx(mo\u003cvq)+uzEESo",
            "ln": 46,
            "addr": 2070
          },
          {
            "b": "arR^HarR^Hx\u003ewGhau*]Yx/V",
            "ln": 47,
            "addr": 2107
          },
          {
            "b": "arR^HBAhT/",
            "ln": 73,
            "addr": 2940
          },
          {
            "b": "arR^HarR^Hx(d*cA=-Btx)jojz!%PdAV!!iazUV",
            "ln": 74,
            "addr": 2949
          },
          {
            "b": "arR^HwQ4Y@Ac9i]ze:AlBvyj\u003cz/N(",
            "n": [
              {
                "c": 2,
                "d": "Error handling keywords",
                "i": "micro-behaviors/crypto/symmetric/fernet::error-handling-keywords",
                "o": 2985,
                "z": 18,
                "cf": 1.0
              }
            ],
            "ln": 75,
            "addr": 2981
          },
          {
            "b": "arR^HarR^HA+funA=91bxl4M{wo?K6BAh8muOM7tzEETfA:-^9efF!zzEm3+A4AbFz.92Ax^\u003c",
            "ln": 76,
            "addr": 3005
          },
          {
            "b": "",
            "ln": 77,
            "addr": 3064
          },
          {
            "b": "arR^HarR^HarR^HB8L(rwPxziwmO5CzGx]uvqfR3c[6lYjV%{9vrr}vD(%ROBAhqqxcF=",
            "ln": 87,
            "addr": 3447
          },
          {
            "b": "arR^HarR^HB8L(rwPxzCAaAy0wMAkWx\u003c\u003eE!wPGmG",
            "ln": 88,
            "addr": 3503
          },
          {
            "b": "arR^HarR^HA+funA=917B$N@Dy\u0026%qqdiJkvAV/JFx(k5pB6O",
            "n": [
              {
                "c": 2,
                "d": "Munin metric value output",
                "i": "well-known/tool/sysadmin/munin::graph-value-output",
                "o": 3553,
                "z": 6,
                "cf": 0.9800000190734863
              }
            ],
            "ln": 89,
            "addr": 3536
          },
          {
            "b": "arR^HwQ4Y@Ac9jrx!Az6B76f8B7Pb{vR/Qyz/fSrA:-W1Buf",
            "ln": 90,
            "addr": 3575
          },
          {
            "b": "arR^HarR^HA+funA=90{z/fa",
            "ln": 91,
            "addr": 3614
          },
          {
            "b": "",
            "ln": 159,
            "addr": 6098
          },
          {
            "b": "arR^Hl3di?x\u003c#jbwPG)",
            "ln": 160,
            "addr": 6099
          },
          {
            "b": "arR^HarR^HyH}=LaAITkvR/P#x\u003eg^)Bzku3wPx\u003cPwo8ycwPF#8wPRH7ze0)4B98baaA?glx\u003c\u003eE!wGU]iwmY^}zF782zE:(9wQes",
            "n": [
              {
                "c": 1,
                "d": "Database secret config key",
                "i": "micro-behaviors/data/db/config::database-secret-key",
                "o": 6123,
                "z": 4,
                "cf": 0.8500000238418579
              }
            ],
            "ln": 161,
            "addr": 6115
          },
          {
            "b": "arR^HarR^HarR^HBzbkdB8L(rwN)xiz/YSmx(v(iA+frmy\u0026?o",
            "ln": 162,
            "addr": 6195
          },
          {
            "b": "arR^HarR^HvqYN*z/P[WazbtjwN({5z!T9hB0bNrwGUA0zF%S9BzkVhaz(mxBrC7izF\u003c2}BrCWzaMv{oayMyewNPaXAXy{hy\u002613jBn",
            "ln": 163,
            "addr": 6235
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "max"
            ],
            [
              "",
              "result.append"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "greedy_strip_1d"
            ],
            [
              "",
              "ki.Solver"
            ],
            [
              "",
              "ki.Variable"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "solver.updateVariables"
            ],
            [
              "",
              "v.value"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "result.append"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "greedy_strip_1d_var"
            ],
            [
              "",
              "ki.Solver"
            ],
            [
              "",
              "ki.Variable"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "solver.addConstraint"
            ],
            [
              "",
              "solver.updateVariables"
            ],
            [
              "",
              "v.value"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "self._keys.add"
            ],
            [
              "",
              "self._placeables.append"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "solve_strip_1d"
            ],
            [
              "",
              "greedy_strip_1d"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "solve_strip_1d_var"
            ],
            [
              "",
              "greedy_strip_1d_var"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "fit_box"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "Literal"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "dataclasses"
            ],
            [
              "",
              "kiwisolver"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "Literal.x",
            "ki.Solver",
            "ki.UnsatisfiableConstraint",
            "ki.Variable",
            "p.dof_axis",
            "p.key",
            "p.min_gap",
            "p.natural",
            "placeable.key",
            "result.append",
            "self._keys",
            "self._keys.add",
            "self._placeables",
            "self._placeables.append",
            "solver.addConstraint",
            "solver.updateVariables",
            "v.value"
          ],
          "tgt": [
            "ValueError",
            "_greedy_strip_1d",
            "_greedy_strip_1d_var",
            "_solve_strip_1d",
            "_solve_strip_1d_var",
            "any",
            "dataclass",
            "enumerate",
            "fit_box",
            "ki.Solver",
            "ki.Variable",
            "len",
            "max",
            "range",
            "result.append",
            "self._keys.add",
            "self._placeables.append",
            "set",
            "solver.addConstraint",
            "solver.updateVariables",
            "sorted",
            "sum",
            "v.value",
            "zip"
          ],
          "metrics": {
            "ast": {
              "op.add": 10.0,
              "op.bor": 11.0,
              "op.lor": 2.0,
              "op.mul": 1.0,
              "op.pow": 2.0,
              "op.sub": 19.0,
              "op.land": 8.0,
              "max_depth": 17.0,
              "bind_count": 43.0,
              "call_count": 53.0,
              "node_count": 2077.0,
              "member_count": 17.0,
              "op_density.add": 0.0,
              "op_density.bor": 0.01,
              "op_density.lor": 0.0,
              "op_density.mul": 0.0,
              "op_density.pow": 0.0,
              "op_density.sub": 0.01,
              "op_density.land": 0.0,
              "identifier_count": 109.0,
              "member_depth_max": 3.0,
              "string_literal_count": 30.0,
              "array_literal_max_length": 4.0,
              "string_concat_chain_max_length": 4.0
            },
            "file": {
              "size": 13705.0,
              "entropy": 4.67,
              "size_bytes": 13705.0
            },
            "text": {
              "digit_ratio": 0.02,
              "space_count": 3250.0,
              "total_lines": 317.0,
              "char_entropy": 4.67,
              "unique_chars": 91.0,
              "string_density": 0.09,
              "ascii_art_lines": 4.0,
              "avg_line_length": 42.23,
              "high_byte_ratio": 0.0,
              "max_line_length": 93.0,
              "non_ascii_ratio": 0.0,
              "empty_line_ratio": 0.15,
              "last_line_length": 15.0,
              "whitespace_ratio": 0.26,
              "most_common_ratio": 0.07,
              "identifier_density": 1.53,
              "line_length_stddev": 29.52,
              "normalized_string_count": 1.68,
              "repeated_char_sequences": 53.0,
              "suspicious_string_ratio": 0.63,
              "most_common_char_is_null": 0.0,
              "suspicious_comment_ratio": 0.07,
              "max_inline_whitespace_run": 2.0,
              "most_common_char_codepoint": 101.0,
              "suspicious_identifier_ratio": 0.09,
              "normalized_unique_identifiers": 13.12
            },
            "binds": {
              "count": 43.0
            },
            "calls": {
              "count": 53.0
            },
            "binary": {
              "overall_entropy": 4.67,
              "peak_region_bytes": 13312.0,
              "peak_region_entropy": 4.73
            },
            "source": {
              "class_count": 2.0,
              "function_count": 9.0
            },
            "imports": {
              "count": 5.0,
              "stdlib_count": 2.0,
              "stdlib_ratio": 0.4,
              "unique_modules": 5.0,
              "aliased_imports": 1.0,
              "third_party_count": 3.0,
              "third_party_ratio": 0.6
            },
            "members": {
              "count": 17.0
            },
            "strings": {
              "total": 30.0,
              "avg_length": 244.67,
              "max_length": 1547.0,
              "avg_entropy": 2.8,
              "sql_strings": 6.0,
              "total_bytes": 7340.0,
              "entropy_stddev": 1.55,
              "very_long_strings": 2.0,
              "shell_command_strings": 11.0,
              "embedded_code_candidates": 2.0
            },
            "comments": {
              "chars": 836.0,
              "lines": 14.0,
              "total": 14.0,
              "to_code_ratio": 0.05,
              "high_entropy_comments": 1.0
            },
            "functions": {
              "count": 11.0,
              "avg_params": 4.33,
              "max_params": 6.0,
              "length_stddev": 14.31,
              "avg_name_length": 12.56,
              "avg_length_lines": 24.22,
              "max_length_lines": 44.0,
              "min_length_lines": 3.0,
              "high_entropy_names": 1.0,
              "single_char_params": 4.0,
              "avg_param_name_length": 4.72,
              "density_per_100_lines": 2.84,
              "code_in_functions_ratio": 0.69
            },
            "identifiers": {
              "count": 109.0,
              "total": 484.0,
              "avg_length": 5.94,
              "max_length": 23.0,
              "min_length": 1.0,
              "avg_entropy": 2.01,
              "reuse_ratio": 0.23,
              "unique_count": 109.0,
              "length_stddev": 4.27,
              "has_digit_ratio": 0.07,
              "sequential_names": 10.0,
              "single_char_count": 10.0,
              "single_char_ratio": 0.09,
              "high_entropy_count": 2.0,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.83,
              "numeric_suffix_count": 4.0,
              "double_underscore_count": 1.0,
              "underscore_prefix_count": 7.0
            }
          }
        },
        "id": 4,
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright/layout.py",
        "risk": 1,
        "sha": "e4b00ee92c7b8ab4ee7068eff3f5bf8fed965d8f253ce432cccbe4f928fbd92c",
        "size": 13705,
        "traits": [
          {
            "id": "well-known/tool/sysadmin/munin::graph-value-output",
            "conf": 0.9800000190734863,
            "crit": 2,
            "desc": "Munin metric value output",
            "spans": [
              [
                3553,
                6
              ]
            ]
          },
          {
            "id": "metadata/file/metrics::low-overall-entropy-source",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Script overall entropy stays low",
            "spans": [
              [
                0,
                29
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python file extension",
            "spans": [
              [
                0,
                9
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%FjFvqxBYwo8a5x(mMa\u0026^^mot4I.)eKq@Jq=DgZeP+[.By!@}zFrP?y+ogrvrVB6xcqecAaJ\u003c1zE\u003eB",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 64
          },
          {
            "b": "p\u0026ZF+BZ]07ayMxHeP$\u0026tCoz0vx(W-ovqYZ]wGV8av}Y:]v{%f@wo8a5x(mMac$WHrzGEALAbn%2efG1FwmWqmx(!ifwPR%bv\u003c}",
            "ln": 3,
            "addr": 65
          },
          {
            "b": "CwhejayPzmz/5{8x\u003e5n@x(dB0B7]MgaAIagwN/*@z/cXfA=k!qw)]gXeOwTkzdN*fC{3KkvqHjgx(+)",
            "ln": 4,
            "addr": 144
          },
          {
            "b": "",
            "ln": 5,
            "addr": 208
          },
          {
            "b": "rc-B%v{%f@B-Q#7wJz\u003c",
            "ln": 6,
            "addr": 209
          },
          {
            "b": "arR^Hzddi\u003eeO5)gCwg@caAg+fBs}SRwPe+zeP+YGy?j.klq*9pogq/7at2f.B.$P0AV^+Km\u003eDzKg5",
            "ln": 14,
            "addr": 441
          },
          {
            "b": "arR^Hzddi\u003eeO5)gCwg@caAg+fBs}SRwPe+zePUAxx(FeparR)KCxdztwGUL{x()=)y?j.wAcSNuzGx]hvpP",
            "ln": 15,
            "addr": 503
          },
          {
            "b": "arR^Hzddi\u003eeO5)gCwg@caAg+fBs}SRwPe+zePk=Natm?NA4=cLBz#wA",
            "ln": 16,
            "addr": 570
          },
          {
            "b": "a%Fi",
            "ln": 17,
            "addr": 615
          },
          {
            "b": "",
            "ln": 18,
            "addr": 619
          },
          {
            "b": "arR^HAa9x\u003caAIDzBzbkdA+fc0wPzH5xcp/2y\u00261enBzbkdv@DydwN/*8k}Nd?A+P9aaAIjcwPPK",
            "ln": 135,
            "addr": 3085
          },
          {
            "b": "arR^Ha%Fi",
            "ln": 136,
            "addr": 3145
          },
          {
            "b": "arR^HwmoN*auZ\u0026zvrufhB9qh6Aa9\u003c4dk2TLvpS.!wQ5qBwO#0@wnb{]jTb2\u003cw?t$^df",
            "ln": 137,
            "addr": 3153
          },
          {
            "b": "arR^HwmoN*auZ\u0026/wIe4DvKMmACwgPfxGWLzulSV8a$1]:w*.!pwoqGFb71oqxjUB]iXAj2EqJ*BcOcxJvrt{eay/tjzGF2@df",
            "ln": 138,
            "addr": 3207
          },
          {
            "b": "arR^HwmoN*auZ\u0026/wIe4DvKMmAxK$)\u003cxMMxYtv5HVdK3k\u003eaz90mwOC^\u003cBuH*{Aa9x\u003cuUzFMgIh5Lz6ytUay[]5vjSKhz/]@tjUXw",
            "ln": 139,
            "addr": 3285
          },
          {
            "b": "arR^HarR^Hv@DHcBuIuf",
            "ln": 144,
            "addr": 3490
          },
          {
            "b": "arR^Hdf",
            "ln": 145,
            "addr": 3507
          },
          {
            "b": "arR^Hp*[DVd06MAuVoB}xELMTA+PSbuVY\u003e7BspWdByuZywO#0@wnb{]jTb2\u003cw?t$^df",
            "ln": 146,
            "addr": 3513
          },
          {
            "b": "",
            "ln": 147,
            "addr": 3567
          },
          {
            "b": "",
            "ln": 148,
            "addr": 3568
          },
          {
            "b": "arR^Hvixu6z*c7wv}xL1A+cwqx([35zxJs{Bz\u003e#6u)3\u003epvp%d6zeyZA\u0026^^moBzbkdA:-G)B-OWnz/66bazbUjz6i}lwGV55ze:r5B1v",
            "ln": 236,
            "addr": 7114
          },
          {
            "b": "arR^HBzbkdv}xL1A+cwcB0bviC4CXpw[=vewN)zoavQo)x\u003eg}0Byx5%wGUV8y?dPfvrrS2zH0vzvrb^[wPR%bB76f8z/d9GB8I",
            "ln": 237,
            "addr": 7197
          },
          {
            "b": "arR^HBzbkdBy/JnazC)tx(mD)AaJ]$wO#Pjz!pblxK@rcAbolawHzKwwmYy]wO0Fpaw3DVAbYScv{@?.wGUL{xjVcbvrb]",
            "ln": 238,
            "addr": 7276
          },
          {
            "b": "arR^HA+funA=bD0aA.Nzz/]M6wN)y",
            "ln": 239,
            "addr": 7352
          },
          {
            "b": "",
            "ln": 240,
            "addr": 7376
          },
          {
            "b": "arR^Ha%Fi",
            "ln": 253,
            "addr": 7933
          },
          {
            "b": "arR^Hv}xL1A+fqmjS)%m",
            "ln": 254,
            "addr": 7941
          },
          {
            "b": "arR^HB7F{2auZ\u0026*wPPsH",
            "ln": 255,
            "addr": 7958
          },
          {
            "b": "",
            "ln": 256,
            "addr": 7975
          },
          {
            "b": "arR^HwmYu}uTWFQuT)U+BAg}vAbG+DiS",
            "ln": 257,
            "addr": 7976
          },
          {
            "b": "arR^HarR^HboPu(vr=G{y-)s#v}xZ7c$NNkA^n^qz/]@twPzl#A+cwmBy/zxazbt7y?mYuvpTaYv}xL1aA}mgy+cZ*FtK+rAb](iwN//",
            "ln": 258,
            "addr": 8002
          },
          {
            "b": "arR^HarR^HboR8DaARpdaAH$dwGUF]zGG]gj0n6Bwoz\u0026lB8JgyxK@r9wPxwlwm]D@By/Jnaz+$mA3eR3y\u0026sIuB97\u0026oB0bKqz/P}L",
            "ln": 259,
            "addr": 8086
          },
          {
            "b": "arR^HarR^Hv\u003c0]SzG4jpA=LPlc#:iByf$N\u003cc#:6CdjC",
            "ln": 260,
            "addr": 8167
          },
          {
            "b": "arR^HarR^HyH}=ljS(d[z/]@dc$Wplvrr]ctqftiefD.$efF$KB-7.rw]8x]BspT6f\u003cMjVatUC}",
            "ln": 261,
            "addr": 8202
          },
          {
            "b": "arR^HarR^Hx\u003ewG6wQbzoz/^aozxK1iwO%K",
            "ln": 262,
            "addr": 8263
          },
          {
            "b": "arR^HarR^HarR^HB7F{2e[5p3c#iytdf",
            "ln": 263,
            "addr": 8291
          },
          {
            "b": "arR^HarR^HarR^Hv}xL1A+fqAvq{f%zE+e9df",
            "ln": 264,
            "addr": 8317
          },
          {
            "b": "",
            "ln": 265,
            "addr": 8347
          },
          {
            "b": "arR^Hw]zYjw/$/9azb4(wPG)",
            "ln": 266,
            "addr": 8348
          },
          {
            "b": "arR^HarR^HB9hInauZ\u0026lqE%/kwmoC0z/Ph-B-I85v}v62e{ztAAbYx0df",
            "ln": 267,
            "addr": 8368
          },
          {
            "b": "arR^HarR^HB95J/aAIWCw?DO+Bx0K8wHF#",
            "ln": 268,
            "addr": 8414
          },
          {
            "b": "arR^HarR^HBAhT/",
            "ln": 297,
            "addr": 9599
          },
          {
            "b": "arR^HarR^HarR^HAccdzjS[SYe[5^vvr\u003cn9tpsCkiZ1P%av44$x=]5Kc#JykvqP%aeG=+%djD(KefF):sU7Xme)qK6w]zYjx=}bcaAy[dxjSGeuVPT)A4b6w",
            "ln": 298,
            "addr": 9612
          },
          {
            "b": "arR^HarR^HwQ4Y@Ac9i\u003eCW\u003er7BzkVhiS",
            "ln": 299,
            "addr": 9709
          },
          {
            "b": "arR^HarR^HarR^HA+funA=90{z/fa",
            "ln": 300,
            "addr": 9735
          },
          {
            "b": "arR^HarR^Hw]zYjv\u003e]fvzxJC2zGG]gB2\u003c",
            "ln": 301,
            "addr": 9759
          },
          {
            "b": "arR^HarR^HA+funA=90Ne?^",
            "ln": 385,
            "addr": 13445
          },
          {
            "b": "arR^HA+funA=90F",
            "ln": 386,
            "addr": 13464
          },
          {
            "b": "arR^HarR^HraQq@c\u0026",
            "ln": 387,
            "addr": 13477
          },
          {
            "b": "arR^HarR^HarR^HBA?)\u003cBy/Ysec",
            "ln": 388,
            "addr": 13491
          },
          {
            "b": "arR^HarR^HarR^Hw]zNeuVP}cwJ:TzzGGlbx)Ktw",
            "ln": 389,
            "addr": 13513
          },
          {
            "b": "df",
            "ln": 592,
            "addr": 22171
          },
          {
            "b": "",
            "ln": 593,
            "addr": 22173
          },
          {
            "b": "boPu(vrcB2atz/9Lqah1BZY92BA]0xwP-3cB98baiV}\u0026Nv@bZ+zxK1lwO2%aB7ocewPF$Ge?/vfwNP7ZazC[rB.8XpBZ/DkvpKz2",
            "ln": 594,
            "addr": 22174
          },
          {
            "b": "boQzqw]7)$aAg[jePUGDwPzHbC{46qzEEv6C{1IBy*?g1wN(](BrAm^e*9C5v@DmdwO#i[zEWl2B7]o8vqE68zFTOv\u0026^^moBzbj",
            "ln": 595,
            "addr": 22255
          },
          {
            "b": "boR5sC4CYdBA]JHz!9A4v@DHcBAnNszxK4mwGV5pzeAZ4C{3KowGV8dwGUA7BzbPkx()^9x)a5gz/{evB-Yk",
            "ln": 596,
            "addr": 22335
          },
          {
            "b": "arR^HarR^HarR^Hw*eDxqE}B*wmM*8xK@q%x(dB0B7]MgaA}KwxDRngvpJ\u003eQwnb)6B8JgnBrC1mBz\u0026:LBywV{B0bgmaARpdar*",
            "ln": 669,
            "addr": 25822
          },
          {
            "b": "arR^HarR^HarR^Hw*h51D2E?EaAITBx(ChezGx]hvpQH0w/#2nwPzP}AbYJexf6pna]",
            "ln": 670,
            "addr": 25901
          },
          {
            "b": "arR^HarR^HarR^Hw*.bkxd!jozeTPec)B1Ix(XopEiH9.ar@1yw/$/faA}mnaz$R8wN]4-cJ",
            "ln": 671,
            "addr": 25955
          },
          {
            "b": "arR^HarR^HarR^Hw*.bkxd!dtvpJ\u003eQwnb)eA4@)^A55%!b4tb1z*9xRar\u003e=vvqWnuay]Xee[x0hw]]NDzEEx[jTbk+x(XopEiH9/",
            "ln": 672,
            "addr": 26013
          },
          {
            "b": "arR^HarR^Hdf",
            "ln": 673,
            "addr": 26094
          },
          {
            "b": "arR^HarR^HA+funA=90F",
            "ln": 679,
            "addr": 26315
          },
          {
            "b": "arR^HarR^HarR^Hw*eDxra]?=wnb)6B7]-qazC.mx\u003eg=$BzbkdC4\u003eJiaMv{oazC}saA7\u003e7B7GCox(+znzxK4mwGVhqz/fhgB7]e@e*8t",
            "ln": 680,
            "addr": 26332
          },
          {
            "b": "arR^HarR^HarR^Hw*gb:ePtJmv}u=%BrCHtaARpdaA8jrz/YSmwGV5dwmV)bx\u003c\u0026c6y***+uU0\u003e/asHVvBz\u0026:LBywV{B0a$ewNPQ4a]",
            "ln": 681,
            "addr": 26416
          },
          {
            "b": "arR^HarR^HarR^Hw*he9aARpdaAg+fBsxmQzxY",
            "ln": 682,
            "addr": 26498
          },
          {
            "b": "arR^HarR^HarR^Hw*.bkxd!jozeTPec)B1Ix(XopEiH9.ar@1yw/$/faA}mnaz$R8wN]4-cJ",
            "ln": 683,
            "addr": 26529
          },
          {
            "b": "arR^Hx\u003ewG4B7]JkByx5%wHIIaxjSRpB98BKiS",
            "ln": 784,
            "addr": 30776
          },
          {
            "b": "arR^HarR^HzEEx[auZ\u0026^vp%d7B98CpA40d/B-qqhAWSv",
            "ln": 785,
            "addr": 30806
          },
          {
            "b": "arR^HarR^Hx\u003ewG9vqPM#x(k52p^EPuuSfK1mn(k",
            "ln": 786,
            "addr": 30842
          },
          {
            "b": "arR^HarR^HarR^HAcA\u0026QAa*vSayv@hm[3=-nM[LYtw^\u003e^wNb",
            "ln": 787,
            "addr": 30874
          },
          {
            "b": "arR^HarR^HwO=B0iS",
            "ln": 788,
            "addr": 30913
          },
          {
            "b": "boPn{Abn%2aA?EgCoz9zBz8!9BrCyhvrlJkBzbxfaz\u003eL8C{3^sy?mVgwPIu\u0026y*?A%B0bNyayMyaz!@#cv}Yp\u003eBrC^vwO@S8BrCps",
            "ln": 855,
            "addr": 34491
          },
          {
            "b": "boR8DzY\u0026O4zGxwiBz\u0026pjx(dB0B7]Mgaz2.cA^n^vz!@#cx(mD}C4\u003eGfvqG+9asFD{gBT}0ls\u003c$KCoyQwefFvzwo8QcAaJM5A+e?",
            "ln": 856,
            "addr": 34572
          },
          {
            "b": "boR5Hvr(]pvixw$xk7*?y?X0pay]IhA3fgfBzblaaARp9zxK4fvS=G}BzkS9ayMyavqYQ/B.\u0026gsw/$=9y?mVu",
            "ln": 857,
            "addr": 34652
          },
          {
            "b": "",
            "ln": 858,
            "addr": 34721
          },
          {
            "b": "boP{4vqG:\u003eB95KzA=kY7v@#o)aAIToA3e?9x\u003eIa3asIhqxjSViz7cPHxKM09v{%l$B98bjy-)j@A=MBFviv4owOkZ^y?k6",
            "ln": 859,
            "addr": 34722
          },
          {
            "b": "",
            "ln": 938,
            "addr": 38826
          },
          {
            "b": "arR^Hm@\u0026J\u003cAc0dnz!%0aayYQszdc{/x(mT5xcqnmwN=\u0026hB75]%ayPsluTW?\u0026z//AfwNxa?y?mVpefG4FwO@S4B98bkvru74",
            "ln": 939,
            "addr": 38827
          },
          {
            "b": "arR^HBzbkdnn\u0026rQlT:!Ez/{dABz\u003e@azxK1iADL\u0026gv}u^bx\u003ehs0aA.:tzF782ay/7[A:-E1wPxwivrl0\u003cazbLjzfoV6e=",
            "ln": 940,
            "addr": 38904
          },
          {
            "b": "arR^HnP53OB.268aARpdavp0.Bvf+.v@bZ0B9h8bx)p:Gb1kuKq=1Pjp9vD:\u0026^^)Glph}CaA}HgzxJ[bBAz8mzGu}eA+cwmB-qqox\u003ep*c",
            "ln": 941,
            "addr": 38978
          },
          {
            "b": "arR^HqE%@)A=b}vBzbkdy**^:y-)}owoqGcz/fxpaMv{oaz2v#z*bM0CPZBjwftI[A3eUbwNPQ/zEWl2vrb{4pes?ix(mA%B.25]i@",
            "ln": 942,
            "addr": 39063
          },
          {
            "b": "arR^Hv{%g\u0026wPz\u0026mBzb98az$+4wft#cwGUPcy?$knBAh8may]55Bz8!rxM53fwftq\u003ewft#cz/YFjz*2YjxK$Q.B0bKnAa9=}By/ole=",
            "ln": 943,
            "addr": 39145
          },
          {
            "b": "arR^HqE%@)A=b}vfFk44Cw7M9aARpdaztXfwGU/6B95KsB0b4hAccvT",
            "ln": 944,
            "addr": 39227
          },
          {
            "b": "arR^HdSw*buTW$[B-7.%By/YsdJ\u0026!Cz/](bay/tbwGUP9z/3R8u$sp^w]}y0A+fr6Bsn:]e?5z(vpS.NA=l8rwm6B\u0026CYWt3e=",
            "ln": 945,
            "addr": 39272
          },
          {
            "b": "arR^Ha%Fi",
            "ln": 946,
            "addr": 39350
          },
          {
            "b": "",
            "ln": 1636,
            "addr": 64951
          },
          {
            "b": "v@bN{B09\u003e\u003evrVB6xf3",
            "ln": 1637,
            "addr": 64952
          },
          {
            "b": "arR^Ha%Fi%ay/tbAbP/avR/P#By!@}zFrP?y-)nevrVB6xcuh:LPU6YwGUL{x()=)y?j-3z/PXqz!paMw{503i:=/kyH{\u003c-A::fazF9uf",
            "ln": 1638,
            "addr": 64967
          },
          {
            "b": "",
            "ln": 1639,
            "addr": 65052
          },
          {
            "b": "arR^Hk{fMyl#(ZWx(mM\u003eu)6c3y?dPfBzbkdAb](iwN/*[wfu5fwP@hDaARpdayPe9z//Afx(v(iy?W%jefFwswft\u00265AXhDGwP[",
            "ln": 1640,
            "addr": 65053
          },
          {
            "b": "arR^HarR^HA+funA=91rvRL",
            "ln": 1912,
            "addr": 77202
          },
          {
            "b": "",
            "ln": 1913,
            "addr": 77221
          },
          {
            "b": "arR^HwmYu}A+f9aC4A7ywO+%faz$R8wHPU",
            "ln": 1914,
            "addr": 77222
          },
          {
            "b": "arR^HarR^Ha%FjewO(vewGUz7Ab]Jkx(wcny\u003cvdvvqPN^ayPe9z//Afx(v(waw#SZB7Gznu%(SsC%#:]z/Pk[azCBgvpBp?zGEGPa%E",
            "ln": 1915,
            "addr": 77250
          },
          {
            "b": "arR^HarR^Hz^)D7jS[/Sy?tqbzEEx[wg??tA42QjzdLmvph+2Ydf",
            "ln": 1916,
            "addr": 77333
          },
          {
            "b": "",
            "ln": 2059,
            "addr": 84161
          },
          {
            "b": "arR^HwmYu}v@bZ+A:Jl)zF%S9BzkVhB0#9vy?tjvyH}6@jT.H@x([f5uT^?\u0026v@0ntdjEp",
            "ln": 2060,
            "addr": 84162
          },
          {
            "b": "arR^HarR^Ha%FjewO(vewGUz$y-)e7zF%S9BzkVhB0b4sv}xR3aARpnB7DFivqPN^azCZodR\u0026QbA4h$Ubr4Cde=",
            "ln": 2061,
            "addr": 84218
          },
          {
            "b": "",
            "ln": 2062,
            "addr": 84288
          },
          {
            "b": "arR^HarR^Hs7(I*wPIo@wGV28zeTPay-)?kvrrS5z!i#jzF%RtwmYZ\u003ezE:(dzxK4mwGUA7Bz(28BzkkczEEx@zF5",
            "ln": 2063,
            "addr": 84289
          },
          {
            "b": "arR^HarR^HB9qh6Aa9\u003c4auZ\u0026=B-X-Rar\u0026BVC4S0",
            "ln": 2308,
            "addr": 95109
          },
          {
            "b": "arR^HarR^HB9qgGCxdztwHIRyxj2Q^Bz99",
            "ln": 2309,
            "addr": 95141
          },
          {
            "b": "arR^HarR^Hw[=G%B9qh6Aa9x\u003cuVP}cwHIRyxj2Q^Bz9iFB7Gf1e]UliwNxTjaAIagw?F4hxjUB-df",
            "ln": 2310,
            "addr": 95169
          },
          {
            "b": "arR^HarR^Hwo.YsCxdztwHI8lw)YH=Bz99",
            "ln": 2322,
            "addr": 95669
          },
          {
            "b": "arR^HarR^HuU\u003cT[e[]inzZV!$svKB)HlrV9B0rdTwo.Y[Aa9\u003c4df",
            "ln": 2323,
            "addr": 95697
          },
          {
            "b": "arR^HarR^HBAhT/",
            "ln": 2333,
            "addr": 96108
          },
          {
            "b": "arR^HarR^HarR^Hx(d*cA=-Blvqf+2B9qf",
            "ln": 2334,
            "addr": 96121
          },
          {
            "b": "arR^HarR^HwQ4Y@Ac9i]ze:AlBvyj\u003cz/M$eB0b4sv(:",
            "ln": 2335,
            "addr": 96149
          },
          {
            "b": "arR^HarR^HarR^HA:-W6wGTMYAbP=smriA!AWQ",
            "ln": 2336,
            "addr": 96184
          },
          {
            "b": "arR^HarR^HarR^HarR^Hb2yV%az2!pz/P}xA+flkx(W^aay!?]A=l2xxd+q#zGx]dy?$kdBrC^wBz9YTaAh4lazC.mByx04ay]I3w]@lqx\u003eIa3tx1a+t{o",
            "ln": 2337,
            "addr": 96215
          },
          {
            "b": "arR^HarR^HzddD$x(mo%v@@?RattAdfA",
            "ln": 2502,
            "addr": 103079
          },
          {
            "b": "arR^HwO=B0iS",
            "ln": 2503,
            "addr": 103105
          },
          {
            "b": "arR^HarR^HboPN0zY\u0026$wwPzy0z*cm:aAIjpx(mYeBz\u0026ppB-RTEw[=ufCwhejatL5=aAH$6wPShuzddD$x(kK",
            "ln": 2504,
            "addr": 103115
          },
          {
            "b": "arR^HarR^HzddD$x(mo%v@@?RattAdh#",
            "ln": 2505,
            "addr": 103183
          },
          {
            "b": "arR^Hw)]g\u003ez/M%-az\u003eLexF9[kz/oUAzE)x\u0026wN(]kaz\u003eLcxk8l\u003cAar#jdJ*D1fFCgfatj\u0026(fFCgm",
            "ln": 2506,
            "addr": 103209
          },
          {
            "b": "arR^Hdf",
            "ln": 2745,
            "addr": 113008
          },
          {
            "b": "",
            "ln": 2746,
            "addr": 113014
          },
          {
            "b": "arR^HuVZogjS(9@a%Fx",
            "ln": 2747,
            "addr": 113015
          },
          {
            "b": "arR^HuVPT/wNw$^v{:s(BzLIhjS[e=Bzk\u0026kwIe1mAbn@)wHH]cAv-jRcNQn=df",
            "ln": 2748,
            "addr": 113031
          },
          {
            "b": "arR^HuVPT/wNw$^v{:a@zdm6%auZ\u0026Qe]C/GvR6NjA+fiavpJ\u003c%uVZosar\u0026fXcN6#",
            "ln": 2749,
            "addr": 113081
          },
          {
            "b": "arR^HarR^Hw*fJ-Bz\u0026:zwO#71vru6\u003eayYQszddi\u003eeO5)gCwg@ce*9O[x(\u003eFfA+e/#C}Juta]",
            "ln": 2755,
            "addr": 113290
          },
          {
            "b": "arR^HarR^Hw*gh)aA.Tlvru66zdN/$wmoN*iV@0Ax(\u003eF8q=DgZuQ^QXmiBlauSoP@oHQ6Saz2U8e*a\u003eCaARpday/t5ayYe9v@0RrBzbl6aAzQxi:uLD",
            "ln": 2756,
            "addr": 113348
          },
          {
            "b": "arR^HarR^Hw*euuv@D05ePI$XAcU/dvqPO7arR^PAa%nlx(n0lvqG:5v@D0*AbWmhzxY",
            "ln": 2757,
            "addr": 113441
          },
          {
            "b": "arR^HarR^Hw*gF$a]",
            "ln": 2758,
            "addr": 113496
          },
          {
            "b": "arR^HarR^Hw*gb}zAn).B-[)FB-5svD30.rzxKpBD0+C$zdOc2zxY",
            "ln": 2759,
            "addr": 113510
          },
          {
            "b": "arR^HarR^Hw*g\u0026cz/3RcA:-N4CxdzgxMLwhze:AlBrC4nx(4r!wo8a5x(mM*zxY",
            "ln": 2762,
            "addr": 113600
          },
          {
            "b": "arR^HarR^Hw*gF$a]",
            "ln": 2763,
            "addr": 113651
          },
          {
            "b": "arR^HarR^Hw*eDx\u0026/[#MLZ\u003c(zz/ff3xcnQhB-.KNB-p(1By!#9vTf8az!yHw\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ)1Ra]",
            "ln": 2764,
            "addr": 113665
          },
          {
            "b": "arR^Hdf",
            "ln": 2765,
            "addr": 113855
          },
          {
            "b": "",
            "ln": 2766,
            "addr": 113861
          },
          {
            "b": "arR^HA=(nbB7F\u003c6x(v(ijS(c",
            "ln": 2767,
            "addr": 113862
          },
          {
            "b": "arR^HarR^Hb3Y1f",
            "ln": 2768,
            "addr": 113882
          },
          {
            "b": "arR^HarR^Ha%Ok\u0026LZ}+TFfmg3x(4r5wo8a5x(mMad06GszE^f@wfrYXC4\u003eJiaz+Fiz/{dAd\u003cenyBz(28Bzkkcwnb)(zGxJgzGvlH\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[%#zxY",
            "ln": 2769,
            "addr": 113895
          },
          {
            "b": "arR^HarR^Hb42zkwO\u0026LMayx5de]UlvxFavBy?X05CYUuvuUj1*wNw^[tqft/zxY",
            "ln": 2770,
            "addr": 114018
          },
          {
            "b": "arR^HarR^Hb4L[gauZ\u0026RB.LV5uU1g=Cwg@cc%QTl",
            "ln": 2771,
            "addr": 114069
          },
          {
            "b": "arR^HarR^Ha%Ok\u0026LZ}+TFfmp9AbP=saMwSo\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFlV$o",
            "ln": 2797,
            "addr": 115772
          },
          {
            "b": "arR^HarR^Hb6d{uuVoB}xE\u003eopCXgr4vruf9jS[oVxd^+uAbP=sc%}4qwO\u0026(3zxY",
            "ln": 2798,
            "addr": 116005
          },
          {
            "b": "arR^HarR^HcVB9uzGEpsb2.Jjay5e]gbg^AaBwfMxj2Q^Bzc7Ddo{:r",
            "ln": 2799,
            "addr": 116056
          },
          {
            "b": "arR^HarR^HcVB9uzGEpsb1bK5ay5e]gbg^AaBvTzw)YH=Bzc7Ddo{:r",
            "ln": 2800,
            "addr": 116101
          },
          {
            "b": "arR^Hdf",
            "ln": 2801,
            "addr": 116146
          },
          {
            "b": "arR^Hv@DmbwO#PjjS[AHvpS}\u0026as!NAz!AA^y\u0026r*0as!NPB-7McwN/*@z/b",
            "ln": 2803,
            "addr": 116153
          },
          {
            "b": "arR^Hp*[DVc#:DsAa9\u003c4dk2*+x()][By/Ysc$vgkBy/uiefFIwv@C)(zF89RB-.jEi3G^",
            "ln": 2804,
            "addr": 116200
          },
          {
            "b": "arR^HuU\u003cT[e[]inzZV/dv@=p5BrGN$K@#5(a$K\u003cQD0+J0Bz99",
            "ln": 2805,
            "addr": 116256
          },
          {
            "b": "arR^HarR^HarR^HAbxqLvrc14e]UVwec",
            "ln": 2911,
            "addr": 119915
          },
          {
            "b": "arR^HarR^Hdf",
            "ln": 2912,
            "addr": 119941
          },
          {
            "b": "arR^HarR^HAb]VgBsq9NuVoB}xEJ",
            "ln": 2913,
            "addr": 119951
          },
          {
            "b": "arR^HwO=B0iS",
            "ln": 2914,
            "addr": 119974
          },
          {
            "b": "arR^HarR^HwoRVejS[iRx(4r!wo8a5x(mMi",
            "ln": 2915,
            "addr": 119984
          },
          {
            "b": "arR^HuT)[^c[b",
            "ln": 2934,
            "addr": 120483
          },
          {
            "b": "",
            "ln": 2935,
            "addr": 120494
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "Path(svg_path).read_text"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "re.sub"
            ],
            [
              "",
              "Path(svg_path).write_text"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "re.compile"
            ],
            [
              "",
              "Path(svg_path).read_text"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "SVG_ARC_RE.sub"
            ],
            [
              "",
              "Path(svg_path).write_text"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "axes.items"
            ],
            [
              "",
              "axes.items"
            ],
            [
              "",
              "pnt.X"
            ],
            [
              "",
              "pnt.Y"
            ],
            [
              "",
              "pnt.Z"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "np.array"
            ],
            [
              "",
              "proj_fn"
            ],
            [
              "",
              "round"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "round"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "seen.add"
            ],
            [
              "",
              "centres.append"
            ],
            [
              "",
              "BRepAdaptor_Surface"
            ],
            [
              "",
              "surf.GetType"
            ],
            [
              "",
              "add_centre"
            ],
            [
              "",
              "surf.Sphere().Location"
            ],
            [
              "",
              "surf.Sphere"
            ],
            [
              "",
              "surf.Torus().Position().Axis"
            ],
            [
              "",
              "surf.Torus().Position"
            ],
            [
              "",
              "surf.Torus"
            ],
            [
              "",
              "surf.AxeOfRevolution"
            ],
            [
              "",
              "(surf.Cylinder() if st == GeomAbs_Cylinder else surf.Cone()).Axis"
            ],
            [
              "",
              "surf.Cylinder"
            ],
            [
              "",
              "surf.Cone"
            ],
            [
              "",
              "ax.Direction"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "d.X"
            ],
            [
              "",
              "d.Y"
            ],
            [
              "",
              "d.Z"
            ],
            [
              "",
              "add_centre"
            ],
            [
              "",
              "ax.Location"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "Compound(children=list(edges)).bounding_box"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "np.array"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "np.linalg.norm"
            ],
            [
              "",
              "dist.max"
            ],
            [
              "",
              "dist.min"
            ],
            [
              "",
              "dist.mean"
            ],
            [
              "",
              "np.linalg.norm"
            ],
            [
              "",
              "np.linalg.norm"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "np.ptp"
            ],
            [
              "",
              "np.ptp"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "Edge.make_circle"
            ],
            [
              "",
              "Plane"
            ],
            [
              "",
              "ThreePointArc"
            ],
            [
              "",
              "snap"
            ],
            [
              "",
              "snap"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "snap"
            ],
            [
              "",
              "replacement"
            ],
            [
              "",
              "out.append"
            ],
            [
              "",
              "STEPControl_Reader"
            ],
            [
              "",
              "reader.ReadFile"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "reader.TransferRoots"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "reader.OneShape"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "merged.append"
            ],
            [
              "",
              "round"
            ],
            [
              "",
              "functools.lru_cache"
            ],
            [
              "",
              "Text"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "xs.append"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "children.append"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "children.append"
            ],
            [
              "",
              "Edge.make_line"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "Text"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "Location"
            ],
            [
              "",
              "children.extend"
            ],
            [
              "",
              "text.faces"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "analyse_cylinders"
            ],
            [
              "",
              "dedup_diams"
            ],
            [
              "",
              "full_cyls"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "part.solids"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "DIAM_RE.finditer"
            ],
            [
              "",
              "mentioned.add"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "text_mentioned.add"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "mentioned.add"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "provided.get"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "LintIssue"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "find_holes"
            ],
            [
              "",
              "next"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "required.get"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "required.items"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "provided.items"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "issues.append"
            ],
            [
              "",
              "LintIssue"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "frozenset"
            ],
            [
              "",
              "re.compile"
            ],
            [
              "",
              "frozenset"
            ],
            [
              "",
              "DIAM_RE.search"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "dwg.features"
            ],
            [
              "",
              "fmt(d).replace"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "DIAM_RE.search"
            ],
            [
              "",
              "re.match"
            ],
            [
              "",
              "need_m.group"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "QUOTED_RE.findall"
            ],
            [
              "",
              "QUOTED_RE.findall"
            ],
            [
              "",
              "part.faces"
            ],
            [
              "",
              "BRepAdaptor_Surface"
            ],
            [
              "",
              "surf.GetType"
            ],
            [
              "",
              "surf.Plane().Axis().Direction"
            ],
            [
              "",
              "surf.Plane().Axis"
            ],
            [
              "",
              "surf.Plane"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "ax.Z"
            ],
            [
              "",
              "surf.Plane().Location().Z"
            ],
            [
              "",
              "surf.Plane().Location"
            ],
            [
              "",
              "surf.Plane"
            ],
            [
              "",
              "round"
            ],
            [
              "",
              "buckets.setdefault"
            ],
            [
              "",
              "GProp_GProps"
            ],
            [
              "",
              "BRepGProp.SurfaceProperties_s"
            ],
            [
              "",
              "areas.get"
            ],
            [
              "",
              "props.Mass"
            ],
            [
              "",
              "part.bounding_box"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "buckets.items"
            ],
            [
              "",
              "areas.get"
            ],
            [
              "",
              "sorted"
            ],
            [
              "",
              "buckets.values"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "page.strip().upper"
            ],
            [
              "",
              "page.strip"
            ],
            [
              "",
              "re.fullmatch"
            ],
            [
              "",
              "page.strip"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "', '.join"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "m.group"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "tb_width"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "est_pv_below_depth"
            ],
            [
              "",
              "est_pv_below_depth"
            ],
            [
              "",
              "groups.setdefault(_spec_key(h), []).append"
            ],
            [
              "",
              "groups.setdefault"
            ],
            [
              "",
              "spec_key"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "spec_key"
            ],
            [
              "",
              "groups.items"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "bc_by_spec.get"
            ],
            [
              "",
              "token_w.append"
            ],
            [
              "",
              "text_width"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "est_bore_callout_width"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "est_right_strip_depth"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "StripDepths"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "est_right_strip_depth"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "layout_geometry"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "parse_page"
            ],
            [
              "",
              "fits"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "parse_page"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "tb_width"
            ],
            [
              "",
              "PAGE_SIZES.values"
            ],
            [
              "",
              "fits"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "est_right_strip_depth"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "largest_empty_rect"
            ],
            [
              "",
              "any"
            ],
            [
              "",
              "SimpleNamespace"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "import_step"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "part.solids"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "body.bounding_box"
            ],
            [
              "",
              "part.bounding_box"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "part.edges"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "body.edges"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "extract_pmi"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "part.bounding_box"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "analyse_cylinders"
            ],
            [
              "",
              "full_cyls"
            ],
            [
              "",
              "dedup_diams"
            ],
            [
              "",
              "dedup_diams"
            ],
            [
              "",
              "full_cyls"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "math.hypot"
            ],
            [
              "",
              "is_rotational"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "analyse_face_levels"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "find_holes"
            ],
            [
              "",
              "find_hole_patterns"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "measure_strips"
            ],
            [
              "",
              "choose_scale"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "legible_steps"
            ],
            [
              "",
              "choose_scale"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "legible_steps"
            ],
            [
              "",
              "measure_strips"
            ],
            [
              "",
              "layout_geometry"
            ],
            [
              "",
              "ViewZones"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "est_pv_below_depth"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "ViewZones"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "ViewZones"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "{297: \"A4\", 420: \"A3\", 594: \"A2\", 841: \"A1\", 1189: \"A0\"}.get"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "Analysis"
            ],
            [
              "",
              "Projector"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "shape.scale"
            ],
            [
              "",
              "shape_s.project_to_viewport"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "view_axes"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "vd.normalized"
            ],
            [
              "",
              "raw_view_projector"
            ],
            [
              "",
              "exactify_silhouettes"
            ],
            [
              "",
              "shape_s.faces"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "Location"
            ],
            [
              "",
              "Compound(children=vl).locate"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "Compound(children=hl).locate"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "ViewCoordinates"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self._coords[view].pp"
            ],
            [
              "",
              "self.views.get"
            ],
            [
              "",
              "vis.bounding_box"
            ],
            [
              "",
              "hid.bounding_box"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "axis_for_view.get"
            ],
            [
              "",
              "self._coords[view].pp"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "groups.setdefault(_spec_key(h), []).append"
            ],
            [
              "",
              "groups.setdefault"
            ],
            [
              "",
              "spec_key"
            ],
            [
              "",
              "groups.values"
            ],
            [
              "",
              "result.append"
            ],
            [
              "",
              "FeatureInfo"
            ],
            [
              "",
              "to_page"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "view_zones.get"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "strip.allocate"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "math.hypot"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "self.add"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "self.items.remove"
            ],
            [
              "",
              "self._pinned.discard"
            ],
            [
              "",
              "annotate"
            ],
            [
              "",
              "self.items.append"
            ],
            [
              "",
              "self._named.pop"
            ],
            [
              "",
              "KeyError"
            ],
            [
              "",
              "self.items.remove"
            ],
            [
              "",
              "self._pinned.discard"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "self._named.items"
            ],
            [
              "",
              "self._named.get"
            ],
            [
              "",
              "build_table"
            ],
            [
              "",
              "self.view_bounds"
            ],
            [
              "",
              "o.bounding_box"
            ],
            [
              "",
              "obstacles.append"
            ],
            [
              "",
              "fit_box"
            ],
            [
              "",
              "self._record_build_issue"
            ],
            [
              "",
              "self.add"
            ],
            [
              "",
              "table.locate"
            ],
            [
              "",
              "Location"
            ],
            [
              "",
              "{\"plan\": \"z\", \"front\": \"y\", \"side\": \"x\"}.get"
            ],
            [
              "",
              "axis_letter"
            ],
            [
              "",
              "groups.setdefault(_spec_key(h), []).append"
            ],
            [
              "",
              "groups.setdefault"
            ],
            [
              "",
              "spec_key"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "groups.values"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "tag_sequence"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self._coords[view].pp"
            ],
            [
              "",
              "Location"
            ],
            [
              "",
              "f.moved"
            ],
            [
              "",
              "(Circle(r) - Circle(r - 0.35)).faces"
            ],
            [
              "",
              "Circle"
            ],
            [
              "",
              "Circle"
            ],
            [
              "",
              "Text"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "text.faces"
            ],
            [
              "",
              "self.add"
            ],
            [
              "",
              "self._hole_spec_groups"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "rows.append"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "diams.append"
            ],
            [
              "",
              "self.add_table"
            ],
            [
              "",
              "tuple"
            ],
            [
              "",
              "enumerate"
            ],
            [
              "",
              "self._add_balloon"
            ],
            [
              "",
              "KeyError"
            ],
            [
              "",
              "self._pinned.add"
            ],
            [
              "",
              "self._pinned.discard"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "self._named.items"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "kept_named.values"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "self._build_issues.append"
            ],
            [
              "",
              "LintIssue"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "self.items.index"
            ],
            [
              "",
              "self._named.items"
            ],
            [
              "",
              "QUOTED_RE.findall"
            ],
            [
              "",
              "self._find_dim"
            ],
            [
              "",
              "OPPOSITE_SIDE.get"
            ],
            [
              "",
              "self._replace_dim"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "QUOTED_RE.findall"
            ],
            [
              "",
              "self._find_dim"
            ],
            [
              "",
              "self._replace_dim"
            ],
            [
              "",
              "dim"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "self.lint"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "dict"
            ],
            [
              "",
              "QUOTED_RE.findall"
            ],
            [
              "",
              "self._repair_dim_inside_part"
            ],
            [
              "",
              "flipped.add"
            ],
            [
              "",
              "self._repair_overlap"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self.lint"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self._named.clear"
            ],
            [
              "",
              "self._named.update"
            ],
            [
              "",
              "set_page"
            ],
            [
              "",
              "self.views.values"
            ],
            [
              "",
              "by_scale.setdefault(getattr(ann, \"_dw_scale\", self.scale), []).append"
            ],
            [
              "",
              "by_scale.setdefault"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "lint_drawing"
            ],
            [
              "",
              "by_scale.items"
            ],
            [
              "",
              "lint_drawing"
            ],
            [
              "",
              "analyse_cylinders"
            ],
            [
              "",
              "lint_feature_coverage"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "suggest_fix"
            ],
            [
              "",
              "self.lint"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "by_code.get"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "sum"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "out.endswith"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self.lint"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "Color"
            ],
            [
              "",
              "Color"
            ],
            [
              "",
              "Color"
            ],
            [
              "",
              "ExportSVG"
            ],
            [
              "",
              "svg.add_layer"
            ],
            [
              "",
              "svg.add_layer"
            ],
            [
              "",
              "svg.add_layer"
            ],
            [
              "",
              "self._add_shapes"
            ],
            [
              "",
              "svg.write"
            ],
            [
              "",
              "fix_svg_page_size"
            ],
            [
              "",
              "sanitize_svg_arcs"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "ExportDXF"
            ],
            [
              "",
              "dxf.add_layer"
            ],
            [
              "",
              "dxf.add_layer"
            ],
            [
              "",
              "dxf.add_layer"
            ],
            [
              "",
              "self._add_shapes"
            ],
            [
              "",
              "dxf.write"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "ImportError"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "self.export"
            ],
            [
              "",
              "svg_path.endswith"
            ],
            [
              "",
              "cairosvg.svg2pdf"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "self.views.items"
            ],
            [
              "",
              "export_shape"
            ],
            [
              "",
              "export_shape"
            ],
            [
              "",
              "getattr"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "export_shape"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "shape.faces"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "shape.edges"
            ],
            [
              "",
              "f.edges"
            ],
            [
              "",
              "shape.edges"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "exporter.add_shape"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "elements"
            ],
            [
              "",
              "exporter.add_shape"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "RuntimeError"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "math.sqrt"
            ],
            [
              "",
              "dwg.add_view"
            ],
            [
              "",
              "a.part.scale"
            ],
            [
              "",
              "view_axes"
            ],
            [
              "",
              "ViewCoordinates"
            ],
            [
              "",
              "sec_vis.bounding_box"
            ],
            [
              "",
              "sec_hid.bounding_box"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "iso_bbox"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "math.floor"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "project_iso"
            ],
            [
              "",
              "iso_bbox"
            ],
            [
              "",
              "bbox_within"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "dwg.add"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "out.endswith"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "stem.replace(\"_\", \" \").upper"
            ],
            [
              "",
              "stem.replace"
            ],
            [
              "",
              "analyse"
            ],
            [
              "",
              "Drawing"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "a.part.scale"
            ],
            [
              "",
              "dwg.add_view"
            ],
            [
              "",
              "dwg.add_view"
            ],
            [
              "",
              "dwg.add_view"
            ],
            [
              "",
              "project_iso"
            ],
            [
              "",
              "auto_annotate"
            ],
            [
              "",
              "fit_iso_view"
            ],
            [
              "",
              "iso_bbox"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "fit_iso_view"
            ],
            [
              "",
              "add_title_block"
            ],
            [
              "",
              "dwg.repair"
            ],
            [
              "",
              "build_drawing"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "\"\\n\".join"
            ],
            [
              "",
              "a.title.replace"
            ],
            [
              "",
              "a.number.replace"
            ],
            [
              "",
              "Path(py_path).write_text"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "TypeError"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "out.endswith"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "stem.replace(\"_\", \" \").upper"
            ],
            [
              "",
              "stem.replace"
            ],
            [
              "",
              "analyse"
            ],
            [
              "",
              "write_script"
            ],
            [
              "",
              "argparse.ArgumentParser"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.add_argument"
            ],
            [
              "",
              "ap.parse_args"
            ],
            [
              "",
              "logging.basicConfig"
            ],
            [
              "",
              "ap.error"
            ],
            [
              "",
              "generate_script"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "build_drawing"
            ],
            [
              "",
              "dwg.export"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "dwg.export_pdf"
            ],
            [
              "",
              "cli"
            ],
            [
              "",
              "Align"
            ],
            [
              "",
              "Analysis"
            ],
            [
              "",
              "BRepAdaptor_Surface"
            ],
            [
              "",
              "BRepGProp"
            ],
            [
              "",
              "BoltCircle"
            ],
            [
              "",
              "Circle"
            ],
            [
              "",
              "Color"
            ],
            [
              "",
              "Compound"
            ],
            [
              "",
              "Edge"
            ],
            [
              "",
              "ExportDXF"
            ],
            [
              "",
              "ExportSVG"
            ],
            [
              "",
              "GProp_GProps"
            ],
            [
              "",
              "GeomAbs_Cone"
            ],
            [
              "",
              "GeomAbs_Cylinder"
            ],
            [
              "",
              "GeomAbs_Plane"
            ],
            [
              "",
              "GeomAbs_Sphere"
            ],
            [
              "",
              "GeomAbs_SurfaceOfRevolution"
            ],
            [
              "",
              "GeomAbs_Torus"
            ],
            [
              "",
              "GeomType"
            ],
            [
              "",
              "IFSelect_ReturnStatus"
            ],
            [
              "",
              "LineType"
            ],
            [
              "",
              "LintIssue"
            ],
            [
              "",
              "Literal"
            ],
            [
              "",
              "Location"
            ],
            [
              "",
              "Mode"
            ],
            [
              "",
              "Note"
            ],
            [
              "",
              "OCP.BRepAdaptor"
            ],
            [
              "",
              "OCP.BRepGProp"
            ],
            [
              "",
              "OCP.GProp"
            ],
            [
              "",
              "OCP.GeomAbs"
            ],
            [
              "",
              "OCP.IFSelect"
            ],
            [
              "",
              "OCP.STEPControl"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "Plane"
            ],
            [
              "",
              "STEPControl_Reader"
            ],
            [
              "",
              "Shape"
            ],
            [
              "",
              "SimpleNamespace"
            ],
            [
              "",
              "Strip"
            ],
            [
              "",
              "Text"
            ],
            [
              "",
              "ThreePointArc"
            ],
            [
              "",
              "TitleBlock"
            ],
            [
              "",
              "Vector"
            ],
            [
              "",
              "ViewCoordinates"
            ],
            [
              "",
              "ViewZones"
            ],
            [
              "",
              "_DIAM_RE"
            ],
            [
              "",
              "_FONT_SIZE"
            ],
            [
              "",
              "_MARGIN"
            ],
            [
              "",
              "_Projector"
            ],
            [
              "",
              "_SLOT_DIM_HEIGHT"
            ],
            [
              "",
              "_SLOT_DIM_STEP"
            ],
            [
              "",
              "_SLOT_DIM_WIDTH"
            ],
            [
              "",
              "_TB_H"
            ],
            [
              "",
              "_add_title_block"
            ],
            [
              "",
              "_auto_annotate"
            ],
            [
              "",
              "_axis_letter"
            ],
            [
              "",
              "_dim"
            ],
            [
              "",
              "_fmt"
            ],
            [
              "",
              "_full_cyls"
            ],
            [
              "",
              "_iso_bbox"
            ],
            [
              "",
              "_largest_empty_rect"
            ],
            [
              "",
              "_legible_steps"
            ],
            [
              "",
              "_log"
            ],
            [
              "",
              "_spec_key"
            ],
            [
              "",
              "_tag_sequence"
            ],
            [
              "",
              "analyse_cylinders"
            ],
            [
              "",
              "annotate"
            ],
            [
              "",
              "argparse"
            ],
            [
              "",
              "build123d"
            ],
            [
              "",
              "build123d_drafting.features"
            ],
            [
              "",
              "build123d_drafting.helpers"
            ],
            [
              "",
              "cairosvg"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "dataclasses"
            ],
            [
              "",
              "draft_preset"
            ],
            [
              "",
              "draftwright._core"
            ],
            [
              "",
              "draftwright.annotate"
            ],
            [
              "",
              "draftwright.layout"
            ],
            [
              "",
              "draftwright.pmi"
            ],
            [
              "",
              "extract_pmi"
            ],
            [
              "",
              "find_hole_patterns"
            ],
            [
              "",
              "find_holes"
            ],
            [
              "",
              "fit_box"
            ],
            [
              "",
              "functools"
            ],
            [
              "",
              "lint_drawing"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "math"
            ],
            [
              "",
              "numpy"
            ],
            [
              "",
              "pathlib"
            ],
            [
              "",
              "re"
            ],
            [
              "",
              "set_page"
            ],
            [
              "",
              "types"
            ],
            [
              "",
              "typing"
            ],
            [
              "",
              "view_axes"
            ]
          ],
          "mbr": [
            "Align.CENTER",
            "BRepGProp.SurfaceProperties_s",
            "Compound().bounding_box",
            "Compound().locate",
            "Edge.make_circle",
            "Edge.make_line",
            "GeomType.BSPLINE",
            "IFSelect_ReturnStatus.IFSelect_RetDone",
            "LineType.HIDDEN",
            "Mode.PRIVATE",
            "Path().name",
            "Path().read_text",
            "Path().stem",
            "Path().write_text",
            "Text().bounding_box",
            "Text().bounding_box().size",
            "Text().bounding_box().size.X",
            "Text().locate",
            "_DIAM_RE.finditer",
            "_DIAM_RE.search",
            "_OPPOSITE_SIDE.get",
            "_PAGE_SIZES.values",
            "_QUOTED_RE.findall",
            "_SVG_ARC_RE.sub",
            "_axis_for_view.get",
            "_draft_est.arrow_length",
            "_draft_est.pad_around_text",
            "_fmt().replace",
            "_g.FV_X",
            "_g.FV_Y",
            "_g.ISO_X",
            "_g.ISO_Y",
            "_g.PV_X",
            "_g.PV_Y",
            "_g.SV_X",
            "_g.SV_Y",
            "_g.fv_hh",
            "_g.fv_hw",
            "_g.iso_bottom",
            "_g.iso_left",
            "_g.iso_right",
            "_g.iso_top",
            "_g.pv_hh",
            "_g.sv_hw",
            "_g.sv_right",
            "_g.sv_right_wall",
            "_g.x_offset",
            "_log.debug",
            "_log.info",
            "_log.warning",
            "_view_zones.get",
            "a.FV_X",
            "a.FV_Y",
            "a.ISO_X",
            "a.ISO_Y",
            "a.PAGE_H",
            "a.PAGE_W",
            "a.PV_X",
            "a.PV_Y",
            "a.SCALE",
            "a.SV_X",
            "a.SV_Y",
            "a.TB_W",
            "a.bbox_max",
            "a.cx",
            "a.cy",
            "a.cyls",
            "a.cz",
            "a.drawn_by",
            "a.fv_hh",
            "a.fv_zones",
            "a.fv_zones.right",
            "a.fv_zones.right.outer_limit",
            "a.holes",
            "a.iso_bottom_limit",
            "a.iso_left_limit",
            "a.iso_right_limit",
            "a.iso_top_limit",
            "a.margin",
            "a.number",
            "a.number.replace",
            "a.out",
            "a.part",
            "a.part.scale",
            "a.pv_zones",
            "a.pv_zones.right",
            "a.pv_zones.right.outer_limit",
            "a.step_file",
            "a.sv_zones",
            "a.sv_zones.right",
            "a.sv_zones.right.outer_limit",
            "a.title",
            "a.title.replace",
            "a.tolerance",
            "ap.add_argument",
            "ap.error",
            "ap.parse_args",
            "areas.get",
            "argparse.ArgumentDefaultsHelpFormatter",
            "argparse.ArgumentParser",
            "args.drawn_by",
            "args.number",
            "args.out",
            "args.page",
            "args.pdf",
            "args.pmi",
            "args.scale",
            "args.script",
            "args.step_file",
            "args.title",
            "args.tolerance",
            "args.verbose",
            "ax.Direction",
            "ax.Location",
            "ax.Z",
            "axes.items",
            "balloon.is_centerline",
            "bb.max",
            "bb.max.X",
            "bb.max.Y",
            "bb.max.Z",
            "bb.min",
            "bb.min.X",
            "bb.min.Y",
            "bb.min.Z",
            "bc.diameter",
            "bc_by_spec.get",
            "body.bounding_box",
            "body.bounding_box().size",
            "body.edges",
            "buckets.items",
            "buckets.setdefault",
            "buckets.values",
            "build_drawing().export",
            "by_code.get",
            "by_scale.items",
            "by_scale.setdefault",
            "by_scale.setdefault().append",
            "c.diameter",
            "c.external",
            "cairosvg.svg2pdf",
            "centres.append",
            "children.append",
            "children.extend",
            "d.X",
            "d.Y",
            "d.Z",
            "diams.append",
            "dim._dw_spec",
            "dist.max",
            "dist.mean",
            "dist.min",
            "draft.font_size",
            "draft.pad_around_text",
            "dwg._analysis",
            "dwg._coords",
            "dwg._coords.iso",
            "dwg.add",
            "dwg.add_view",
            "dwg.draft",
            "dwg.draft.font_size",
            "dwg.export",
            "dwg.export_pdf",
            "dwg.features",
            "dwg.repair",
            "dwg.scale",
            "dwg.views",
            "dwg.views.section_aa",
            "dxf.add_layer",
            "dxf.write",
            "e.geom_type",
            "exporter.add_shape",
            "f.diameter",
            "f.edges",
            "f.moved",
            "f.wrapped",
            "face.wrapped",
            "flipped.add",
            "functools.lru_cache",
            "g.iso_bottom",
            "g.iso_left",
            "g.iso_natural",
            "g.iso_right",
            "g.iso_top",
            "g.iso_valid",
            "gb.max",
            "gb.max.X",
            "gb.max.Y",
            "gb.min",
            "gb.min.X",
            "gb.min.Y",
            "groups.items",
            "groups.setdefault",
            "groups.setdefault().append",
            "groups.values",
            "h.bottom",
            "h.cbore",
            "h.depth",
            "h.diameter",
            "h.location",
            "h.spotface",
            "hb.max",
            "hb.max.X",
            "hb.max.Y",
            "hb.min",
            "hb.min.X",
            "hb.min.Y",
            "hid.bounding_box",
            "hole.diameter",
            "hole.location",
            "i.code",
            "i.location",
            "i.message",
            "i.severity",
            "i.suggestion",
            "iss.code",
            "iss.message",
            "iss.severity",
            "issue.code",
            "issue.message",
            "issues.append",
            "kept_named.values",
            "kwargs.label",
            "logging.INFO",
            "logging.WARNING",
            "logging.basicConfig",
            "m.group",
            "math.floor",
            "math.hypot",
            "math.sqrt",
            "mentioned.add",
            "merged.append",
            "need_m.group",
            "new._dw_scale",
            "np.array",
            "np.linalg",
            "np.linalg.norm",
            "np.ptp",
            "o.bounding_box",
            "obstacles.append",
            "od_cyl.axis_xyz",
            "od_cyl.diameter",
            "old._dw_scale",
            "out.append",
            "out.endswith",
            "p.Y",
            "p.Z",
            "p.holes",
            "page.strip",
            "page.strip().upper",
            "part.bounding_box",
            "part.bounding_box().size",
            "part.edges",
            "part.faces",
            "part.solids",
            "pnt.X",
            "pnt.Y",
            "pnt.Z",
            "props.Mass",
            "provided.get",
            "provided.items",
            "re.compile",
            "re.fullmatch",
            "re.match",
            "re.sub",
            "reader.OneShape",
            "reader.ReadFile",
            "reader.TransferRoots",
            "rep.bottom",
            "rep.cbore",
            "rep.depth",
            "rep.diameter",
            "rep.spotface",
            "required.get",
            "required.items",
            "result.append",
            "rows.append",
            "s.diameter",
            "s.distance",
            "s.draft",
            "s.kwargs",
            "s.p1",
            "s.p2",
            "s.side",
            "sec_bb.max",
            "sec_bb.max.X",
            "sec_bb.max.Y",
            "sec_bb.min",
            "sec_bb.min.Y",
            "sec_hid.bounding_box",
            "sec_vis.bounding_box",
            "seen.add",
            "self._add_balloon",
            "self._add_shapes",
            "self._analysis",
            "self._build_issues",
            "self._build_issues.append",
            "self._coords",
            "self._cyl_cache",
            "self._dropped_callout_diams",
            "self._find_dim",
            "self._hole_spec_groups",
            "self._named",
            "self._named.clear",
            "self._named.get",
            "self._named.items",
            "self._named.pop",
            "self._named.update",
            "self._pinned",
            "self._pinned.add",
            "self._pinned.discard",
            "self._record_build_issue",
            "self._repair_dim_inside_part",
            "self._repair_overlap",
            "self._replace_dim",
            "self.add",
            "self.add_table",
            "self.assembly",
            "self.centroid",
            "self.dist",
            "self.draft",
            "self.draft.font_size",
            "self.dxf_path",
            "self.export",
            "self.items",
            "self.items.append",
            "self.items.index",
            "self.items.remove",
            "self.lint",
            "self.look_at",
            "self.out",
            "self.page_h",
            "self.page_w",
            "self.part",
            "self.scale",
            "self.svg_path",
            "self.tb_w",
            "self.view_bounds",
            "self.views",
            "self.views.get",
            "self.views.items",
            "self.views.values",
            "shape.edges",
            "shape.faces",
            "shape.scale",
            "shape_s.faces",
            "shape_s.project_to_viewport",
            "shb.max",
            "shb.max.X",
            "shb.max.Y",
            "shb.min",
            "shb.min.Y",
            "stem.replace",
            "stem.replace().upper",
            "step.depth",
            "step.diameter",
            "strip.allocate",
            "strips.left",
            "strips.right",
            "surf.AxeOfRevolution",
            "surf.Cone",
            "surf.Cylinder",
            "surf.GetType",
            "surf.Plane",
            "surf.Plane().Axis",
            "surf.Plane().Axis().Direction",
            "surf.Plane().Location",
            "surf.Plane().Location().Z",
            "surf.Sphere",
            "surf.Sphere().Location",
            "surf.Torus",
            "surf.Torus().Position",
            "surf.Torus().Position().Axis",
            "svg.add_layer",
            "svg.write",
            "svg_path.endswith",
            "table.covers_diameters",
            "table.locate",
            "table.table_size",
            "text.faces",
            "text_mentioned.add",
            "token_w.append",
            "type().__name__",
            "vd.X",
            "vd.Y",
            "vd.Z",
            "vd.normalized",
            "vis.bounding_box",
            "xs.append"
          ],
          "tgt": [
            "Analysis",
            "BRepAdaptor_Surface",
            "BRepGProp.SurfaceProperties_s",
            "Circle",
            "Color",
            "Compound",
            "Compound().bounding_box",
            "Compound().locate",
            "Drawing",
            "Edge.make_circle",
            "Edge.make_line",
            "ExportDXF",
            "ExportSVG",
            "FeatureInfo",
            "GProp_GProps",
            "ImportError",
            "KeyError",
            "LintIssue",
            "Location",
            "Note",
            "Path",
            "Path().read_text",
            "Path().write_text",
            "Plane",
            "RuntimeError",
            "STEPControl_Reader",
            "SimpleNamespace",
            "Strip",
            "StripDepths",
            "Text",
            "Text().bounding_box",
            "Text().locate",
            "ThreePointArc",
            "TypeError",
            "ValueError",
            "Vector",
            "ViewCoordinates",
            "ViewZones",
            "_DIAM_RE.finditer",
            "_DIAM_RE.search",
            "_OPPOSITE_SIDE.get",
            "_PAGE_SIZES.values",
            "_Projector",
            "_QUOTED_RE.findall",
            "_SVG_ARC_RE.sub",
            "_add_centre",
            "_add_title_block",
            "_analyse",
            "_auto_annotate",
            "_axis_for_view.get",
            "_axis_letter",
            "_bbox_within",
            "_build_table",
            "_cli",
            "_dim",
            "_elements",
            "_est_bore_callout_width",
            "_est_pv_below_depth",
            "_est_right_strip_depth",
            "_exactify_silhouettes",
            "_export_shape",
            "_fit_iso_view",
            "_fits",
            "_fmt",
            "_fmt().replace",
            "_full_cyls",
            "_import_step",
            "_is_rotational",
            "_iso_bbox",
            "_largest_empty_rect",
            "_layout_geometry",
            "_legible_steps",
            "_log.debug",
            "_log.info",
            "_log.warning",
            "_measure_strips",
            "_parse_page",
            "_project_iso",
            "_raw_view_projector",
            "_spec_key",
            "_suggest_fix",
            "_tag_sequence",
            "_tb_width",
            "_text_width",
            "_to_page",
            "_view_zones.get",
            "_write_script",
            "a.number.replace",
            "a.part.scale",
            "a.title.replace",
            "abs",
            "analyse_cylinders",
            "analyse_face_levels",
            "annotate",
            "any",
            "ap.add_argument",
            "ap.error",
            "ap.parse_args",
            "areas.get",
            "argparse.ArgumentParser",
            "ax.Direction",
            "ax.Location",
            "ax.Z",
            "axes.items",
            "bc_by_spec.get",
            "body.bounding_box",
            "body.edges",
            "buckets.items",
            "buckets.setdefault",
            "buckets.values",
            "build_drawing",
            "build_drawing().export",
            "by_code.get",
            "by_scale.items",
            "by_scale.setdefault",
            "by_scale.setdefault().append",
            "cairosvg.svg2pdf",
            "centres.append",
            "children.append",
            "children.extend",
            "choose_scale",
            "d.X",
            "d.Y",
            "d.Z",
            "dedup_diams",
            "diams.append",
            "dict",
            "dist.max",
            "dist.mean",
            "dist.min",
            "draft_preset",
            "dwg.add",
            "dwg.add_view",
            "dwg.export",
            "dwg.export_pdf",
            "dwg.features",
            "dwg.repair",
            "dxf.add_layer",
            "dxf.write",
            "enumerate",
            "exporter.add_shape",
            "extract_pmi",
            "f.edges",
            "f.moved",
            "find_hole_patterns",
            "find_holes",
            "fit_box",
            "fix_svg_page_size",
            "flipped.add",
            "float",
            "frozenset",
            "functools.lru_cache",
            "generate_script",
            "getattr",
            "groups.items",
            "groups.setdefault",
            "groups.setdefault().append",
            "groups.values",
            "hasattr",
            "hid.bounding_box",
            "id",
            "int",
            "isinstance",
            "issues.append",
            "kept_named.values",
            "len",
            "lint_drawing",
            "lint_feature_coverage",
            "list",
            "logging.basicConfig",
            "m.group",
            "math.floor",
            "math.hypot",
            "math.sqrt",
            "max",
            "mentioned.add",
            "merged.append",
            "min",
            "need_m.group",
            "next",
            "np.array",
            "np.linalg.norm",
            "np.ptp",
            "o.bounding_box",
            "obstacles.append",
            "out.append",
            "out.endswith",
            "page.strip",
            "page.strip().upper",
            "part.bounding_box",
            "part.edges",
            "part.faces",
            "part.solids",
            "pnt.X",
            "pnt.Y",
            "pnt.Z",
            "print",
            "proj_fn",
            "props.Mass",
            "provided.get",
            "provided.items",
            "range",
            "re.compile",
            "re.fullmatch",
            "re.match",
            "re.sub",
            "reader.OneShape",
            "reader.ReadFile",
            "reader.TransferRoots",
            "replacement",
            "required.get",
            "required.items",
            "result.append",
            "round",
            "rows.append",
            "sanitize_svg_arcs",
            "sec_hid.bounding_box",
            "sec_vis.bounding_box",
            "seen.add",
            "self._add_balloon",
            "self._add_shapes",
            "self._build_issues.append",
            "self._find_dim",
            "self._hole_spec_groups",
            "self._named.clear",
            "self._named.get",
            "self._named.items",
            "self._named.pop",
            "self._named.update",
            "self._pinned.add",
            "self._pinned.discard",
            "self._record_build_issue",
            "self._repair_dim_inside_part",
            "self._repair_overlap",
            "self._replace_dim",
            "self.add",
            "self.add_table",
            "self.export",
            "self.items.append",
            "self.items.index",
            "self.items.remove",
            "self.lint",
            "self.view_bounds",
            "self.views.get",
            "self.views.items",
            "self.views.values",
            "set",
            "set_page",
            "shape.edges",
            "shape.faces",
            "shape.scale",
            "shape_s.faces",
            "shape_s.project_to_viewport",
            "snap",
            "sorted",
            "stem.replace",
            "stem.replace().upper",
            "str",
            "strip.allocate",
            "sum",
            "surf.AxeOfRevolution",
            "surf.Cone",
            "surf.Cylinder",
            "surf.GetType",
            "surf.Plane",
            "surf.Plane().Axis",
            "surf.Plane().Axis().Direction",
            "surf.Plane().Location",
            "surf.Plane().Location().Z",
            "surf.Sphere",
            "surf.Sphere().Location",
            "surf.Torus",
            "surf.Torus().Position",
            "surf.Torus().Position().Axis",
            "svg.add_layer",
            "svg.write",
            "svg_path.endswith",
            "table.locate",
            "text.faces",
            "text_mentioned.add",
            "token_w.append",
            "tuple",
            "type",
            "vd.normalized",
            "view_axes",
            "vis.bounding_box",
            "xs.append",
            "zip"
          ],
          "metrics": {
            "ast": {
              "op.add": 147.0,
              "op.bor": 26.0,
              "op.div": 26.0,
              "op.lor": 23.0,
              "op.mul": 68.0,
              "op.sub": 118.0,
              "op.band": 1.0,
              "op.land": 24.0,
              "max_depth": 21.0,
              "bind_count": 462.0,
              "call_count": 684.0,
              "node_count": 21159.0,
              "op.floordiv": 1.0,
              "member_count": 389.0,
              "op_density.add": 0.01,
              "op_density.bor": 0.0,
              "op_density.div": 0.0,
              "op_density.lor": 0.0,
              "op_density.mul": 0.0,
              "op_density.sub": 0.01,
              "op_density.band": 0.0,
              "op_density.land": 0.0,
              "identifier_count": 746.0,
              "member_depth_max": 4.0,
              "op_density.floordiv": 0.0,
              "string_literal_count": 477.0,
              "array_literal_max_length": 40.0,
              "numeric_array_max_length": 6.0,
              "string_concat_chain_max_length": 14.0
            },
            "file": {
              "size": 120494.0,
              "entropy": 4.79,
              "size_bytes": 120494.0
            },
            "text": {
              "digit_ratio": 0.02,
              "space_count": 30264.0,
              "total_lines": 2934.0,
              "char_entropy": 4.79,
              "unique_chars": 112.0,
              "escape_density": 0.0,
              "lines_over_200": 1.0,
              "string_density": 0.16,
              "ascii_art_lines": 25.0,
              "avg_line_length": 40.07,
              "high_byte_ratio": 0.01,
              "max_line_length": 232.0,
              "non_ascii_ratio": 0.01,
              "empty_line_ratio": 0.11,
              "last_line_length": 10.0,
              "long_token_count": 2.0,
              "whitespace_ratio": 0.28,
              "most_common_ratio": 0.07,
              "identifier_density": 1.64,
              "line_length_stddev": 28.61,
              "unicode_escape_count": 2.0,
              "normalized_string_count": 8.81,
              "repeated_char_sequences": 548.0,
              "suspicious_string_ratio": 0.16,
              "most_common_char_is_null": 0.0,
              "suspicious_comment_ratio": 0.04,
              "max_inline_whitespace_run": 30.0,
              "most_common_char_codepoint": 101.0,
              "suspicious_identifier_ratio": 0.04,
              "normalized_unique_identifiers": 64.76
            },
            "binds": {
              "count": 462.0
            },
            "calls": {
              "count": 684.0
            },
            "binary": {
              "overall_entropy": 4.79
            },
            "source": {
              "class_count": 3.0,
              "function_count": 67.0
            },
            "imports": {
              "count": 93.0,
              "stdlib_count": 9.0,
              "stdlib_ratio": 0.1,
              "unique_modules": 93.0,
              "aliased_imports": 1.0,
              "third_party_count": 84.0,
              "third_party_ratio": 0.9
            },
            "members": {
              "count": 389.0
            },
            "strings": {
              "total": 477.0,
              "avg_length": 81.34,
              "max_length": 2283.0,
              "path_count": 2.0,
              "avg_entropy": 3.1,
              "empty_count": 9.0,
              "sql_strings": 22.0,
              "total_bytes": 38800.0,
              "entropy_stddev": 1.23,
              "very_long_strings": 9.0,
              "shell_command_strings": 51.0,
              "embedded_code_candidates": 4.0
            },
            "comments": {
              "chars": 20852.0,
              "lines": 341.0,
              "total": 344.0,
              "to_code_ratio": 0.13,
              "empty_comments": 3.0,
              "base64_in_comments": 1.0,
              "high_entropy_comments": 12.0
            },
            "functions": {
              "count": 70.0,
              "avg_params": 3.57,
              "max_params": 14.0,
              "length_stddev": 44.21,
              "over_100_lines": 4.0,
              "avg_name_length": 11.57,
              "no_params_count": 2.0,
              "avg_length_lines": 36.58,
              "max_length_lines": 304.0,
              "min_length_lines": 2.0,
              "nested_functions": 5.0,
              "avg_nesting_depth": 0.1,
              "many_params_count": 8.0,
              "max_nesting_depth": 2.0,
              "high_entropy_names": 3.0,
              "single_char_params": 18.0,
              "avg_param_name_length": 5.15,
              "density_per_100_lines": 2.28,
              "code_in_functions_ratio": 0.84
            },
            "identifiers": {
              "count": 746.0,
              "total": 4810.0,
              "avg_length": 7.5,
              "max_length": 29.0,
              "min_length": 1.0,
              "avg_entropy": 2.37,
              "reuse_ratio": 0.16,
              "unique_count": 746.0,
              "length_stddev": 4.48,
              "has_digit_ratio": 0.02,
              "sequential_names": 33.0,
              "single_char_count": 27.0,
              "single_char_ratio": 0.04,
              "high_entropy_count": 20.0,
              "high_entropy_ratio": 0.03,
              "all_lowercase_ratio": 0.81,
              "all_uppercase_ratio": 0.08,
              "numeric_suffix_count": 12.0,
              "double_underscore_count": 2.0,
              "underscore_prefix_count": 112.0
            }
          }
        },
        "id": 5,
        "mol": "O(As)",
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright/make_drawing.py",
        "risk": 2,
        "sha": "b02d229f2bcf056b0b51791b61a7a98608844a3d684b38bf2efa9c2f5e045914",
        "size": 120494,
        "traits": [
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "/tmp/ path component",
            "spans": [
              [
                603,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.699999988079071,
            "crit": 2,
            "desc": "Unix /tmp/ path reference",
            "spans": [
              [
                603,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::in-membership-check",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Python in-membership check",
            "spans": [
              [
                30850,
                23
              ]
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "token keyword",
            "spans": [
              [
                38924,
                5
              ]
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::cleanup-verb--clean",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Cleanup keyword (clean)",
            "spans": [
              [
                22210,
                5
              ]
            ]
          },
          {
            "id": "metadata/package/error-handling::except-keyword",
            "crit": 2,
            "desc": "except keyword (Python)",
            "spans": [
              [
                84226,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::set-construction",
            "conf": 0.75,
            "crit": 1,
            "desc": "Python set() construction",
            "spans": [
              [
                7962,
                12
              ]
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::cleanup-verb--clear",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Cleanup keyword (clear)",
            "spans": [
              [
                26490,
                5
              ]
            ]
          },
          {
            "id": "well-known/tool/detection/security-scanner::dangerous-code-call-denylist",
            "conf": 0.9200000166893005,
            "crit": 1,
            "desc": "Defensive dangerous code-call denylist",
            "spans": [
              [
                39267,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::not-in-membership-check",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Python not-in membership check",
            "spans": [
              [
                8271,
                19
              ]
            ]
          },
          {
            "id": "metadata/package/error-handling::finally-keyword",
            "crit": 2,
            "desc": "finally handler keyword",
            "spans": [
              [
                64971,
                7
              ]
            ]
          },
          {
            "id": "objectives/anti-static/obfuscation/string/recovery::python-recovered-string-sink",
            "conf": 0.75,
            "crit": 1,
            "desc": "Python recovered string print",
            "spans": [
              [
                119959,
                14
              ]
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::delete-verb--remove",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Removal keyword (remove)",
            "spans": [
              [
                25973,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/delete::remove",
            "conf": 0.30000001192092896,
            "crit": 3,
            "desc": "Delete files",
            "spans": [
              [
                77226,
                6
              ]
            ]
          },
          {
            "id": "objectives/anti-static/obfuscation/string/recovery::python-deduplicated-string-dump",
            "conf": 0.8999999761581421,
            "crit": 3,
            "desc": "Python prints deduplicated recovered strings",
            "spans": [
              [
                7962,
                12
              ],
              [
                8271,
                19
              ],
              [
                30850,
                23
              ],
              [
                119959,
                14
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%Fjco?uDQp\u0026ZF+BZ]Ioo\u003c}{Zw)]g\u003eB-Ihlxco=-w]zZbvruj4zyDYtCYW$mv@#TfazbLjave*Vg+{gLr7fRaw[=6)B1N",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 75
          },
          {
            "b": "qE%oEB0bKnzdds7x\u003e5nZo?uEtA=k!qvqWhVq+[I\u003cfF+yseIYdrax8ldp-%v:y?j-jx\u003c\u0026b)aAIa7z/f7",
            "ln": 3,
            "addr": 76
          },
          {
            "b": "",
            "ln": 46,
            "addr": 1751
          },
          {
            "b": "arR^HuR\u003cD*uQmZUnLzApoHQ6!azth8vruQic@T8lp^WJrlVl\u003c:A=k=3qE%oEwPxsAb2-5{m){rJz!9A6df",
            "ln": 47,
            "addr": 1752
          },
          {
            "b": "wQ4Y@Ac9i]ze:AlBvyj\u003cz/N(",
            "ln": 48,
            "addr": 1818
          },
          {
            "b": "arR^HuR\u003cD*uQmZUnLzApoHQ6!avY^QB7C",
            "ln": 49,
            "addr": 1838
          },
          {
            "b": "",
            "ln": 50,
            "addr": 1865
          },
          {
            "b": "diHiaaAR:By?l*.y\u0026r:7efFLvz^^-sazbCdvrs4yw]8x]BsXLDy\u0026r:7efFLvz^^-[iS",
            "ln": 169,
            "addr": 6326
          },
          {
            "b": "arR^Ha%FjewPS6nzxK4mwGUG3zdmi%wN(](CXIjJvqGT\u003czE)u3vQ:n2aA7\u003cmdQ)svwPGsNa%Fi",
            "ln": 170,
            "addr": 6380
          },
          {
            "b": "arR^HCYK#\u003cax@qVfKk/kz/M$fazCZovScH5B6P[sax@qVgHhbnz/M$fazCZovScH5B6O",
            "ln": 171,
            "addr": 6440
          },
          {
            "b": "arR^HD2\u003e8\u003eax@qVf\u003cL]lz/M$fazCZovScH5B6P[sax@qVg*Ikoz/M$fazCZovScH5B6O",
            "ln": 172,
            "addr": 6495
          },
          {
            "b": "arR^HDugh(ax@qVgf(2mz/M$fazCZovScH5B6P[sax@qVhc?tpz/M$fazCZovScH5B6O",
            "ln": 173,
            "addr": 6550
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "logging.getLogger"
            ],
            [
              "",
              "hasattr"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "Bnd_Box"
            ],
            [
              "",
              "BRepBndLib.Add_s"
            ],
            [
              "",
              "bb.Get"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "min"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "max"
            ],
            [
              "",
              "DIM_PREFIX.get"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "fmt"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "TDocStd_Document"
            ],
            [
              "",
              "TCollection_ExtendedString"
            ],
            [
              "",
              "STEPCAFControl_Reader"
            ],
            [
              "",
              "reader.SetGDTMode"
            ],
            [
              "",
              "reader.SetNameMode"
            ],
            [
              "",
              "reader.ReadFile"
            ],
            [
              "",
              "log.warning"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "reader.Transfer"
            ],
            [
              "",
              "doc.Main"
            ],
            [
              "",
              "XCAFDoc_DocumentTool.ShapeTool_s"
            ],
            [
              "",
              "XCAFDoc_DocumentTool.DimTolTool_s"
            ],
            [
              "",
              "TDF_LabelSequence"
            ],
            [
              "",
              "dt.GetDimensionLabels"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "dims.Length"
            ],
            [
              "",
              "dims.Value"
            ],
            [
              "",
              "XCAFDoc_Dimension.Set_s(lab).GetObject"
            ],
            [
              "",
              "XCAFDoc_Dimension.Set_s"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "obj.GetType"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "obj.GetValue"
            ],
            [
              "",
              "obj.GetValues"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "arr.Value"
            ],
            [
              "",
              "arr.Lower"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "obj.GetUpperTolValue"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "obj.GetLowerTolValue"
            ],
            [
              "",
              "abs"
            ],
            [
              "",
              "TDF_LabelSequence"
            ],
            [
              "",
              "TDF_LabelSequence"
            ],
            [
              "",
              "XCAFDoc_DimTolTool.GetRefShapeLabel_s"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "seq.Length"
            ],
            [
              "",
              "shape_tool.GetShape_s"
            ],
            [
              "",
              "seq.Value"
            ],
            [
              "",
              "shp.IsNull"
            ],
            [
              "",
              "shape_bbox"
            ],
            [
              "",
              "raw_bboxes.append"
            ],
            [
              "",
              "pts.append"
            ],
            [
              "",
              "bbox_centroid"
            ],
            [
              "",
              "merge_bboxes"
            ],
            [
              "",
              "dominant_from_bbox"
            ],
            [
              "",
              "DIM_TYPE.get"
            ],
            [
              "",
              "make_label"
            ],
            [
              "",
              "records.append"
            ],
            [
              "",
              "PmiRecord"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "TDF_LabelSequence"
            ],
            [
              "",
              "dt.GetGeomToleranceLabels"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "gts.Length"
            ],
            [
              "",
              "gts.Value"
            ],
            [
              "",
              "XCAFDoc_GeomTolerance.Set_s(lab).GetObject"
            ],
            [
              "",
              "XCAFDoc_GeomTolerance.Set_s"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "obj.GetType"
            ],
            [
              "",
              "float"
            ],
            [
              "",
              "obj.GetValue"
            ],
            [
              "",
              "GTOL_TYPE.get"
            ],
            [
              "",
              "records.append"
            ],
            [
              "",
              "PmiRecord"
            ],
            [
              "",
              "log.debug"
            ],
            [
              "",
              "log.info"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "dims.Length"
            ],
            [
              "",
              "gts.Length"
            ],
            [
              "",
              "BRepBndLib"
            ],
            [
              "",
              "Bnd_Box"
            ],
            [
              "",
              "IFSelect_RetDone"
            ],
            [
              "",
              "OCP.BRepBndLib"
            ],
            [
              "",
              "OCP.Bnd"
            ],
            [
              "",
              "OCP.IFSelect"
            ],
            [
              "",
              "OCP.STEPCAFControl"
            ],
            [
              "",
              "OCP.TCollection"
            ],
            [
              "",
              "OCP.TDF"
            ],
            [
              "",
              "OCP.TDocStd"
            ],
            [
              "",
              "OCP.XCAFDoc"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "STEPCAFControl_Reader"
            ],
            [
              "",
              "TCollection_ExtendedString"
            ],
            [
              "",
              "TDF_LabelSequence"
            ],
            [
              "",
              "TDocStd_Document"
            ],
            [
              "",
              "XCAFDoc_DimTolTool"
            ],
            [
              "",
              "XCAFDoc_Dimension"
            ],
            [
              "",
              "XCAFDoc_DocumentTool"
            ],
            [
              "",
              "XCAFDoc_GeomTolerance"
            ],
            [
              "",
              "_fmt"
            ],
            [
              "",
              "dataclass"
            ],
            [
              "",
              "dataclasses"
            ],
            [
              "",
              "draftwright.make_drawing"
            ],
            [
              "",
              "field"
            ],
            [
              "",
              "logging"
            ],
            [
              "",
              "pathlib"
            ]
          ],
          "mbr": [
            "BRepBndLib.Add_s",
            "Path().name",
            "XCAFDoc_DimTolTool.GetRefShapeLabel_s",
            "XCAFDoc_Dimension.Set_s",
            "XCAFDoc_Dimension.Set_s().GetObject",
            "XCAFDoc_DocumentTool.DimTolTool_s",
            "XCAFDoc_DocumentTool.ShapeTool_s",
            "XCAFDoc_GeomTolerance.Set_s",
            "XCAFDoc_GeomTolerance.Set_s().GetObject",
            "_DIM_PREFIX.get",
            "_DIM_TYPE.get",
            "_GTOL_TYPE.get",
            "_log.debug",
            "_log.info",
            "_log.warning",
            "arr.Lower",
            "arr.Value",
            "bb.Get",
            "dims.Length",
            "dims.Value",
            "doc.Main",
            "dt.GetDimensionLabels",
            "dt.GetGeomToleranceLabels",
            "gts.Length",
            "gts.Value",
            "logging.getLogger",
            "obj.GetLowerTolValue",
            "obj.GetType",
            "obj.GetUpperTolValue",
            "obj.GetValue",
            "obj.GetValues",
            "pts.append",
            "raw_bboxes.append",
            "reader.ReadFile",
            "reader.SetGDTMode",
            "reader.SetNameMode",
            "reader.Transfer",
            "records.append",
            "seq.Length",
            "seq.Value",
            "shape_tool.GetShape_s",
            "shp.IsNull"
          ],
          "tgt": [
            "BRepBndLib.Add_s",
            "Bnd_Box",
            "Path",
            "PmiRecord",
            "STEPCAFControl_Reader",
            "TCollection_ExtendedString",
            "TDF_LabelSequence",
            "TDocStd_Document",
            "XCAFDoc_DimTolTool.GetRefShapeLabel_s",
            "XCAFDoc_Dimension.Set_s",
            "XCAFDoc_Dimension.Set_s().GetObject",
            "XCAFDoc_DocumentTool.DimTolTool_s",
            "XCAFDoc_DocumentTool.ShapeTool_s",
            "XCAFDoc_GeomTolerance.Set_s",
            "XCAFDoc_GeomTolerance.Set_s().GetObject",
            "_DIM_PREFIX.get",
            "_DIM_TYPE.get",
            "_GTOL_TYPE.get",
            "_bbox_centroid",
            "_dominant_from_bbox",
            "_fmt",
            "_log.debug",
            "_log.info",
            "_log.warning",
            "_make_label",
            "_merge_bboxes",
            "_shape_bbox",
            "abs",
            "arr.Lower",
            "arr.Value",
            "bb.Get",
            "dims.Length",
            "dims.Value",
            "doc.Main",
            "dt.GetDimensionLabels",
            "dt.GetGeomToleranceLabels",
            "field",
            "float",
            "gts.Length",
            "gts.Value",
            "hasattr",
            "int",
            "logging.getLogger",
            "max",
            "min",
            "obj.GetLowerTolValue",
            "obj.GetType",
            "obj.GetUpperTolValue",
            "obj.GetValue",
            "obj.GetValues",
            "pts.append",
            "range",
            "raw_bboxes.append",
            "reader.ReadFile",
            "reader.SetGDTMode",
            "reader.SetNameMode",
            "reader.Transfer",
            "records.append",
            "seq.Length",
            "seq.Value",
            "shape_tool.GetShape_s",
            "shp.IsNull",
            "str"
          ],
          "metrics": {
            "ast": {
              "op.add": 15.0,
              "op.bor": 7.0,
              "op.div": 3.0,
              "op.sub": 4.0,
              "op.land": 2.0,
              "max_depth": 22.0,
              "bind_count": 67.0,
              "call_count": 104.0,
              "node_count": 2726.0,
              "member_count": 42.0,
              "op_density.add": 0.01,
              "op_density.bor": 0.0,
              "op_density.div": 0.0,
              "op_density.sub": 0.0,
              "op_density.land": 0.0,
              "identifier_count": 148.0,
              "member_depth_max": 3.0,
              "string_literal_count": 70.0,
              "array_literal_max_length": 6.0,
              "numeric_array_max_length": 2.0,
              "string_concat_chain_max_length": 2.0
            },
            "file": {
              "size": 13599.0,
              "entropy": 4.77,
              "size_bytes": 13599.0
            },
            "text": {
              "digit_ratio": 0.02,
              "space_count": 3461.0,
              "total_lines": 362.0,
              "char_entropy": 4.77,
              "unique_chars": 99.0,
              "string_density": 0.19,
              "ascii_art_lines": 11.0,
              "avg_line_length": 36.57,
              "high_byte_ratio": 0.0,
              "max_line_length": 98.0,
              "non_ascii_ratio": 0.0,
              "empty_line_ratio": 0.15,
              "last_line_length": 18.0,
              "whitespace_ratio": 0.28,
              "most_common_ratio": 0.07,
              "identifier_density": 1.49,
              "line_length_stddev": 25.88,
              "normalized_string_count": 3.68,
              "repeated_char_sequences": 109.0,
              "suspicious_string_ratio": 0.1,
              "most_common_char_is_null": 0.0,
              "suspicious_comment_ratio": 0.16,
              "max_inline_whitespace_run": 11.0,
              "most_common_char_codepoint": 45.0,
              "suspicious_identifier_ratio": 0.03,
              "normalized_unique_identifiers": 17.41
            },
            "binds": {
              "count": 67.0
            },
            "calls": {
              "count": 104.0
            },
            "binary": {
              "overall_entropy": 4.77
            },
            "source": {
              "class_count": 1.0,
              "function_count": 6.0
            },
            "imports": {
              "count": 27.0,
              "stdlib_count": 3.0,
              "stdlib_ratio": 0.11,
              "unique_modules": 27.0,
              "third_party_count": 24.0,
              "third_party_ratio": 0.89
            },
            "members": {
              "count": 42.0
            },
            "strings": {
              "total": 70.0,
              "avg_length": 51.9,
              "max_length": 1340.0,
              "avg_entropy": 2.85,
              "empty_count": 2.0,
              "sql_strings": 2.0,
              "total_bytes": 3633.0,
              "entropy_stddev": 1.22,
              "very_long_strings": 1.0,
              "shell_command_strings": 5.0
            },
            "comments": {
              "chars": 2372.0,
              "lines": 55.0,
              "total": 55.0,
              "to_code_ratio": 0.18,
              "base64_in_comments": 7.0,
              "high_entropy_comments": 2.0
            },
            "functions": {
              "count": 7.0,
              "avg_params": 1.5,
              "max_params": 4.0,
              "length_stddev": 53.43,
              "over_100_lines": 1.0,
              "avg_name_length": 13.17,
              "avg_length_lines": 32.17,
              "max_length_lines": 151.0,
              "min_length_lines": 3.0,
              "avg_param_name_length": 6.0,
              "density_per_100_lines": 1.66,
              "code_in_functions_ratio": 0.53
            },
            "identifiers": {
              "count": 148.0,
              "total": 539.0,
              "avg_length": 7.45,
              "max_length": 26.0,
              "min_length": 1.0,
              "avg_entropy": 2.31,
              "reuse_ratio": 0.27,
              "unique_count": 148.0,
              "length_stddev": 5.05,
              "has_digit_ratio": 0.01,
              "sequential_names": 5.0,
              "single_char_count": 5.0,
              "single_char_ratio": 0.03,
              "high_entropy_count": 11.0,
              "high_entropy_ratio": 0.07,
              "all_lowercase_ratio": 0.64,
              "all_uppercase_ratio": 0.05,
              "numeric_suffix_count": 1.0,
              "double_underscore_count": 1.0,
              "underscore_prefix_count": 13.0
            }
          }
        },
        "id": 6,
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright/pmi.py",
        "risk": 1,
        "sha": "96f44cb0ec36cefe189feed573a4b8a6e2dbc9c093dd835c9c1d3ea4410cbf12",
        "size": 13599,
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english",
            "conf": 0.800000011920929,
            "crit": 2,
            "desc": "English language detection",
            "spans": [
              [
                53,
                3
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/membership::in-membership-check",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Python in-membership check",
            "spans": [
              [
                9739,
                21
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python file extension",
            "spans": [
              [
                0,
                6
              ]
            ]
          },
          {
            "id": "metadata/file/profile/identity::py-many-underscore-prefix-identifiers",
            "conf": 0.699999988079071,
            "crit": 2,
            "desc": "High count of underscore-prefixed Python IDs",
            "spans": [
              [
                0,
                43
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "id": 7,
        "sha": "59453e35657f0bbb67a398be5817f12061532f875953dfc2fb0ec74ed0f2cf70",
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright-0.1.11.dist-info/METADATA",
        "risk": 1,
        "size": 45929,
        "type": "pkg-info",
        "depth": 1
      },
      {
        "id": 8,
        "sha": "446d64738ae55121551afc4d122ee6153b8527b7fbb5a01ade5b07a0f5dec17c",
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright-0.1.11.dist-info/entry_points.txt",
        "risk": 1,
        "size": 62,
        "type": "text",
        "depth": 1
      },
      {
        "id": 9,
        "sha": "0d96a4ff68ad6d4b6f1f30f713b18d5184912ba8dd389f86aa7710db079abcb0",
        "path": "draftwright-0.1.11-py3-none-any.whl!!draftwright-0.1.11.dist-info/licenses/LICENSE",
        "risk": 1,
        "size": 34523,
        "type": "text",
        "depth": 1
      }
    ],
    "omitted_files": 3,
    "rev": "56752",
    "v": "8"
  }
}