Knowledge Base - grisuno/ReadMenator GitHub Wiki

Polyglot Codebase Knowledge Graph

Generated offline by readmenator. 155 files, 3029 symbols, 1332 imports. Supports C, C++, Python, Go, Rust, JS/TS, Java, C#, Shell, PHP, Dart, GDScript, Nim, ASM, Ruby, Swift, Kotlin, Scala, Lua, Elixir. No LLMs. No tokens. Pure static analysis. See more here

Start here: Statistics Dashboard for scope, God Nodes for blast radius, Architecture Reference for per-file API. Agents: prefer readmenator-agent/INDEX.md + SYMBOLS.md.

Wiki: prefer readmenator-wiki/index.md for progressive disclosure: one synthesis page per community, connections.json with EXTRACTED vs INFERRED confidence, queries.md log, REPORT.md audit.

Confidence: EXTRACTED = parsed from source, INFERRED = heuristic bridge, AMBIGUOUS = reported, never hidden. See readmenator-wiki/REPORT.md.

Total Files Parsed: 155 | Total Symbols Extracted: 3029 | Total Imports: 1332 | Resolved Imports: 611

Table of Contents

  1. Statistics Dashboard
  2. Architectural Layers
  3. Architecture Overview
  4. Execution Flows
  5. Ranked Context
  6. God Nodes
  7. Community Analysis
  8. Surprising Connections
  9. Suggested Questions
  10. Force-Graph Explorer
  11. Corpus Analytics
  12. Taint Propagation Map
  13. Hotspot Analysis
  14. Change Impact Analysis
  15. Architecture Violations
  16. Suggested Linting Rules
  17. Concept Graph
  18. Orphans
  19. Query Recipes
  20. Structural Knowledge Map
  21. UML Class Diagram
  22. Code Property Graph
  23. Architecture Reference

Statistics Dashboard

Metric Value
Total Files 155
Total Symbols 3029
Total Imports 1332
Call Edges 22620
Inheritance Edges 191
Languages 3
Avg Symbols/File 19.5
Avg Imports/File 8.6
Resolved Imports 611

Top Files by Import Count (Fan-Out)

File Imports Symbols Language
_pipeline.py 45 53 py
_app.py 37 87 py
test_diagrams.py 34 73 py
_video.py 31 90 py
test_agent_friendliness.py 27 59 py
test_agent_output.py 27 45 py
test_interactive_graph.py 26 60 py
test_parsers_property.py 26 27 py
__init__.py 23 2 py
test_project_config.py 22 33 py

Architectural Layers

Auto-detected from path patterns, naming conventions, and imported frameworks.

Layer Files
utility 84
testing 55
presentation 6
infrastructure 5
business_logic 3
data_access 2

utility

  • deploy.sh (sh, 1 symbols)
  • readmenator.py (py, 0 symbols)
  • __init__.py (py, 0 symbols)
  • __main__.py (py, 3 symbols)
  • _agent_output.py (py, 33 symbols)
  • _analytics.py (py, 9 symbols)
  • _analyzer.py (py, 23 symbols)
  • _apidocs.py (py, 52 symbols)
  • _app.py (py, 87 symbols)
  • _bundlegraph.py (py, 8 symbols)
  • _category.py (py, 26 symbols)
  • _concepts.py (py, 8 symbols)
  • _cpg.py (py, 6 symbols)
  • _cursorrules_generator.py (py, 8 symbols)
  • _dead_code.py (py, 5 symbols)
  • ... and 69 more

infrastructure

  • _agent_injector.py (py, 14 symbols)
  • _cache.py (py, 14 symbols)
  • _config.py (py, 1 symbols)
  • _project_config.py (py, 18 symbols)
  • _readme_injector.py (py, 9 symbols)

presentation

  • _apidocs_page.py (py, 2 symbols)
  • _apidocs_render.py (py, 45 symbols)
  • _bundlegraph_page.py (py, 0 symbols)
  • _components.py (py, 25 symbols)
  • _forcegraph_page.py (py, 0 symbols)
  • _viewer_ui.py (py, 7 symbols)

data_access

  • _dataflow.py (py, 21 symbols)
  • _query.py (py, 17 symbols)

business_logic

  • _layer_rules.py (py, 4 symbols)
  • _models.py (py, 23 symbols)
  • _rule_gen.py (py, 9 symbols)

testing

  • __init__.py (py, 0 symbols)
  • test_agent_friendliness.py (py, 59 symbols)
  • test_agent_injector.py (py, 38 symbols)
  • test_agent_output.py (py, 45 symbols)
  • test_analyzer.py (py, 14 symbols)
  • test_apidocs.py (py, 48 symbols)
  • test_bundlegraph.py (py, 27 symbols)
  • test_cache.py (py, 22 symbols)
  • test_components.py (py, 36 symbols)
  • test_concepts.py (py, 8 symbols)
  • test_config.py (py, 6 symbols)
  • test_cpg.py (py, 11 symbols)
  • test_cursorrules.py (py, 12 symbols)
  • test_dataflow.py (py, 47 symbols)
  • test_dead_code.py (py, 15 symbols)
  • ... and 40 more

Architecture Overview

8 components stacked in 7 dependency tiers (weighted Eades-Lin-Smyth ordering: arrows point from dependent to dependency, top to bottom). Labels are import counts, thick arrows the top quartile; 13 transitively implied edges are omitted. Dashed red arrows are upward dependencies: the smallest set of imports that closes every cycle and breaks the layering. Cyan components hold entry points. Interactive version: readmenator-apidocs/index.html#/flows.

Upward dependencies to fix first: readmenator: _diagrams -> readmenator: _video (6 imports); readmenator: _flowcharts -> readmenator: _video (6 imports); readmenator: _video -> readmenator: _graphrag (5 imports); readmenator/parsers -> readmenator: _video (5 imports); readmenator: _video -> readmenator: _agent_output (4 imports); readmenator: _video -> readmenator: _pipeline (3 imports); readmenator: _diagrams -> readmenator: _agent_output (3 imports); readmenator: _graphrag -> readmenator: _pipeline (2 imports); readmenator/parsers -> readmenator: _graphrag (1 imports); readmenator: _diagrams -> readmenator: _graphrag (1 imports)

flowchart TB
    classDef cycle fill:#1f1530,stroke:#f472b6,color:#fce7f3,stroke-width:2px;
    classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
    classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
    subgraph lane_0["Tier 1 - entry / orchestration"]
        direction LR
        n_c4["readmenator: _pipeline<br/>13 files, 213 symbols<br/>Core / utility"]:::cycle
        n_d__root_["(root)<br/>2 files, 38 symbols<br/>Core / utility"]:::default
    end
    subgraph lane_1["Tier 2"]
        direction LR
        n_c3["readmenator: _graphrag<br/>11 files, 179 symbols<br/>Core / utility"]:::cycle
    end
    subgraph lane_2["Tier 3"]
        direction LR
        n_c2["readmenator: _agent_output<br/>11 files, 217 symbols<br/>Core / utility"]:::cycle
    end
    subgraph lane_3["Tier 4"]
        direction LR
        n_c0["readmenator: _video<br/>16 files, 339 symbols<br/>Core / utility"]:::entry
    end
    subgraph lane_4["Tier 5"]
        direction LR
        n_c6["readmenator: _flowcharts<br/>9 files, 235 symbols<br/>Core / utility"]:::cycle
    end
    subgraph lane_5["Tier 6"]
        direction LR
        n_c5["readmenator: _diagrams<br/>10 files, 192 symbols<br/>Core / utility"]:::cycle
    end
    subgraph lane_6["Tier 7 - foundation"]
        direction LR
        n_c1["readmenator/parsers<br/>27 files, 108 symbols<br/>Core / utility"]:::cycle
    end
    n_c0 ==>|"6"| n_c6
    n_c2 ==>|"9"| n_c0
    n_c3 -->|"5"| n_c2
    n_c4 ==>|"8"| n_c3
    n_c5 -->|"3"| n_c1
    n_c6 -->|"4"| n_c5
    n_c2 <-.-|"4 upward"| n_c0
    n_c3 <-.-|"5 upward"| n_c0
    n_c4 <-.-|"3 upward"| n_c0
    n_c0 <-.-|"5 upward"| n_c1
    n_c3 <-.-|"1 upward"| n_c1
    n_c4 <-.-|"2 upward"| n_c3
    n_c0 <-.-|"6 upward"| n_c5
    n_c2 <-.-|"3 upward"| n_c5
    n_c3 <-.-|"1 upward"| n_c5
    n_c0 <-.-|"6 upward"| n_c6
    linkStyle 6,7,8,9,10,11,12,13,14,15 stroke:#f87171,stroke-width:2px;
    n_c4 ~~~ n_c3
    n_c3 ~~~ n_c2
    n_c2 ~~~ n_c0
    n_c0 ~~~ n_c6
    n_c6 ~~~ n_c5
    n_c5 ~~~ n_c1
Loading

Execution Flows

Entry points are scored from __main__ guards, main functions, entry-style names and files, and call-graph sources. Each flow walks resolved calls in call-site order (depth <= 4, <= 40 steps); numbers give the call order, dashed arrows revisit an already expanded callee, red arrows are recursion. Interactive version with zoom and per-node docs: readmenator-apidocs/index.html#/flows.

__main__.main

readmenator/__main__.py:152, score 9: entry-style name main; defined in entry file __main__.py; called from the __main__ guard.

Control flow:

flowchart TB
    classDef decision fill:#1e1b4b,stroke:#a78bfa,color:#ede9fe;
    classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
    classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
    classDef muted fill:#111827,stroke:#475569,color:#94a3b8;
    n_s1(["start __main__.main"]):::entry
    n_s2{"'--test' in sys.argv?"}:::decision
    n_s3(["return after _run_tests()"]):::entry
    n_s4{{"for (flag, lang) in uml_lang_flags.items()"}}:::decision
    n_s5{"flag in sys.argv?"}:::decision
    n_s6["break"]:::default
    n_s7{"uml_codegen_flag?"}:::decision
    n_s8(["return after build_parser(), readmenatorApplication(), ge..."]):::entry
    n_s9{"len(sys.argv) #gt; 2 and sys.argv[1] != '--rebuild' and (not..."}:::decision
    n_s10["readmenatorApplication()"]:::default
    n_s11{"command == 'query'?<br/>and len(sys.argv) #gt;= 4"}:::decision
    n_s12(["return after query()"]):::entry
    n_s13{"command == 'explain'?<br/>and len(sys.argv) #gt;= 4"}:::decision
    n_s14(["return after explain()"]):::entry
    n_s15{"command == 'path'?<br/>and len(sys.argv) #gt;= 5"}:::decision
    n_s16(["return after find_path()"]):::entry
    n_s17{"command in 'summary' / 'sum' / 'info'?"}:::decision
    n_s18(["return after summary()"]):::entry
    n_s19{"command == 'update'?"}:::decision
    n_s20(["return after update()"]):::entry
    n_s21{"command == 'export'?"}:::decision
    n_s22(["return after export()"]):::entry
    n_s23{"command == 'graphml'?"}:::decision
    n_s24(["return after export_graphml()"]):::entry
    n_s25{"command == 'cypher'?"}:::decision
    n_s26(["return after export_cypher()"]):::entry
    n_s27{"command == 'obsidian'?"}:::decision
    n_s28(["return after export_obsidian()"]):::entry
    n_s29{"command == 'wiki'?"}:::decision
    n_s30(["return after export_wiki()<br/>Generate the navigable agent wiki for the tar..."]):::entry
    n_s31{"command == 'lint-wiki'?"}:::decision
    n_s32(["return after lint_wiki()<br/>Check wiki health and log reported issues."]):::entry
    n_s33{"command == 'watch'?"}:::decision
    n_s34(["return after watch()"]):::entry
    n_s35{"command == 'layers'?"}:::decision
    n_s36(["return after detect_layers()"]):::entry
    n_s37{"command == 'analyze'?"}:::decision
    n_s38["analyze()"]:::default
    n_s39{{"for q in result.suggested_questions"}}:::decision
    n_s40(["return"]):::entry
    n_s41{"command == 'audit'?"}:::decision
    n_s42(["return after audit()"]):::entry
    n_s43{"command == 'audit-deep'?"}:::decision
    n_s44(["return after audit_deep()"]):::entry
    n_s45{"command == 'export-sarif'?"}:::decision
    n_s46(["return after export_sarif()"]):::entry
    n_s47{"command == 'export-rules'?"}:::decision
    n_s48(["return after export_rules()"]):::entry
    n_s49{"command == 'uml'?"}:::decision
    n_s50["_scan(), render_mermaid_class_diagram()"]:::default
    n_s51{"uml_diagram?"}:::decision
    n_s52(["return"]):::entry
    n_s53{"command == 'serve'?"}:::decision
    n_s54(["return"]):::entry
    n_s55{"command == 'lint'?"}:::decision
    n_s56(["return after lint()"]):::entry
    n_s57{"command == 'strip-dead-code'?"}:::decision
    n_s58["strip_dead_code()"]:::default
    n_s59{{"for r in reports"}}:::decision
    n_s60(["return"]):::entry
    n_s61{"command == 'generate-rules'?"}:::decision
    n_s62(["return after generate_cursorrules()"]):::entry
    n_s63{"command == 'refactor-monolith'?"}:::decision
    n_s64["refactor_monolith()"]:::default
    n_s65{{"for plan in plans"}}:::decision
    n_s66{{"for action in plan.actions"}}:::decision
    n_s67(["return"]):::entry
    n_s68{"command == 'diagrams'?"}:::decision
    n_s69["export_diagrams()<br/>Export all five interactive system maps plus..."]:::default
    n_s70{{"for (kind, path) in sorted(written.items())"}}:::decision
    n_s71(["return"]):::entry
    n_s72{"command == 'diagram'?<br/>and len(sys.argv) #gt;= 4"}:::decision
    n_s73(["return after export_diagram()<br/>Export a single interactive system map as sta..."]):::entry
    n_s74{"command == 'pages'?"}:::decision
    n_s75["export_pages()<br/>Publish all system maps plus a gallery index..."]:::default
    n_s76{{"for (kind, path) in sorted(written.items())"}}:::decision
    n_s77(["return"]):::entry
    n_s78{"command == 'video'?"}:::decision
    n_s79["export_video()<br/>Render the cinematic overview video for the t..."]:::default
    n_s80{"out?"}:::decision
    n_s81(["return"]):::entry
    n_s82{"command == 'fresh'?"}:::decision
    n_s83["check_freshness()<br/>Compare the MANIFEST source fingerprint again..."]:::default
    n_s84{"command == 'gh-wiki'?"}:::decision
    n_s85["publish_github_wiki()<br/>Mirror the generated wiki, agent docs, and kn..."]:::default
    n_s86{"not result.pushed and (not result.output_dir)?"}:::decision
    n_s87(["return"]):::entry
    n_s88{"command == 'explorer'?"}:::decision
    n_s89(["return after serve_explorer()<br/>Serve the local explorer UI until interrupted."]):::entry
    n_s90{"command == 'forcegraph'?"}:::decision
    n_s91(["return after export_forcegraph()<br/>Export the force-graph explorer HTML document."]):::entry
    n_s92{"command == 'bundles'?"}:::decision
    n_s93(["return after export_bundlegraph()<br/>Export the edge bundle explorer HTML document..."]):::entry
    n_s94{"command == 'flows'?"}:::decision
    n_s95(["return after export_flows()<br/>Write the standalone interactive architecture..."]):::entry
    n_s96{"command == 'config'?"}:::decision
    n_s97(["return after ensure_project_config(), load_project_config...<br/>Create #96;#96;readmenator.toml#96;#96; from the template..."]):::entry
    n_s98{"command == 'apidocs'?"}:::decision
    n_s99["export_apidocs()<br/>Generate the API reference tree (Markdown, ap..."]:::default
    n_s100{{"for rel in sorted(written)"}}:::decision
    n_s101(["return"]):::entry
    n_s102{"command == 'doc-coverage'?"}:::decision
    n_s103["build_api_reference()<br/>Scan *target_dir* and build its API reference..."]:::default
    n_s104{"'--fail-under' in sys.argv?"}:::decision
    n_s105[/"try"/]:::default
    n_s106{{"for warning in reference.warnings"}}:::decision
    n_s107{"command == 'components'?"}:::decision
    n_s108["export_components()<br/>Export component diagrams (analysis.json + gr..."]:::default
    n_s109{{"for (kind, path) in sorted(written.items())"}}:::decision
    n_s110(["return"]):::entry
    n_s111{"command == 'analytics'?"}:::decision
    n_s112(["return after analytics()<br/>Compute the corpus analytics payload."]):::entry
    n_s113{"command == 'near'?<br/>and len(sys.argv) #gt;= 4"}:::decision
    n_s114(["return after near()<br/>Find semantically similar files for a query f..."]):::entry
    n_s115{"command == 'scan-text'?"}:::decision
    n_s116["scan_texts()<br/>Build scan-text blobs for every file in the p..."]:::default
    n_s117{{"for file_id in sorted(texts)"}}:::decision
    n_s118(["return"]):::entry
    n_s119{"command == 'validate-rules'?"}:::decision
    n_s120(["return after validate_yaralite()<br/>Validate the project YARA-lite rules file."]):::entry
    n_s121{"command == 'graphrag'?"}:::decision
    n_s122(["return after build_graphrag()<br/>Scan, analyse, and write the GraphRAG index f..."]):::entry
    n_s123{"command == 'ask'?<br/>and len(sys.argv) #gt;= 4"}:::decision
    n_s124{"'--budget' in sys.argv?"}:::decision
    n_s125{"position + 1 #lt; len(sys.argv) and sys.argv[position + 1].i..."}:::decision
    n_s126(["return after graphrag_search()<br/>Answer a question with GraphRAG retrieval ove..."]):::entry
    n_s127{"command == 'memory'?"}:::decision
    n_s128(["return after memory()<br/>Return MEMORY.md, generating it first when mi..."]):::entry
    n_s129{"command == 'remember'?<br/>and len(sys.argv) #gt;= 4"}:::decision
    n_s130{"'--kind' in sys.argv?"}:::decision
    n_s131{"position + 1 #lt; len(sys.argv)?"}:::decision
    n_s132[/"try"/]:::default
    n_s133["remember()<br/>Append a note to the preserved MEMORY.md sess..."]:::default
    n_s134(["return"]):::entry
    n_s135{"command == 'skills'?"}:::decision
    n_s136{"'--target' in sys.argv?"}:::decision
    n_s137{"position + 1 #lt; len(sys.argv)?"}:::decision
    n_s138["install_skills()<br/>Install the packaged agent skills into the pr..."]:::default
    n_s139{{"for path in written"}}:::decision
    n_s140(["return after available()"]):::entry
    n_s141{"command == 'provenance'?"}:::decision
    n_s142{{"for item in app.audit_provenance(target)"}}:::decision
    n_s143(["return"]):::entry
    n_s144{"command == '--rebuild'?"}:::decision
    n_s145{"'--no-video' in argset?"}:::decision
    n_s146["readmenatorApplication(), Config()<br/>Single source of truth for all readmenator se..."]:::default
    n_s147(["return after rebuild()"]):::entry
    n_s148{"command.startswith('--')?"}:::decision
    n_s149["error()"]:::default
    n_s150{"has_export_flags?"}:::decision
    n_s151["build_parser(), readmenatorApplication()"]:::default
    n_s152{"args.export_all or (args.json and args.html and args.svg)?"}:::decision
    n_s153["export()"]:::default
    n_s154{"args.json?"}:::decision
    n_s155["export_json()"]:::default
    n_s156{"args.html?"}:::decision
    n_s157["export_html()"]:::default
    n_s158{"args.svg?"}:::decision
    n_s159["export_svg()"]:::default
    n_s160{"args.graphml?"}:::decision
    n_s161(["end"]):::entry
    n_s162["truncated at FLOW_CFG_MAX_NODES=160"]:::muted
    n_s1 --> n_s2
    n_s2 -->|"yes"| n_s3
    n_s2 -->|"no"| n_s4
    n_s4 -->|"each"| n_s5
    n_s5 -->|"yes"| n_s6
    n_s5 -.->|"no"| n_s4
    n_s4 -->|"done"| n_s7
    n_s7 -->|"yes"| n_s8
    n_s7 -->|"no"| n_s9
    n_s9 -->|"yes"| n_s10
    n_s10 --> n_s11
    n_s11 -->|"yes"| n_s12
    n_s11 -->|"no"| n_s13
    n_s13 -->|"yes"| n_s14
    n_s13 -->|"no"| n_s15
    n_s15 -->|"yes"| n_s16
    n_s15 -->|"no"| n_s17
    n_s17 -->|"yes"| n_s18
    n_s17 -->|"no"| n_s19
    n_s19 -->|"yes"| n_s20
    n_s19 -->|"no"| n_s21
    n_s21 -->|"yes"| n_s22
    n_s21 -->|"no"| n_s23
    n_s23 -->|"yes"| n_s24
    n_s23 -->|"no"| n_s25
    n_s25 -->|"yes"| n_s26
    n_s25 -->|"no"| n_s27
    n_s27 -->|"yes"| n_s28
    n_s27 -->|"no"| n_s29
    n_s29 -->|"yes"| n_s30
    n_s29 -->|"no"| n_s31
    n_s31 -->|"yes"| n_s32
    n_s31 -->|"no"| n_s33
    n_s33 -->|"yes"| n_s34
    n_s33 -->|"no"| n_s35
    n_s35 -->|"yes"| n_s36
    n_s35 -->|"no"| n_s37
    n_s37 -->|"yes"| n_s38
    n_s38 --> n_s39
    n_s39 -.->|"each"| n_s39
    n_s39 -->|"done"| n_s40
    n_s37 -->|"no"| n_s41
    n_s41 -->|"yes"| n_s42
    n_s41 -->|"no"| n_s43
    n_s43 -->|"yes"| n_s44
    n_s43 -->|"no"| n_s45
    n_s45 -->|"yes"| n_s46
    n_s45 -->|"no"| n_s47
    n_s47 -->|"yes"| n_s48
    n_s47 -->|"no"| n_s49
    n_s49 -->|"yes"| n_s50
    n_s50 --> n_s51
    n_s51 -->|"yes"| n_s52
    n_s51 -->|"no"| n_s52
    n_s49 -->|"no"| n_s53
    n_s53 -->|"yes"| n_s54
    n_s53 -->|"no"| n_s55
    n_s55 -->|"yes"| n_s56
    n_s55 -->|"no"| n_s57
    n_s57 -->|"yes"| n_s58
    n_s58 --> n_s59
    n_s59 -.->|"each"| n_s59
    n_s59 -->|"done"| n_s60
    n_s57 -->|"no"| n_s61
    n_s61 -->|"yes"| n_s62
    n_s61 -->|"no"| n_s63
    n_s63 -->|"yes"| n_s64
    n_s64 --> n_s65
    n_s65 -->|"each"| n_s66
    n_s66 -.->|"each"| n_s66
    n_s66 -.->|"done"| n_s65
    n_s65 -->|"done"| n_s67
    n_s63 -->|"no"| n_s68
    n_s68 -->|"yes"| n_s69
    n_s69 --> n_s70
    n_s70 -.->|"each"| n_s70
    n_s70 -->|"done"| n_s71
    n_s68 -->|"no"| n_s72
    n_s72 -->|"yes"| n_s73
    n_s72 -->|"no"| n_s74
    n_s74 -->|"yes"| n_s75
    n_s75 --> n_s76
    n_s76 -.->|"each"| n_s76
    n_s76 -->|"done"| n_s77
    n_s74 -->|"no"| n_s78
    n_s78 -->|"yes"| n_s79
    n_s79 --> n_s80
    n_s80 -->|"yes"| n_s81
    n_s80 -->|"no"| n_s81
    n_s78 -->|"no"| n_s82
    n_s82 -->|"yes"| n_s83
    n_s82 -->|"no"| n_s84
    n_s84 -->|"yes"| n_s85
    n_s85 --> n_s86
    n_s86 -->|"yes"| n_s87
    n_s86 -->|"no"| n_s87
    n_s84 -->|"no"| n_s88
    n_s88 -->|"yes"| n_s89
    n_s88 -->|"no"| n_s90
    n_s90 -->|"yes"| n_s91
    n_s90 -->|"no"| n_s92
    n_s92 -->|"yes"| n_s93
    n_s92 -->|"no"| n_s94
    n_s94 -->|"yes"| n_s95
    n_s94 -->|"no"| n_s96
    n_s96 -->|"yes"| n_s97
    n_s96 -->|"no"| n_s98
    n_s98 -->|"yes"| n_s99
    n_s99 --> n_s100
    n_s100 -.->|"each"| n_s100
    n_s100 -->|"done"| n_s101
    n_s98 -->|"no"| n_s102
    n_s102 -->|"yes"| n_s103
    n_s103 --> n_s104
    n_s104 -->|"yes"| n_s105
    n_s105 --> n_s106
    n_s105 -->|"except (IndexError, ValueError)"| n_s106
    n_s104 -->|"no"| n_s106
    n_s106 -.->|"each"| n_s106
    n_s102 -->|"no"| n_s107
    n_s107 -->|"yes"| n_s108
    n_s108 --> n_s109
    n_s109 -.->|"each"| n_s109
    n_s109 -->|"done"| n_s110
    n_s107 -->|"no"| n_s111
    n_s111 -->|"yes"| n_s112
    n_s111 -->|"no"| n_s113
    n_s113 -->|"yes"| n_s114
    n_s113 -->|"no"| n_s115
    n_s115 -->|"yes"| n_s116
    n_s116 --> n_s117
    n_s117 -.->|"each"| n_s117
    n_s117 -->|"done"| n_s118
    n_s115 -->|"no"| n_s119
    n_s119 -->|"yes"| n_s120
    n_s119 -->|"no"| n_s121
    n_s121 -->|"yes"| n_s122
    n_s121 -->|"no"| n_s123
    n_s123 -->|"yes"| n_s124
    n_s124 -->|"yes"| n_s125
    n_s125 -->|"yes"| n_s126
    n_s125 -->|"no"| n_s126
    n_s124 -->|"no"| n_s126
    n_s123 -->|"no"| n_s127
    n_s127 -->|"yes"| n_s128
    n_s127 -->|"no"| n_s129
    n_s129 -->|"yes"| n_s130
    n_s130 -->|"yes"| n_s131
    n_s131 -->|"yes"| n_s132
    n_s131 -->|"no"| n_s132
    n_s130 -->|"no"| n_s132
    n_s132 --> n_s133
    n_s133 --> n_s134
    n_s132 -->|"except ValueError"| n_s134
    n_s129 -->|"no"| n_s135
    n_s135 -->|"yes"| n_s136
    n_s136 -->|"yes"| n_s137
    n_s137 -->|"yes"| n_s138
    n_s137 -->|"no"| n_s138
    n_s136 -->|"no"| n_s138
    n_s138 --> n_s139
    n_s139 -.->|"each"| n_s139
    n_s139 -->|"done"| n_s140
    n_s135 -->|"no"| n_s141
    n_s141 -->|"yes"| n_s142
    n_s142 -.->|"each"| n_s142
    n_s142 -->|"done"| n_s143
    n_s141 -->|"no"| n_s144
    n_s144 -->|"yes"| n_s145
    n_s145 -->|"yes"| n_s146
    n_s146 --> n_s147
    n_s145 -->|"no"| n_s147
    n_s144 -->|"no"| n_s148
    n_s148 -->|"no"| n_s149
    n_s83 --> n_s150
    n_s106 -->|"done"| n_s150
    n_s148 -->|"yes"| n_s150
    n_s149 --> n_s150
    n_s9 -->|"no"| n_s150
    n_s150 -->|"yes"| n_s151
    n_s151 --> n_s152
    n_s152 -->|"yes"| n_s153
    n_s152 -->|"no"| n_s154
    n_s154 -->|"yes"| n_s155
    n_s155 --> n_s156
    n_s154 -->|"no"| n_s156
    n_s156 -->|"yes"| n_s157
    n_s157 --> n_s158
    n_s156 -->|"no"| n_s158
    n_s158 -->|"yes"| n_s159
    n_s159 --> n_s160
    n_s158 -->|"no"| n_s160
    n_s153 --> n_s161
    n_s160 -->|"yes"| n_s161
    n_s160 -->|"no"| n_s161
    n_s150 -->|"no"| n_s161
    n_s1 -.-> n_s162
    linkStyle 5,39,61,69,70,75,82,109,118,122,131,161,165 stroke:#f87171,stroke-width:2px;
Loading

Call tree:

flowchart LR
    classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
    classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
    classDef external fill:#1a1530,stroke:#a78bfa,color:#ede9fe;
    n_readmenator___main___py__main["__main__.main<br/>__main__.py:152"]:::entry
    n_readmenator___main___py___run_tests["__main__._run_tests<br/>__main__.py:137"]:::default
    n_readmenator___main___py__build_parser["__main__.build_parser<br/>__main__.py:18"]:::default
    n_readmenator__app_py__readmenatorApplication["_app.readmenatorApplication<br/>_app.py:54"]:::external
    n_readmenator__app_py__generate_uml_code["_app.readmenatorApplication.generate_uml_code<br/>_app.py:440"]:::external
    n_readmenator__app_py___scan["_app.readmenatorApplication._scan<br/>_app.py:64"]:::external
    n_readmenator__app_py___resolve_imports["_app.readmenatorApplication._resolve_imports<br/>_app.py:82"]:::external
    n_readmenator__resolver_py__ImportResolver["_resolver.ImportResolver<br/>Resolves raw import strings to project file p...<br/>_resolver.py:18"]:::external
    n_readmenator__resolver_py__resolve["_resolver.ImportResolver.resolve<br/>Resolve an import string to a concrete projec...<br/>_resolver.py:110"]:::external
    n_readmenator__models_py__Edge["_models.Edge<br/>A directed relationship between two nodes in...<br/>_models.py:58"]:::external
    n_readmenator__app_py__query["_app.readmenatorApplication.query<br/>_app.py:641"]:::external
    n_readmenator__query_py__QueryEngine["_query.QueryEngine<br/>In-memory query engine over the scanned knowl...<br/>_query.py:25"]:::external
    n_readmenator__query_py__query["_query.QueryEngine.query<br/>Free-text search over symbols and file paths.<br/>_query.py:355"]:::external
    n_readmenator__app_py__explain["_app.readmenatorApplication.explain<br/>_app.py:646"]:::external
    n_readmenator__query_py__explain["_query.QueryEngine.explain<br/>Return a detailed multi-line explanation of *...<br/>_query.py:238"]:::external
    n_readmenator__query_py__find_symbol["_query.QueryEngine.find_symbol<br/>Look up *name* by exact match, then by substr...<br/>_query.py:220"]:::external
    n_readmenator__query_py___find_incoming_imports["_query.QueryEngine._find_incoming_imports<br/>List all node IDs that import *target*.<br/>_query.py:277"]:::external
    n_readmenator__app_py__find_path["_app.readmenatorApplication.find_path<br/>_app.py:658"]:::external
    n_readmenator__query_py__find_path["_query.QueryEngine.find_path<br/>Find the shortest import path from *symbol_a*...<br/>_query.py:285"]:::external
    n_readmenator__query_py___make_bidirectional["_query.QueryEngine._make_bidirectional<br/>Convert a directed graph to a bidirectional one.<br/>_query.py:315"]:::external
    n_readmenator__query_py___bfs_shortest_path["_query.QueryEngine._bfs_shortest_path<br/>Run BFS to find the shortest path from *start...<br/>_query.py:331"]:::external
    n_readmenator__app_py__summary["_app.readmenatorApplication.summary<br/>_app.py:671"]:::external
    n_readmenator__query_py__summary["_query.QueryEngine.summary<br/>Return a concise overview of the loaded knowl...<br/>_query.py:411"]:::external
    n_readmenator__app_py__update["_app.readmenatorApplication.update<br/>_app.py:507"]:::external
    n_readmenator__app_py___apply_project_config["_app.readmenatorApplication._apply_project_config<br/>Ensure readmenator.toml exists and adopt it a...<br/>_app.py:101"]:::external
    n_readmenator__project_config_py__ensure_project_config["_project_config.ensure_project_config<br/>Create #96;#96;readmenator.toml#96;#96; from the template...<br/>_project_config.py:300"]:::external
    n_readmenator__config_py__Config["_config.Config<br/>Single source of truth for all readmenator se...<br/>_config.py:15"]:::external
    n_readmenator__project_config_py__config_path["_project_config.config_path<br/>Return the readmenator.toml path for a projec...<br/>_project_config.py:286"]:::external
    n_readmenator__project_config_py__template_text["_project_config.template_text<br/>Render the example #96;#96;readmenator.toml#96;#96; conte...<br/>_project_config.py:159"]:::external
    n_readmenator__project_config_py__load_project_config["_project_config.load_project_config<br/>Load #96;#96;readmenator.toml#96;#96; over a base Config...<br/>_project_config.py:544"]:::external
    n_readmenator__project_config_py__parse_toml["_project_config.parse_toml<br/>Parse TOML text with the stdlib when availabl...<br/>_project_config.py:450"]:::external
    n_readmenator___main___py__main -->|"1"| n_readmenator___main___py___run_tests
    n_readmenator___main___py__main -->|"2"| n_readmenator___main___py__build_parser
    n_readmenator___main___py__main -->|"3"| n_readmenator__app_py__readmenatorApplication
    n_readmenator___main___py__main -->|"4"| n_readmenator__app_py__generate_uml_code
    n_readmenator__app_py__generate_uml_code -->|"1"| n_readmenator__app_py___scan
    n_readmenator__app_py___scan -->|"1"| n_readmenator__app_py___resolve_imports
    n_readmenator__app_py___resolve_imports -->|"1"| n_readmenator__resolver_py__ImportResolver
    n_readmenator__app_py___resolve_imports -->|"2"| n_readmenator__resolver_py__resolve
    n_readmenator__app_py___resolve_imports -->|"3"| n_readmenator__models_py__Edge
    n_readmenator___main___py__main -->|"5"| n_readmenator__app_py__query
    n_readmenator__app_py__query -.-> n_readmenator__app_py___scan
    n_readmenator__app_py__query -->|"1"| n_readmenator__query_py__QueryEngine
    n_readmenator__app_py__query -->|"2"| n_readmenator__query_py__query
    n_readmenator___main___py__main -->|"6"| n_readmenator__app_py__explain
    n_readmenator__app_py__explain -.-> n_readmenator__app_py___scan
    n_readmenator__app_py__explain -.-> n_readmenator__query_py__QueryEngine
    n_readmenator__app_py__explain -->|"1"| n_readmenator__query_py__explain
    n_readmenator__query_py__explain -->|"1"| n_readmenator__query_py__find_symbol
    n_readmenator__query_py__explain -->|"2"| n_readmenator__query_py___find_incoming_imports
    n_readmenator___main___py__main -->|"7"| n_readmenator__app_py__find_path
    n_readmenator__app_py__find_path -.-> n_readmenator__app_py___scan
    n_readmenator__app_py__find_path -.-> n_readmenator__query_py__QueryEngine
    n_readmenator__app_py__find_path -->|"1"| n_readmenator__query_py__find_path
    n_readmenator__query_py__find_path -.-> n_readmenator__query_py__find_symbol
    n_readmenator__query_py__find_path -->|"1"| n_readmenator__query_py___make_bidirectional
    n_readmenator__query_py__find_path -->|"2"| n_readmenator__query_py___bfs_shortest_path
    n_readmenator___main___py__main -->|"8"| n_readmenator__app_py__summary
    n_readmenator__app_py__summary -.-> n_readmenator__app_py___scan
    n_readmenator__app_py__summary -.-> n_readmenator__query_py__QueryEngine
    n_readmenator__app_py__summary -->|"1"| n_readmenator__query_py__summary
    n_readmenator___main___py__main -->|"9"| n_readmenator__app_py__update
    n_readmenator__app_py__update -->|"1"| n_readmenator__app_py___apply_project_config
    n_readmenator__app_py___apply_project_config -->|"1"| n_readmenator__project_config_py__ensure_project_config
    n_readmenator__project_config_py__ensure_project_config -->|"1"| n_readmenator__config_py__Config
    n_readmenator__project_config_py__ensure_project_config -->|"2"| n_readmenator__project_config_py__config_path
    n_readmenator__project_config_py__ensure_project_config -->|"3"| n_readmenator__project_config_py__template_text
    n_readmenator__app_py___apply_project_config -->|"2"| n_readmenator__project_config_py__load_project_config
    n_readmenator__project_config_py__load_project_config -->|"1"| n_readmenator__config_py__Config
    n_readmenator__project_config_py__load_project_config -->|"2"| n_readmenator__project_config_py__config_path
    n_readmenator__project_config_py__load_project_config -->|"3"| n_readmenator__project_config_py__parse_toml
Loading

Cross-file sequence:

sequenceDiagram
    autonumber
    participant p_readmenator___main___py as __main__.py
    participant p_readmenator__app_py as _app.py
    participant p_readmenator__resolver_py as _resolver.py
    participant p_readmenator__models_py as _models.py
    participant p_readmenator__query_py as _query.py
    participant p_readmenator__project_config_py as _project_config.py
    participant p_readmenator__config_py as _config.py
    p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication()
    p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.generate_uml_code()
    p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver()
    p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver.resolve()
    p_readmenator__app_py->>p_readmenator__models_py: Edge()
    p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.query()
    p_readmenator__app_py->>p_readmenator__query_py: QueryEngine()
    p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.query()
    p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.explain()
    p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.explain()
    p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.find_path()
    p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.find_path()
    p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.summary()
    p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.summary()
    p_readmenator___main___py->>p_readmenator__app_py: readmenatorApplication.update()
    p_readmenator__app_py->>p_readmenator__project_config_py: ensure_project_config()
    p_readmenator__project_config_py->>p_readmenator__config_py: Config()
    p_readmenator__app_py->>p_readmenator__project_config_py: load_project_config()
    p_readmenator__project_config_py->>p_readmenator__config_py: Config()
Loading

_mcp_server (__main__)

readmenator/_mcp_server.py:1090, score 8: if __name__ == "__main__" guard.

Call tree:

flowchart LR
    classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
    classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
    classDef external fill:#1a1530,stroke:#a78bfa,color:#ede9fe;
    n_readmenator__mcp_server_py___main_["_mcp_server (__main__)<br/>_mcp_server.py"]:::entry
    n_readmenator__mcp_server_py__main["_mcp_server.main<br/>CLI entry point for #96;readmenator serve #lt;path#gt;#96;.<br/>_mcp_server.py:1074"]:::default
    n_readmenator__config_py__Config["_config.Config<br/>Single source of truth for all readmenator se...<br/>_config.py:15"]:::external
    n_readmenator__app_py__readmenatorApplication["_app.readmenatorApplication<br/>_app.py:54"]:::external
    n_readmenator__app_py__run["_app.readmenatorApplication.run<br/>_app.py:150"]:::external
    n_readmenator__app_py___apply_project_config["_app.readmenatorApplication._apply_project_config<br/>Ensure readmenator.toml exists and adopt it a...<br/>_app.py:101"]:::external
    n_readmenator__project_config_py__ensure_project_config["_project_config.ensure_project_config<br/>Create #96;#96;readmenator.toml#96;#96; from the template...<br/>_project_config.py:300"]:::external
    n_readmenator__project_config_py__load_project_config["_project_config.load_project_config<br/>Load #96;#96;readmenator.toml#96;#96; over a base Config...<br/>_project_config.py:544"]:::external
    n_readmenator__pipeline_py__AnalyzerFactory["_pipeline.AnalyzerFactory<br/>Lazy factory for all readmenator analyzer and...<br/>_pipeline.py:67"]:::external
    n_readmenator__pipeline_py__DeepAnalysisRunner["_pipeline.DeepAnalysisRunner<br/>Orchestrates the extended V2 analysis pipeline.<br/>_pipeline.py:484"]:::external
    n_readmenator__app_py___resolve_imports["_app.readmenatorApplication._resolve_imports<br/>_app.py:82"]:::external
    n_readmenator__resolver_py__ImportResolver["_resolver.ImportResolver<br/>Resolves raw import strings to project file p...<br/>_resolver.py:18"]:::external
    n_readmenator__resolver_py__resolve["_resolver.ImportResolver.resolve<br/>Resolve an import string to a concrete projec...<br/>_resolver.py:110"]:::external
    n_readmenator__models_py__Edge["_models.Edge<br/>A directed relationship between two nodes in...<br/>_models.py:58"]:::external
    n_readmenator__layers_py__LayerDetector["_layers.LayerDetector<br/>Detects architectural layers in a codebase.<br/>_layers.py:17"]:::external
    n_readmenator__layers_py__detect["_layers.LayerDetector.detect<br/>Assign each file node to an architectural layer.<br/>_layers.py:83"]:::external
    n_readmenator__layers_py___classify_file["_layers.LayerDetector._classify_file<br/>Classify a single file into an architectural...<br/>_layers.py:138"]:::external
    n_readmenator__layers_py__layer_summary["_layers.LayerDetector.layer_summary<br/>Count files per layer.<br/>_layers.py:189"]:::external
    n_readmenator__pipeline_py__run["_pipeline.DeepAnalysisRunner.run<br/>_pipeline.py:496"]:::external
    n_readmenator__models_py__AnalysisResultV2["_models.AnalysisResultV2<br/>Extended analysis result combining all new an...<br/>_models.py:284"]:::external
    n_readmenator__pipeline_py__build_typed_graph["_pipeline.AnalyzerFactory.build_typed_graph<br/>_pipeline.py:449"]:::external
    n_readmenator__category_py__build_category_from_edges["_category.build_category_from_edges<br/>Build a Category from lists of Edge objects.<br/>_category.py:236"]:::external
    n_readmenator__category_py__TypedGraph["_category.TypedGraph<br/>Weighted directed graph for PageRank computat...<br/>_category.py:181"]:::external
    n_readmenator__pipeline_py__make_ranker["_pipeline.AnalyzerFactory.make_ranker<br/>Create a CompositeRanker for the given typed...<br/>_pipeline.py:459"]:::external
    n_readmenator__rank_py__RankConfig["_rank.RankConfig<br/>Tuneable parameters for the ranking system.<br/>_rank.py:32"]:::external
    n_readmenator__rank_py__CompositeRanker["_rank.CompositeRanker<br/>Combines PPR, authority, test/doc coverage, a...<br/>_rank.py:411"]:::external
    n_readmenator__query_py__QueryEngine["_query.QueryEngine<br/>In-memory query engine over the scanned knowl...<br/>_query.py:25"]:::external
    n_readmenator__query_py__ranked_query["_query.QueryEngine.ranked_query<br/>Answer *query* with a ranked list of relevant...<br/>_query.py:73"]:::external
    n_readmenator__query_py___init_default_ranker["_query.QueryEngine._init_default_ranker<br/>Build a default CompositeRanker from the load...<br/>_query.py:64"]:::external
    n_readmenator__rank_py__build_seeds_from_query["_rank.build_seeds_from_query<br/>Build a PPR seed vector from a natural-langua...<br/>_rank.py:274"]:::external
    n_readmenator__query_py___estimate_test_coverage["_query.QueryEngine._estimate_test_coverage<br/>Estimate test coverage per file.<br/>_query.py:124"]:::external
    n_readmenator__query_py___estimate_doc_coverage["_query.QueryEngine._estimate_doc_coverage<br/>Estimate documentation coverage per file.<br/>_query.py:150"]:::external
    n_readmenator__rank_py__rank["_rank.CompositeRanker.rank<br/>Compute composite ranking for a query.<br/>_rank.py:438"]:::external
    n_readmenator__cache_py__FileCache["_cache.FileCache<br/>SHA256-based cache for incremental file scann...<br/>_cache.py:20"]:::external
    n_readmenator__cache_py__compute_hashes["_cache.FileCache.compute_hashes<br/>_cache.py:64"]:::external
    n_readmenator__cache_py__compute_hash["_cache.FileCache.compute_hash<br/>_cache.py:55"]:::external
    n_readmenator__cache_py__save["_cache.FileCache.save<br/>_cache.py:49"]:::external
    n_readmenator__cache_py__save_analysis["_cache.FileCache.save_analysis<br/>Save an analysis result to the semantic cache.<br/>_cache.py:95"]:::external
    n_readmenator__app_py___write_sidecar_outputs["_app.readmenatorApplication._write_sidecar_outputs<br/>_app.py:383"]:::external
    n_readmenator__app_py___maybe_write_memory["_app.readmenatorApplication._maybe_write_memory<br/>Regenerate MEMORY.md (preserving the session...<br/>_app.py:1796"]:::external
    n_readmenator__mcp_server_py___main_ -->|"1"| n_readmenator__mcp_server_py__main
    n_readmenator__mcp_server_py__main -->|"1"| n_readmenator__config_py__Config
    n_readmenator__mcp_server_py__main -->|"2"| n_readmenator__app_py__readmenatorApplication
    n_readmenator__mcp_server_py__main -->|"3"| n_readmenator__app_py__run
    n_readmenator__app_py__run -->|"1"| n_readmenator__app_py___apply_project_config
    n_readmenator__app_py___apply_project_config -->|"1"| n_readmenator__project_config_py__ensure_project_config
    n_readmenator__app_py___apply_project_config -->|"2"| n_readmenator__project_config_py__load_project_config
    n_readmenator__app_py___apply_project_config -->|"3"| n_readmenator__pipeline_py__AnalyzerFactory
    n_readmenator__app_py___apply_project_config -->|"4"| n_readmenator__pipeline_py__DeepAnalysisRunner
    n_readmenator__app_py__run -->|"2"| n_readmenator__app_py___resolve_imports
    n_readmenator__app_py___resolve_imports -->|"1"| n_readmenator__resolver_py__ImportResolver
    n_readmenator__app_py___resolve_imports -->|"2"| n_readmenator__resolver_py__resolve
    n_readmenator__app_py___resolve_imports -->|"3"| n_readmenator__models_py__Edge
    n_readmenator__app_py__run -->|"3"| n_readmenator__layers_py__LayerDetector
    n_readmenator__app_py__run -->|"4"| n_readmenator__layers_py__detect
    n_readmenator__layers_py__detect -->|"1"| n_readmenator__layers_py___classify_file
    n_readmenator__app_py__run -->|"5"| n_readmenator__layers_py__layer_summary
    n_readmenator__app_py__run -->|"6"| n_readmenator__pipeline_py__run
    n_readmenator__pipeline_py__run -->|"1"| n_readmenator__models_py__AnalysisResultV2
    n_readmenator__app_py__run -->|"7"| n_readmenator__pipeline_py__build_typed_graph
    n_readmenator__pipeline_py__build_typed_graph -->|"1"| n_readmenator__category_py__build_category_from_edges
    n_readmenator__pipeline_py__build_typed_graph -->|"2"| n_readmenator__category_py__TypedGraph
    n_readmenator__app_py__run -->|"8"| n_readmenator__pipeline_py__make_ranker
    n_readmenator__pipeline_py__make_ranker -->|"1"| n_readmenator__rank_py__RankConfig
    n_readmenator__pipeline_py__make_ranker -->|"2"| n_readmenator__rank_py__CompositeRanker
    n_readmenator__app_py__run -->|"9"| n_readmenator__query_py__QueryEngine
    n_readmenator__app_py__run -->|"10"| n_readmenator__query_py__ranked_query
    n_readmenator__query_py__ranked_query -->|"1"| n_readmenator__query_py___init_default_ranker
    n_readmenator__query_py__ranked_query -->|"2"| n_readmenator__rank_py__build_seeds_from_query
    n_readmenator__query_py__ranked_query -->|"3"| n_readmenator__category_py__build_category_from_edges
    n_readmenator__query_py__ranked_query -->|"4"| n_readmenator__query_py___estimate_test_coverage
    n_readmenator__query_py__ranked_query -->|"5"| n_readmenator__query_py___estimate_doc_coverage
    n_readmenator__query_py__ranked_query -->|"6"| n_readmenator__rank_py__rank
    n_readmenator__app_py__run -->|"11"| n_readmenator__cache_py__FileCache
    n_readmenator__app_py__run -->|"12"| n_readmenator__cache_py__compute_hashes
    n_readmenator__cache_py__compute_hashes -->|"1"| n_readmenator__cache_py__compute_hash
    n_readmenator__app_py__run -->|"13"| n_readmenator__cache_py__save
    n_readmenator__app_py__run -->|"14"| n_readmenator__cache_py__save_analysis
    n_readmenator__app_py__run -->|"15"| n_readmenator__app_py___write_sidecar_outputs
    n_readmenator__app_py__run -->|"16"| n_readmenator__app_py___maybe_write_memory
Loading

Cross-file sequence:

sequenceDiagram
    autonumber
    participant p_readmenator__mcp_server_py as _mcp_server.py
    participant p_readmenator__config_py as _config.py
    participant p_readmenator__app_py as _app.py
    participant p_readmenator__project_config_py as _project_config.py
    participant p_readmenator__pipeline_py as _pipeline.py
    participant p_readmenator__resolver_py as _resolver.py
    participant p_readmenator__models_py as _models.py
    participant p_readmenator__layers_py as _layers.py
    participant p_readmenator__category_py as _category.py
    participant p_readmenator__rank_py as _rank.py
    participant p_readmenator__query_py as _query.py
    participant p_readmenator__cache_py as _cache.py
    p_readmenator__mcp_server_py->>p_readmenator__config_py: Config()
    p_readmenator__mcp_server_py->>p_readmenator__app_py: readmenatorApplication()
    p_readmenator__mcp_server_py->>p_readmenator__app_py: readmenatorApplication.run()
    p_readmenator__app_py->>p_readmenator__project_config_py: ensure_project_config()
    p_readmenator__app_py->>p_readmenator__project_config_py: load_project_config()
    p_readmenator__app_py->>p_readmenator__pipeline_py: AnalyzerFactory()
    p_readmenator__app_py->>p_readmenator__pipeline_py: DeepAnalysisRunner()
    p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver()
    p_readmenator__app_py->>p_readmenator__resolver_py: ImportResolver.resolve()
    p_readmenator__app_py->>p_readmenator__models_py: Edge()
    p_readmenator__app_py->>p_readmenator__layers_py: LayerDetector()
    p_readmenator__app_py->>p_readmenator__layers_py: LayerDetector.detect()
    p_readmenator__app_py->>p_readmenator__layers_py: LayerDetector.layer_summary()
    p_readmenator__app_py->>p_readmenator__pipeline_py: DeepAnalysisRunner.run()
    p_readmenator__pipeline_py->>p_readmenator__models_py: AnalysisResultV2()
    p_readmenator__app_py->>p_readmenator__pipeline_py: AnalyzerFactory.build_typed_graph()
    p_readmenator__pipeline_py->>p_readmenator__category_py: build_category_from_edges()
    p_readmenator__pipeline_py->>p_readmenator__category_py: TypedGraph()
    p_readmenator__app_py->>p_readmenator__pipeline_py: AnalyzerFactory.make_ranker()
    p_readmenator__pipeline_py->>p_readmenator__rank_py: RankConfig()
    p_readmenator__pipeline_py->>p_readmenator__rank_py: CompositeRanker()
    p_readmenator__app_py->>p_readmenator__query_py: QueryEngine()
    p_readmenator__app_py->>p_readmenator__query_py: QueryEngine.ranked_query()
    p_readmenator__query_py->>p_readmenator__rank_py: build_seeds_from_query()
    p_readmenator__query_py->>p_readmenator__category_py: build_category_from_edges()
    p_readmenator__query_py->>p_readmenator__rank_py: CompositeRanker.rank()
    p_readmenator__app_py->>p_readmenator__cache_py: FileCache()
    p_readmenator__app_py->>p_readmenator__cache_py: FileCache.compute_hashes()
    p_readmenator__app_py->>p_readmenator__cache_py: FileCache.save()
    p_readmenator__app_py->>p_readmenator__cache_py: FileCache.save_analysis()
Loading

readmenator_orchestrator (__main__)

readmenator_orchestrator.py:516, score 8: if __name__ == "__main__" guard.

Call tree:

flowchart LR
    classDef default fill:#111827,stroke:#38bdf8,color:#e5e7eb;
    classDef entry fill:#0e7490,stroke:#22d3ee,color:#ecfeff,stroke-width:2px;
    n_readmenator_orchestrator_py___main_["readmenator_orchestrator (__main__)<br/>readmenator_orchestrator.py"]:::entry
    n_readmenator_orchestrator_py__main["readmenator_orchestrator.main<br/>readmenator_orchestrator.py:498"]:::default
    n_readmenator_orchestrator_py__parse_arguments["readmenator_orchestrator.parse_arguments<br/>readmenator_orchestrator.py:481"]:::default
    n_readmenator_orchestrator_py__Config["readmenator_orchestrator.Config<br/>readmenator_orchestrator.py:21"]:::default
    n_readmenator_orchestrator_py__Orchestrator["readmenator_orchestrator.Orchestrator<br/>readmenator_orchestrator.py:366"]:::default
    n_readmenator_orchestrator_py__run["readmenator_orchestrator.Orchestrator.run<br/>readmenator_orchestrator.py:372"]:::default
    n_readmenator_orchestrator_py__list_repos["readmenator_orchestrator.GitHubClient.list_repos<br/>readmenator_orchestrator.py:124"]:::default
    n_readmenator_orchestrator_py___safe_env["readmenator_orchestrator._safe_env<br/>readmenator_orchestrator.py:68"]:::default
    n_readmenator_orchestrator_py__close_existing_prs["readmenator_orchestrator.GitHubClient.close_existing_prs<br/>readmenator_orchestrator.py:136"]:::default
    n_readmenator_orchestrator_py___validate_repo_name["readmenator_orchestrator._validate_repo_name<br/>readmenator_orchestrator.py:56"]:::default
    n_readmenator_orchestrator_py___validate_branch_name["readmenator_orchestrator._validate_branch_name<br/>readmenator_orchestrator.py:62"]:::default
    n_readmenator_orchestrator_py__delete_remote_branch["readmenator_orchestrator.GitHubClient.delete_remote_branch<br/>readmenator_orchestrator.py:164"]:::default
    n_readmenator_orchestrator_py__process["readmenator_orchestrator.RepositoryProcessor.process<br/>readmenator_orchestrator.py:202"]:::default
    n_readmenator_orchestrator_py___get_default_branch["readmenator_orchestrator.RepositoryProcessor._get_default...<br/>readmenator_orchestrator.py:231"]:::default
    n_readmenator_orchestrator_py___clone_repository["readmenator_orchestrator.RepositoryProcessor._clone_repos...<br/>readmenator_orchestrator.py:247"]:::default
    n_readmenator_orchestrator_py___run_readmenator["readmenator_orchestrator.RepositoryProcessor._run_readmen...<br/>readmenator_orchestrator.py:263"]:::default
    n_readmenator_orchestrator_py___copy_to_docs_dir["readmenator_orchestrator.RepositoryProcessor._copy_to_doc...<br/>readmenator_orchestrator.py:293"]:::default
    n_readmenator_orchestrator_py___commit_and_push["readmenator_orchestrator.RepositoryProcessor._commit_and_...<br/>readmenator_orchestrator.py:313"]:::default
    n_readmenator_orchestrator_py___cleanup_temp_dir["readmenator_orchestrator.RepositoryProcessor._cleanup_tem...<br/>readmenator_orchestrator.py:361"]:::default
    n_readmenator_orchestrator_py___main_ -->|"1"| n_readmenator_orchestrator_py__main
    n_readmenator_orchestrator_py__main -->|"1"| n_readmenator_orchestrator_py__parse_arguments
    n_readmenator_orchestrator_py__main -->|"2"| n_readmenator_orchestrator_py__Config
    n_readmenator_orchestrator_py__main -->|"3"| n_readmenator_orchestrator_py__Orchestrator
    n_readmenator_orchestrator_py__main -->|"4"| n_readmenator_orchestrator_py__run
    n_readmenator_orchestrator_py__run -->|"1"| n_readmenator_orchestrator_py__list_repos
    n_readmenator_orchestrator_py__list_repos -->|"1"| n_readmenator_orchestrator_py___safe_env
    n_readmenator_orchestrator_py__run -->|"2"| n_readmenator_orchestrator_py__close_existing_prs
    n_readmenator_orchestrator_py__close_existing_prs -->|"1"| n_readmenator_orchestrator_py___validate_repo_name
    n_readmenator_orchestrator_py__close_existing_prs -->|"2"| n_readmenator_orchestrator_py___validate_branch_name
    n_readmenator_orchestrator_py__close_existing_prs -->|"3"| n_readmenator_orchestrator_py___safe_env
    n_readmenator_orchestrator_py__run -->|"3"| n_readmenator_orchestrator_py__delete_remote_branch
    n_readmenator_orchestrator_py__delete_remote_branch -->|"1"| n_readmenator_orchestrator_py___validate_repo_name
    n_readmenator_orchestrator_py__delete_remote_branch -->|"2"| n_readmenator_orchestrator_py___validate_branch_name
    n_readmenator_orchestrator_py__delete_remote_branch -->|"3"| n_readmenator_orchestrator_py___safe_env
    n_readmenator_orchestrator_py__run -->|"4"| n_readmenator_orchestrator_py__process
    n_readmenator_orchestrator_py__process -->|"1"| n_readmenator_orchestrator_py___validate_repo_name
    n_readmenator_orchestrator_py__process -->|"2"| n_readmenator_orchestrator_py___get_default_branch
    n_readmenator_orchestrator_py__process -->|"3"| n_readmenator_orchestrator_py___clone_repository
    n_readmenator_orchestrator_py__process -->|"4"| n_readmenator_orchestrator_py___run_readmenator
    n_readmenator_orchestrator_py__process -->|"5"| n_readmenator_orchestrator_py___copy_to_docs_dir
    n_readmenator_orchestrator_py__process -->|"6"| n_readmenator_orchestrator_py___commit_and_push
    n_readmenator_orchestrator_py__process -->|"7"| n_readmenator_orchestrator_py___cleanup_temp_dir
Loading

Ranked Context

Files ranked by composite score for the current query context. The ranking combines Personalized PageRank (query relevance), global authority, test coverage, documentation coverage, and code freshness. Model: v1.0.

Rank File Composite PPR Authority Test Doc
1 _config.py 0.2817 0.1193 0.1399 0.00 2.00
2 deploy.sh 0.2000 0.0000 0.0000 0.00 2.00
3 _models.py 0.1883 0.1271 0.1339 0.00 1.04
4 _apidocs_page.py 0.1520 0.0026 0.0039 0.00 1.50
5 _flowpage.py 0.1361 0.0039 0.0049 0.00 1.33
6 _c.py 0.1340 0.0000 0.0032 0.00 1.33
7 _category.py 0.1332 0.1270 0.1301 0.00 0.50
8 _gitmeta.py 0.1286 0.0056 0.0056 0.00 1.25
9 _mermaid.py 0.1273 0.0032 0.0043 0.00 1.25
10 _scantext.py 0.1256 0.0000 0.0030 0.00 1.25

Query anchors: readmenator/_flowcharts.py, tests/test_ranking.py, tests/test_agent_friendliness.py, readmenator/_linter.py, readmenator/_agent_output.py, tests/test_documentation.py, tests/test_linter.py, tests/test_rule_gen.py (+6 more)

Top result justification paths:

_flowcharts.py -> _apidocs.py -> _config.py _flowcharts.py -> _apidocs.py -> _symindex.py -> _config.py


God Nodes

Most architecturally central files ranked by combined import/export degree and symbol richness.

File Score Connections PageRank
_models.py 206.3 0.1339
_config.py 200.1 0.1399
_pipeline.py 93.3 0.0000
_app.py 92.7 0.0000
__init__.py 48.2 0.0000
_base.py 44.6 0.0000
_forcegraph.py 44.3 0.0000
test_parsers_property.py 42.7 0.0000
_diagrams.py 39.7 0.0000
test_interactive_graph.py 34.0 0.0000

Community Analysis

Files grouped by import-based community detection. Cohesion measures how tightly connected each community is internally.

readmenator: _video (Cohesion: 0.30)

35 files in this community:

  • readmenator.py (py, 0 symbols)
  • __main__.py (py, 3 symbols)
  • _app.py (py, 87 symbols)
  • _config.py (py, 1 symbols)
  • _cursorrules_generator.py (py, 8 symbols)
  • _dataflow.py (py, 21 symbols)
  • _dead_code.py (py, 5 symbols)
  • _hotspots.py (py, 7 symbols)
  • _layer_rules.py (py, 4 symbols)
  • _layers.py (py, 7 symbols)
  • _linter.py (py, 8 symbols)
  • _mcp_server.py (py, 64 symbols)
  • _refactorizer.py (py, 9 symbols)
  • _video.py (py, 90 symbols)
  • _watcher.py (py, 5 symbols)
  • _yaralite.py (py, 20 symbols)
  • test_config.py (py, 6 symbols)
  • test_cpg.py (py, 11 symbols)
  • test_cursorrules.py (py, 12 symbols)
  • test_dataflow.py (py, 47 symbols)
  • ... and 15 more files

readmenator/parsers (Cohesion: 0.52)

35 files in this community:

  • _mermaid.py (py, 4 symbols)
  • _models.py (py, 23 symbols)
  • _rule_gen.py (py, 9 symbols)
  • _sarif.py (py, 5 symbols)
  • _scanner.py (py, 14 symbols)
  • _taint.py (py, 6 symbols)
  • __init__.py (py, 2 symbols)
  • _assembly.py (py, 2 symbols)
  • _base.py (py, 6 symbols)
  • _c.py (py, 3 symbols)
  • _csharp.py (py, 2 symbols)
  • _dart.py (py, 2 symbols)
  • _elixir.py (py, 2 symbols)
  • _gdscript.py (py, 2 symbols)
  • _go.py (py, 2 symbols)
  • _java.py (py, 2 symbols)
  • _javascript.py (py, 2 symbols)
  • _kotlin.py (py, 2 symbols)
  • _lua.py (py, 2 symbols)
  • _nim.py (py, 2 symbols)
  • ... and 15 more files

readmenator: _agent_output (Cohesion: 0.33)

19 files in this community:

  • _agent_output.py (py, 33 symbols)
  • _analyzer.py (py, 23 symbols)
  • _cache.py (py, 14 symbols)
  • _folder_readme.py (py, 7 symbols)
  • _gh_wiki.py (py, 18 symbols)
  • _gitmeta.py (py, 4 symbols)
  • _memory.py (py, 30 symbols)
  • _purpose.py (py, 7 symbols)
  • _resolver.py (py, 17 symbols)
  • _security.py (py, 32 symbols)
  • _wiki.py (py, 32 symbols)
  • test_agent_friendliness.py (py, 59 symbols)
  • test_analyzer.py (py, 14 symbols)
  • test_cache.py (py, 22 symbols)
  • test_folder_readme.py (py, 20 symbols)
  • test_gh_wiki.py (py, 17 symbols)
  • test_resolver.py (py, 22 symbols)
  • test_security.py (py, 68 symbols)
  • test_wiki.py (py, 30 symbols)

readmenator: _graphrag (Cohesion: 0.32)

18 files in this community:

  • __init__.py (py, 0 symbols)
  • _category.py (py, 26 symbols)
  • _components.py (py, 25 symbols)
  • _concepts.py (py, 8 symbols)
  • _explain.py (py, 3 symbols)
  • _graphrag.py (py, 53 symbols)
  • _ollama.py (py, 7 symbols)
  • _projections.py (py, 15 symbols)
  • _query.py (py, 17 symbols)
  • _rank.py (py, 18 symbols)
  • _skill_installer.py (py, 7 symbols)
  • test_components.py (py, 36 symbols)
  • test_concepts.py (py, 8 symbols)
  • test_graphrag.py (py, 28 symbols)
  • test_memory.py (py, 17 symbols)
  • test_ollama.py (py, 4 symbols)
  • test_query.py (py, 18 symbols)
  • test_ranking.py (py, 72 symbols)

readmenator: _pipeline (Cohesion: 0.26)

17 files in this community:

  • _agent_injector.py (py, 14 symbols)
  • _analytics.py (py, 9 symbols)
  • _cpg.py (py, 6 symbols)
  • _documentation.py (py, 31 symbols)
  • _embed.py (py, 11 symbols)
  • _exclusions.py (py, 11 symbols)
  • _explorer.py (py, 14 symbols)
  • _exporter.py (py, 16 symbols)
  • _pipeline.py (py, 53 symbols)
  • _provenance.py (py, 10 symbols)
  • _readme_injector.py (py, 9 symbols)
  • _scantext.py (py, 4 symbols)
  • _uml.py (py, 25 symbols)
  • test_agent_injector.py (py, 38 symbols)
  • test_agent_output.py (py, 45 symbols)
  • test_interactive_graph.py (py, 60 symbols)
  • test_readme_injector.py (py, 28 symbols)

readmenator: _diagrams (Cohesion: 0.39)

15 files in this community:

  • _bundlegraph.py (py, 8 symbols)
  • _bundlegraph_page.py (py, 0 symbols)
  • _diagrams.py (py, 97 symbols)
  • _forcegraph.py (py, 23 symbols)
  • _forcegraph_page.py (py, 0 symbols)
  • _graphlayout.py (py, 26 symbols)
  • _htmlpack.py (py, 5 symbols)
  • _project_config.py (py, 18 symbols)
  • _sourceview.py (py, 8 symbols)
  • _viewer_ui.py (py, 7 symbols)
  • test_bundlegraph.py (py, 27 symbols)
  • test_graphlayout.py (py, 33 symbols)
  • test_layout_quality.py (py, 16 symbols)
  • test_project_config.py (py, 33 symbols)
  • test_sourceview.py (py, 23 symbols)

readmenator: _flowcharts (Cohesion: 0.44)

12 files in this community:

  • _apidocs.py (py, 52 symbols)
  • _apidocs_page.py (py, 2 symbols)
  • _apidocs_render.py (py, 45 symbols)
  • _docstrings.py (py, 30 symbols)
  • _flowcharts.py (py, 54 symbols)
  • _flowlayout.py (py, 11 symbols)
  • _flowpage.py (py, 3 symbols)
  • _pytypes.py (py, 16 symbols)
  • _symindex.py (py, 22 symbols)
  • test_apidocs.py (py, 48 symbols)
  • test_flowcharts.py (py, 35 symbols)
  • test_symindex.py (py, 10 symbols)

Surprising Connections

Files in different communities connected through 3+ indirect hops.

  • _docstrings.py <-> test_graphlayout.py (5 hops, across 3 communities)
  • readmenator.py <-> test_agent_injector.py (5 hops, across 2 communities)
  • readmenator.py <-> test_graphlayout.py (5 hops, across 2 communities)
  • readmenator.py <-> test_readme_injector.py (5 hops, across 3 communities)
  • test_agent_injector.py <-> test_graphlayout.py (5 hops, across 2 communities)

Suggested Questions

Auto-generated exploration prompts based on graph structure:

  • What does _models.py depend on, and what depends on it? (102 connections)
  • What does _config.py depend on, and what depends on it? (100 connections)
  • What does _pipeline.py depend on, and what depends on it? (44 connections)
  • How are the 35 files in 'readmenator: _video' related to each other?
  • Why are _docstrings.py and test_graphlayout.py connected through 5 hops across 3 communities?

Force-Graph Explorer

Heterogeneous explorer payload (files, communities, layers, externals) rendered with force-graph physics, stable family colors, log2 node sizing, and convex-hull community overlays. Open readmenator-maps/graph-force.html (linked from the maps gallery) or run explorer.

  • Nodes: 217 (community: 7, external: 49, file: 155, layer: 6)
  • Edges: 1638

Corpus Analytics

Attribution funnel and distributions for the explorer dashboard.

  • Files: 155 | With symbols: 150 | Attributed: 151 | God nodes: 10 | Symbols: 3029

  • Layer utility: 84 files

  • Layer testing: 55 files

  • Layer presentation: 6 files

  • Layer infrastructure: 5 files

  • Layer business_logic: 3 files

  • Layer data_access: 2 files

  • Language py: 153 files

  • Language js: 1 files

  • Language sh: 1 files


Taint Propagation Map

Taint analysis traces how dangerous imports propagate through the codebase via transitive dependencies. Source files import dangerous modules directly; sink files receive the danger indirectly.

Taint Sources: 3 | Taint Sinks: 26 | Propagation Paths: 20

  • _agent_injector.py imports subprocess (0 hop to _agent_injector.py) [high] Path: _agent_injector.py
  • _diagrams.py imports subprocess (0 hop to _diagrams.py) [high] Path: _diagrams.py
  • _diagrams.py imports subprocess (1 hop to _models.py) [high] Path: _diagrams.py -> _models.py
  • _diagrams.py imports subprocess (1 hop to _htmlpack.py) [high] Path: _diagrams.py -> _htmlpack.py
  • _diagrams.py imports subprocess (1 hop to _viewer_ui.py) [high] Path: _diagrams.py -> _viewer_ui.py
  • _diagrams.py imports subprocess (1 hop to _folder_readme.py) [high] Path: _diagrams.py -> _folder_readme.py
  • _diagrams.py imports subprocess (1 hop to _config.py) [high] Path: _diagrams.py -> _config.py
  • _diagrams.py imports subprocess (1 hop to _project_config.py) [high] Path: _diagrams.py -> _project_config.py
  • _diagrams.py imports subprocess (2 hops to _category.py) [high] Path: _diagrams.py -> _models.py -> _category.py
  • _documentation.py imports subprocess (0 hop to _documentation.py) [high] Path: _documentation.py
  • _documentation.py imports subprocess (1 hop to _models.py) [high] Path: _documentation.py -> _models.py
  • _documentation.py imports subprocess (1 hop to _flowcharts.py) [high] Path: _documentation.py -> _flowcharts.py
  • _documentation.py imports subprocess (1 hop to _forcegraph.py) [high] Path: _documentation.py -> _forcegraph.py
  • _documentation.py imports subprocess (1 hop to _cpg.py) [high] Path: _documentation.py -> _cpg.py
  • _documentation.py imports subprocess (1 hop to _uml.py) [high] Path: _documentation.py -> _uml.py
  • _documentation.py imports subprocess (1 hop to _mermaid.py) [high] Path: _documentation.py -> _mermaid.py
  • _documentation.py imports subprocess (1 hop to _analytics.py) [high] Path: _documentation.py -> _analytics.py
  • _documentation.py imports subprocess (1 hop to _rank.py) [high] Path: _documentation.py -> _rank.py
  • _documentation.py imports subprocess (1 hop to _config.py) [high] Path: _documentation.py -> _config.py
  • _documentation.py imports subprocess (2 hops to _category.py) [high] Path: _documentation.py -> _models.py -> _category.py

Hotspot Analysis

Files ranked by combined complexity (symbol count) and centrality (connection count). High-scoring files are architecturally critical and may need refactoring attention.

File Complexity Centrality Combined Symbols Connections
_config.py 0.010 0.061 0.041 1 105
deploy.sh 0.010 0.000 0.004 1 0
_models.py 0.237 0.069 0.136 23 119
_apidocs_page.py 0.021 0.010 0.015 2 18
_flowpage.py 0.031 0.012 0.020 3 21
_c.py 0.031 0.005 0.015 3 8
_category.py 0.268 0.007 0.112 26 13
_gitmeta.py 0.041 0.005 0.019 4 8
_mermaid.py 0.041 0.004 0.019 4 7
_scantext.py 0.041 0.005 0.019 4 8
force-graph.min.js 0.361 1.000 0.744 35 1732
_diagrams.py 1.000 0.025 0.415 97 43
_app.py 0.897 0.054 0.391 87 93
_video.py 0.928 0.022 0.385 90 39
test_parsers.py 0.897 0.004 0.361 87 6

Concept Graph

Semantic second-brain layer: nouns are concept nodes, verbs are edges. Each noun maps atomically to a file set (EXTRACTED); each verb aggregates structural imports, calls, and inherits into consumes, invokes, extends, depends_on, or bridges (INFERRED).

50 concepts, 100 relations.

Concept Files Mentions
readmenator 104 201
returns 98 496
file 91 652
graph 73 353
node 67 267
files 66 209
when 65 231
args 62 372
symbols 61 100
empty 60 132
project 59 296
edges 59 292
return 59 287
imports 56 87
nodes 55 222
build 54 256
contract 54 227
config 54 157
symbol 53 155
every 53 134
all 53 91
one 52 189
set 52 110
text 51 241
import 51 188
content 51 108
path 49 198
source 49 180
map 47 198
edge 47 145

Verb Edges

Source Verb Target Strength Evidence
graph depends_on readmenator 1.00 10
file depends_on readmenator 0.99 10
graph depends_on file 0.93 10
readmenator depends_on file 0.93 10
returns depends_on readmenator 0.91 10
project depends_on readmenator 0.87 10
build depends_on readmenator 0.85 10
project depends_on file 0.80 10
return depends_on readmenator 0.80 10
returns depends_on file 0.80 10
text depends_on readmenator 0.80 10
map depends_on readmenator 0.79 10
build depends_on file 0.78 10
files depends_on readmenator 0.78 10
graph depends_on every 0.77 10
node depends_on readmenator 0.77 10
edge depends_on readmenator 0.76 10
file depends_on graph 0.76 10
readmenator depends_on every 0.76 10
readmenator depends_on source 0.75 10
file depends_on every 0.74 10
readmenator depends_on graph 0.74 10
symbol depends_on readmenator 0.73 10
edges depends_on readmenator 0.72 10
file depends_on source 0.72 10
files depends_on file 0.72 10
graph depends_on source 0.72 10
node depends_on file 0.72 10
source depends_on readmenator 0.72 10
all depends_on readmenator 0.71 10

Dialectic Prompts

  • Thesis: all centralizes 53 files; Antithesis: build pulls 54 files with 28 shared (Jaccard 0.35); Synthesis: should they merge, split by layer, or keep bridges explicit?
  • Thesis: all centralizes 53 files; Antithesis: content pulls 51 files with 24 shared (Jaccard 0.30); Synthesis: should they merge, split by layer, or keep bridges explicit?
  • Thesis: all centralizes 53 files; Antithesis: directory pulls 38 files with 22 shared (Jaccard 0.32); Synthesis: should they merge, split by layer, or keep bridges explicit?
  • Thesis: all centralizes 53 files; Antithesis: every pulls 53 files with 27 shared (Jaccard 0.34); Synthesis: should they merge, split by layer, or keep bridges explicit?
  • Thesis: all centralizes 53 files; Antithesis: file pulls 91 files with 43 shared (Jaccard 0.43); Synthesis: should they merge, split by layer, or keep depends_on explicit?
  • Thesis: all centralizes 53 files; Antithesis: files pulls 66 files with 34 shared (Jaccard 0.40); Synthesis: should they merge, split by layer, or keep bridges explicit?
  • Thesis: all centralizes 53 files; Antithesis: graph pulls 73 files with 33 shared (Jaccard 0.35); Synthesis: should they merge, split by layer, or keep depends_on explicit?
  • Thesis: all centralizes 53 files; Antithesis: list pulls 39 files with 27 shared (Jaccard 0.42); Synthesis: should they merge, split by layer, or keep bridges explicit?
  • Thesis: all centralizes 53 files; Antithesis: map pulls 47 files with 24 shared (Jaccard 0.32); Synthesis: should they merge, split by layer, or keep bridges explicit?
  • Thesis: all centralizes 53 files; Antithesis: nodes pulls 55 files with 28 shared (Jaccard 0.35); Synthesis: should they merge, split by layer, or keep bridges explicit?

Change Impact Analysis

Files sorted by how many other files would be affected if they changed. High-impact files should be changed with caution.

File Direct Dependents Transitive Dependents Total Impact
_category.py 9 50 104
_models.py 50 0 101
_config.py 50 0 100
_base.py 20 25 45
_purpose.py 7 31 38
_rank.py 11 27 38
_resolver.py 7 29 36
_project_config.py 9 25 34
_htmlpack.py 8 25 33
_viewer_ui.py 5 28 33
_graphlayout.py 5 26 31
_symindex.py 7 24 31
_forcegraph_page.py 3 26 29
_sourceview.py 4 25 29
_flowlayout.py 6 22 28

Architecture Violations

Violations of architectural layer rules detected in the import graph. 11 strict violations, 0 warnings.

Source Source Layer Target Target Layer Description Severity
test_apidocs.py testing _apidocs_page.py presentation testing must not import presentation strict
test_apidocs.py testing _apidocs_render.py presentation testing must not import presentation strict
test_components.py testing _components.py presentation testing must not import presentation strict
test_flowcharts.py testing _apidocs_page.py presentation testing must not import presentation strict
test_folder_readme.py testing _components.py presentation testing must not import presentation strict
test_layout_quality.py testing _forcegraph_page.py presentation testing must not import presentation strict
test_project_config.py testing _viewer_ui.py presentation testing must not import presentation strict
test_project_config.py testing _viewer_ui.py presentation testing must not import presentation strict
test_project_config.py testing _viewer_ui.py presentation testing must not import presentation strict
test_project_config.py testing _forcegraph_page.py presentation testing must not import presentation strict
test_project_config.py testing _bundlegraph_page.py presentation testing must not import presentation strict

Suggested Linting Rules

Automatically suggested linting and security rules based on patterns detected in the codebase. These can be exported as Semgrep rules using the --export-rules flag.

Rule ID Severity Description Language Matches
RM001 info Large number of functions in py: 2635 total py 2635
RM002 info Large number of functions in js: 30 total js 30
RM003 info Print statement found (consider logging instead) python 39

Orphans

Files with no documentation or low connectivity. These are candidates for documentation investment or cleanup.

  • __init__.py (0 symbols, no doc)
  • test_agent_output.py (45 symbols, no doc)
  • test_config.py (6 symbols, no doc)
  • test_dataflow.py (47 symbols, no doc)
  • test_documentation.py (29 symbols, no doc)
  • test_integration.py (16 symbols, no doc)
  • test_models.py (11 symbols, no doc)
  • test_parsers.py (87 symbols, no doc)
  • test_query.py (18 symbols, no doc)
  • test_scanner.py (21 symbols, no doc)
  • test_wiki.py (30 symbols, no doc)

Query Recipes

Example queries you can run against this knowledge base using the ranking engine:

# Find files most relevant to a concept
readmenator query "Where is the import resolver implemented?"

# Rank files by relevance to a topic
readmenator query "How does documentation generation work?"

# Explain why a file ranks highly
readmenator query "explain readmenator/_documentation.py"

# Trace dependency paths with ranked context
readmenator query "path from CLI to exporter"

The ranking model uses the following signals:

  • Personalized PageRank (45% weight): query-specific relevance via seed propagation
  • Global Authority (20% weight): structural importance via standard PageRank
  • Test Coverage (15% weight): fraction of symbols referenced in test files
  • Doc Coverage (10% weight): presence of docstrings and file-level docs
  • Freshness (10% weight): recent modification activity

Results include score decomposition and justification paths for each ranked item.


Structural Knowledge Map

Note: The visual graph below has been intelligently pruned to the top 300 most relevant nodes to prevent rendering crashes. Full details of all files are documented in the Architecture Reference.

graph LR
    classDef mod fill:#1e1e1e,stroke:#ff6666,stroke-width:2px,color:#fff;
    classDef cls fill:#2d2d2d,stroke:#4ec9b0,stroke-width:2px,color:#fff;
    classDef fn fill:#333,stroke:#dcdcaa,stroke-width:1px,color:#dcdcaa;
    classDef ext fill:#111,stroke:#666,stroke-dasharray:5 5,color:#aaa;
    readmenator__vendor_force_graph_min_js["force-graph.min.js (js)"]
    class readmenator__vendor_force_graph_min_js mod;
    readmenator__vendor_force_graph_min_js_t["t"]
    class readmenator__vendor_force_graph_min_js_t fn;
    readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_t
    readmenator__vendor_force_graph_min_js_n["n"]
    class readmenator__vendor_force_graph_min_js_n fn;
    readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_n
    readmenator__vendor_force_graph_min_js_e["e"]
    class readmenator__vendor_force_graph_min_js_e fn;
    readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_e
    readmenator__vendor_force_graph_min_js_h["h"]
    class readmenator__vendor_force_graph_min_js_h fn;
    readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_h
    readmenator__vendor_force_graph_min_js_s["s"]
    class readmenator__vendor_force_graph_min_js_s fn;
    readmenator__vendor_force_graph_min_js --> readmenator__vendor_force_graph_min_js_s
    subgraph community_4 ["readmenator: _pipeline"]
    readmenator__pipeline_py["_pipeline.py (py)"]
    class readmenator__pipeline_py mod;
    end
    subgraph community_0 ["readmenator: _video"]
    readmenator__app_py["_app.py (py)"]
    class readmenator__app_py mod;
    end
    subgraph community_2 ["readmenator: _agent_output"]
    tests_test_agent_friendliness_py["test_agent_friendliness.py (py)"]
    class tests_test_agent_friendliness_py mod;
    end
    subgraph community_1 ["readmenator/parsers"]
    tests_test_parsers_property_py["test_parsers_property.py (py)"]
    class tests_test_parsers_property_py mod;
    readmenator_parsers___init___py["__init__.py (py)"]
    class readmenator_parsers___init___py mod;
    tests_test_diagrams_py["test_diagrams.py (py)"]
    class tests_test_diagrams_py mod;
    tests_test_interactive_graph_py["test_interactive_graph.py (py)"]
    class tests_test_interactive_graph_py mod;
    end
    subgraph community_5 ["readmenator: _diagrams"]
    tests_test_project_config_py["test_project_config.py (py)"]
    class tests_test_project_config_py mod;
    tests_test_agent_output_py["test_agent_output.py (py)"]
    class tests_test_agent_output_py mod;
    readmenator__video_py["_video.py (py)"]
    class readmenator__video_py mod;
    readmenator__diagrams_py["_diagrams.py (py)"]
    class readmenator__diagrams_py mod;
    readmenator__forcegraph_py["_forcegraph.py (py)"]
    class readmenator__forcegraph_py mod;
    end
    subgraph community_3 ["readmenator: _graphrag"]
    readmenator___init___py["__init__.py (py)"]
    class readmenator___init___py mod;
    readmenator__agent_output_py["_agent_output.py (py)"]
    class readmenator__agent_output_py mod;
    tests_test_bundlegraph_py["test_bundlegraph.py (py)"]
    class tests_test_bundlegraph_py mod;
    readmenator__components_py["_components.py (py)"]
    class readmenator__components_py mod;
    end
    subgraph community_6 ["readmenator: _flowcharts"]
    tests_test_apidocs_py["test_apidocs.py (py)"]
    class tests_test_apidocs_py mod;
    tests_test_components_py["test_components.py (py)"]
    class tests_test_components_py mod;
    tests_test_flowcharts_py["test_flowcharts.py (py)"]
    class tests_test_flowcharts_py mod;
    readmenator__wiki_py["_wiki.py (py)"]
    class readmenator__wiki_py mod;
    readmenator__graphrag_py["_graphrag.py (py)"]
    class readmenator__graphrag_py mod;
    readmenator__documentation_py["_documentation.py (py)"]
    class readmenator__documentation_py mod;
    readmenator__bundlegraph_py["_bundlegraph.py (py)"]
    class readmenator__bundlegraph_py mod;
    tests_test_folder_readme_py["test_folder_readme.py (py)"]
    class tests_test_folder_readme_py mod;
    readmenator__flowcharts_py["_flowcharts.py (py)"]
    class readmenator__flowcharts_py mod;
    readmenator__apidocs_render_py["_apidocs_render.py (py)"]
    class readmenator__apidocs_render_py mod;
    readmenator__explorer_py["_explorer.py (py)"]
    class readmenator__explorer_py mod;
    tests_test_wiki_py["test_wiki.py (py)"]
    class tests_test_wiki_py mod;
    tests_test_htmlpack_py["test_htmlpack.py (py)"]
    class tests_test_htmlpack_py mod;
    readmenator___main___py["__main__.py (py)"]
    class readmenator___main___py mod;
    readmenator__apidocs_py["_apidocs.py (py)"]
    class readmenator__apidocs_py mod;
    tests_test_sourceview_py["test_sourceview.py (py)"]
    class tests_test_sourceview_py mod;
    tests_test_layout_quality_py["test_layout_quality.py (py)"]
    class tests_test_layout_quality_py mod;
    tests_test_documentation_py["test_documentation.py (py)"]
    class tests_test_documentation_py mod;
    tests_test_taint_bdd_py["test_taint_bdd.py (py)"]
    class tests_test_taint_bdd_py mod;
    readmenator__gh_wiki_py["_gh_wiki.py (py)"]
    class readmenator__gh_wiki_py mod;
    tests_test_gh_wiki_py["test_gh_wiki.py (py)"]
    class tests_test_gh_wiki_py mod;
    tests_test_refactorizer_py["test_refactorizer.py (py)"]
    class tests_test_refactorizer_py mod;
    readmenator__exporter_py["_exporter.py (py)"]
    class readmenator__exporter_py mod;
    readmenator_orchestrator_py["readmenator_orchestrator.py (py)"]
    class readmenator_orchestrator_py mod;
    readmenator__memory_py["_memory.py (py)"]
    class readmenator__memory_py mod;
    tests_test_memory_py["test_memory.py (py)"]
    class tests_test_memory_py mod;
    readmenator__flowpage_py["_flowpage.py (py)"]
    class readmenator__flowpage_py mod;
    readmenator__apidocs_page_py["_apidocs_page.py (py)"]
    class readmenator__apidocs_page_py mod;
    readmenator__mcp_server_py["_mcp_server.py (py)"]
    class readmenator__mcp_server_py mod;
    tests_test_ranking_py["test_ranking.py (py)"]
    class tests_test_ranking_py mod;
    tests_test_dataflow_py["test_dataflow.py (py)"]
    class tests_test_dataflow_py mod;
    tests_test_graphrag_py["test_graphrag.py (py)"]
    class tests_test_graphrag_py mod;
    tests_test_mcp_server_py["test_mcp_server.py (py)"]
    class tests_test_mcp_server_py mod;
    tests_test_scanner_py["test_scanner.py (py)"]
    class tests_test_scanner_py mod;
    tests_test_video_py["test_video.py (py)"]
    class tests_test_video_py mod;
    readmenator__project_config_py["_project_config.py (py)"]
    class readmenator__project_config_py mod;
    readmenator__viewer_ui_py["_viewer_ui.py (py)"]
    class readmenator__viewer_ui_py mod;
    tests_test_security_py["test_security.py (py)"]
    class tests_test_security_py mod;
    readmenator__scanner_py["_scanner.py (py)"]
    class readmenator__scanner_py mod;
    readmenator__linter_py["_linter.py (py)"]
    class readmenator__linter_py mod;
    tests_test_readme_injector_py["test_readme_injector.py (py)"]
    class tests_test_readme_injector_py mod;
    readmenator__analyzer_py["_analyzer.py (py)"]
    class readmenator__analyzer_py mod;
    readmenator__symindex_py["_symindex.py (py)"]
    class readmenator__symindex_py mod;
    tests_test_cache_py["test_cache.py (py)"]
    class tests_test_cache_py mod;
    tests_test_analyzer_py["test_analyzer.py (py)"]
    class tests_test_analyzer_py mod;
    tests_test_cursorrules_py["test_cursorrules.py (py)"]
    class tests_test_cursorrules_py mod;
    tests_test_rule_gen_py["test_rule_gen.py (py)"]
    class tests_test_rule_gen_py mod;
    readmenator__rule_gen_py["_rule_gen.py (py)"]
    class readmenator__rule_gen_py mod;
    readmenator__security_py["_security.py (py)"]
    class readmenator__security_py mod;
    readmenator__query_py["_query.py (py)"]
    class readmenator__query_py mod;
    tests_test_exporter_py["test_exporter.py (py)"]
    class tests_test_exporter_py mod;
    tests_test_cpg_py["test_cpg.py (py)"]
    class tests_test_cpg_py mod;
    tests_test_sarif_py["test_sarif.py (py)"]
    class tests_test_sarif_py mod;
    readmenator__concepts_py["_concepts.py (py)"]
    class readmenator__concepts_py mod;
    readmenator__cursorrules_generator_py["_cursorrules_generator.py (py)"]
    class readmenator__cursorrules_generator_py mod;
    readmenator__htmlpack_py["_htmlpack.py (py)"]
    class readmenator__htmlpack_py mod;
    tests_test_uml_py["test_uml.py (py)"]
    class tests_test_uml_py mod;
    tests_test_agent_injector_py["test_agent_injector.py (py)"]
    class tests_test_agent_injector_py mod;
    readmenator__uml_py["_uml.py (py)"]
    class readmenator__uml_py mod;
    readmenator__dataflow_py["_dataflow.py (py)"]
    class readmenator__dataflow_py mod;
    tests_test_integration_py["test_integration.py (py)"]
    class tests_test_integration_py mod;
    tests_test_dead_code_py["test_dead_code.py (py)"]
    class tests_test_dead_code_py mod;
    readmenator__agent_injector_py["_agent_injector.py (py)"]
    class readmenator__agent_injector_py mod;
    readmenator__cache_py["_cache.py (py)"]
    class readmenator__cache_py mod;
    tests_test_linter_py["test_linter.py (py)"]
    class tests_test_linter_py mod;
    tests_test_layer_rules_py["test_layer_rules.py (py)"]
    class tests_test_layer_rules_py mod;
    readmenator__embed_py["_embed.py (py)"]
    class readmenator__embed_py mod;
    tests_test_hotspots_py["test_hotspots.py (py)"]
    class tests_test_hotspots_py mod;
    tests_test_symindex_py["test_symindex.py (py)"]
    class tests_test_symindex_py mod;
    tests_test_taint_py["test_taint.py (py)"]
    class tests_test_taint_py mod;
    readmenator__refactorizer_py["_refactorizer.py (py)"]
    class readmenator__refactorizer_py mod;
    readmenator__watcher_py["_watcher.py (py)"]
    class readmenator__watcher_py mod;
    readmenator__graphlayout_py["_graphlayout.py (py)"]
    class readmenator__graphlayout_py mod;
    readmenator__resolver_py["_resolver.py (py)"]
    class readmenator__resolver_py mod;
    readmenator__exclusions_py["_exclusions.py (py)"]
    class readmenator__exclusions_py mod;
    readmenator__provenance_py["_provenance.py (py)"]
    class readmenator__provenance_py mod;
    readmenator__analytics_py["_analytics.py (py)"]
    class readmenator__analytics_py mod;
    readmenator__sourceview_py["_sourceview.py (py)"]
    class readmenator__sourceview_py mod;
    tests_test_concepts_py["test_concepts.py (py)"]
    class tests_test_concepts_py mod;
    readmenator__folder_readme_py["_folder_readme.py (py)"]
    class readmenator__folder_readme_py mod;
    readmenator__hotspots_py["_hotspots.py (py)"]
    class readmenator__hotspots_py mod;
    readmenator__ollama_py["_ollama.py (py)"]
    class readmenator__ollama_py mod;
    readmenator__taint_py["_taint.py (py)"]
    class readmenator__taint_py mod;
    readmenator_parsers__base_py["_base.py (py)"]
    class readmenator_parsers__base_py mod;
    readmenator__dead_code_py["_dead_code.py (py)"]
    class readmenator__dead_code_py mod;
    readmenator_parsers__python_py["_python.py (py)"]
    class readmenator_parsers__python_py mod;
    tests_test_parsers_py["test_parsers.py (py)"]
    class tests_test_parsers_py mod;
    tests_test_parsers_new_py["test_parsers_new.py (py)"]
    class tests_test_parsers_new_py mod;
    readmenator__rank_py["_rank.py (py)"]
    class readmenator__rank_py mod;
    readmenator__projections_py["_projections.py (py)"]
    class readmenator__projections_py mod;
    readmenator__layers_py["_layers.py (py)"]
    class readmenator__layers_py mod;
    readmenator__skill_installer_py["_skill_installer.py (py)"]
    class readmenator__skill_installer_py mod;
    readmenator__cpg_py["_cpg.py (py)"]
    class readmenator__cpg_py mod;
    readmenator__layer_rules_py["_layer_rules.py (py)"]
    class readmenator__layer_rules_py mod;
    readmenator__scantext_py["_scantext.py (py)"]
    class readmenator__scantext_py mod;
    tests_test_ollama_py["test_ollama.py (py)"]
    class tests_test_ollama_py mod;
    readmenator__explain_py["_explain.py (py)"]
    class readmenator__explain_py mod;
    readmenator_parsers__c_py["_c.py (py)"]
    class readmenator_parsers__c_py mod;
    readmenator_parsers__assembly_py["_assembly.py (py)"]
    class readmenator_parsers__assembly_py mod;
    readmenator_parsers__csharp_py["_csharp.py (py)"]
    class readmenator_parsers__csharp_py mod;
    readmenator_parsers__dart_py["_dart.py (py)"]
    class readmenator_parsers__dart_py mod;
    readmenator_parsers__elixir_py["_elixir.py (py)"]
    class readmenator_parsers__elixir_py mod;
    readmenator_parsers__gdscript_py["_gdscript.py (py)"]
    class readmenator_parsers__gdscript_py mod;
    readmenator_parsers__go_py["_go.py (py)"]
    class readmenator_parsers__go_py mod;
    readmenator_parsers__java_py["_java.py (py)"]
    class readmenator_parsers__java_py mod;
    readmenator_parsers__javascript_py["_javascript.py (py)"]
    class readmenator_parsers__javascript_py mod;
    readmenator_parsers__kotlin_py["_kotlin.py (py)"]
    class readmenator_parsers__kotlin_py mod;
    readmenator_parsers__lua_py["_lua.py (py)"]
    class readmenator_parsers__lua_py mod;
    readmenator_parsers__nim_py["_nim.py (py)"]
    class readmenator_parsers__nim_py mod;
    readmenator_parsers__php_py["_php.py (py)"]
    class readmenator_parsers__php_py mod;
    readmenator_parsers__ruby_py["_ruby.py (py)"]
    class readmenator_parsers__ruby_py mod;
    readmenator_parsers__rust_py["_rust.py (py)"]
    class readmenator_parsers__rust_py mod;
    readmenator_parsers__scala_py["_scala.py (py)"]
    class readmenator_parsers__scala_py mod;
    readmenator_parsers__shell_py["_shell.py (py)"]
    class readmenator_parsers__shell_py mod;
    readmenator_parsers__swift_py["_swift.py (py)"]
    class readmenator_parsers__swift_py mod;
    tests_test_graphlayout_py["test_graphlayout.py (py)"]
    class tests_test_graphlayout_py mod;
    readmenator__models_py["_models.py (py)"]
    class readmenator__models_py mod;
    tests_test_query_py["test_query.py (py)"]
    class tests_test_query_py mod;
    readmenator__pytypes_py["_pytypes.py (py)"]
    class readmenator__pytypes_py mod;
    tests_test_mermaid_py["test_mermaid.py (py)"]
    class tests_test_mermaid_py mod;
    readmenator__purpose_py["_purpose.py (py)"]
    class readmenator__purpose_py mod;
    readmenator__sarif_py["_sarif.py (py)"]
    class readmenator__sarif_py mod;
    readmenator__mermaid_py["_mermaid.py (py)"]
    class readmenator__mermaid_py mod;
    readmenator__docstrings_py["_docstrings.py (py)"]
    class readmenator__docstrings_py mod;
    readmenator__category_py["_category.py (py)"]
    class readmenator__category_py mod;
    tests_test_resolver_py["test_resolver.py (py)"]
    class tests_test_resolver_py mod;
    readmenator__yaralite_py["_yaralite.py (py)"]
    class readmenator__yaralite_py mod;
    readmenator__flowlayout_py["_flowlayout.py (py)"]
    class readmenator__flowlayout_py mod;
    readmenator__readme_injector_py["_readme_injector.py (py)"]
    class readmenator__readme_injector_py mod;
    tests_test_config_py["test_config.py (py)"]
    class tests_test_config_py mod;
    readmenator_py["readmenator.py (py)"]
    class readmenator_py mod;
    tests_test_models_py["test_models.py (py)"]
    class tests_test_models_py mod;
    readmenator__gitmeta_py["_gitmeta.py (py)"]
    class readmenator__gitmeta_py mod;
    readmenator__config_py["_config.py (py)"]
    class readmenator__config_py mod;
    readmenator__bundlegraph_page_py["_bundlegraph_page.py (py)"]
    class readmenator__bundlegraph_page_py mod;
    readmenator__forcegraph_page_py["_forcegraph_page.py (py)"]
    class readmenator__forcegraph_page_py mod;
    deploy_sh["deploy.sh (sh)"]
    class deploy_sh mod;
    tests___init___py["__init__.py (py)"]
    class tests___init___py mod;
    end
    readmenator__pipeline_py ~~~ tests_test_readme_injector_py
    tests_test_interactive_graph_py ~~~ tests_test_agent_injector_py
    tests_test_agent_output_py ~~~ readmenator__uml_py
    readmenator__documentation_py ~~~ readmenator__agent_injector_py
    readmenator__explorer_py ~~~ readmenator__embed_py
    readmenator__exporter_py ~~~ readmenator__exclusions_py
    tests_test_readme_injector_py ~~~ readmenator__provenance_py
    tests_test_agent_injector_py ~~~ readmenator__analytics_py
    readmenator__uml_py ~~~ readmenator__cpg_py
    readmenator__agent_injector_py ~~~ readmenator__scantext_py
    readmenator__embed_py ~~~ readmenator__readme_injector_py
    readmenator__app_py ~~~ tests_test_refactorizer_py
    tests_test_diagrams_py ~~~ readmenator__mcp_server_py
    readmenator__video_py ~~~ tests_test_dataflow_py
    tests_test_htmlpack_py ~~~ tests_test_mcp_server_py
    readmenator___main___py ~~~ tests_test_video_py
    tests_test_documentation_py ~~~ readmenator__linter_py
    tests_test_refactorizer_py ~~~ tests_test_cursorrules_py
    readmenator__mcp_server_py ~~~ tests_test_exporter_py
    tests_test_dataflow_py ~~~ tests_test_cpg_py
    tests_test_mcp_server_py ~~~ readmenator__cursorrules_generator_py
    tests_test_video_py ~~~ tests_test_uml_py
    readmenator__linter_py ~~~ readmenator__dataflow_py
    tests_test_cursorrules_py ~~~ tests_test_integration_py
    tests_test_exporter_py ~~~ tests_test_dead_code_py
    tests_test_cpg_py ~~~ tests_test_linter_py
    readmenator__cursorrules_generator_py ~~~ tests_test_layer_rules_py
    tests_test_uml_py ~~~ tests_test_hotspots_py
    readmenator__dataflow_py ~~~ readmenator__refactorizer_py
    tests_test_integration_py ~~~ readmenator__watcher_py
    tests_test_dead_code_py ~~~ readmenator__hotspots_py
    tests_test_linter_py ~~~ readmenator__dead_code_py
    tests_test_layer_rules_py ~~~ tests_test_parsers_py
    tests_test_hotspots_py ~~~ tests_test_parsers_new_py
    readmenator__refactorizer_py ~~~ readmenator__layers_py
    readmenator__watcher_py ~~~ readmenator__layer_rules_py
    readmenator__hotspots_py ~~~ readmenator__yaralite_py
    readmenator__dead_code_py ~~~ tests_test_config_py
    tests_test_parsers_py ~~~ readmenator_py
    tests_test_parsers_new_py ~~~ readmenator__config_py
    tests_test_agent_friendliness_py ~~~ tests_test_gh_wiki_py
    readmenator__agent_output_py ~~~ readmenator__memory_py
    readmenator__wiki_py ~~~ tests_test_security_py
    tests_test_folder_readme_py ~~~ readmenator__analyzer_py
    tests_test_wiki_py ~~~ tests_test_cache_py
    readmenator__gh_wiki_py ~~~ tests_test_analyzer_py
    tests_test_gh_wiki_py ~~~ readmenator__security_py
    readmenator__memory_py ~~~ readmenator__cache_py
    tests_test_security_py ~~~ readmenator__resolver_py
    readmenator__analyzer_py ~~~ readmenator__folder_readme_py
    tests_test_cache_py ~~~ readmenator__purpose_py
    tests_test_analyzer_py ~~~ tests_test_resolver_py
    readmenator__security_py ~~~ readmenator__gitmeta_py
    tests_test_parsers_property_py ~~~ readmenator__rule_gen_py
    readmenator_parsers___init___py ~~~ tests_test_sarif_py
    tests_test_taint_bdd_py ~~~ tests_test_taint_py
    tests_test_scanner_py ~~~ readmenator__taint_py
    readmenator__scanner_py ~~~ readmenator_parsers__base_py
    tests_test_rule_gen_py ~~~ readmenator_parsers__python_py
    readmenator__rule_gen_py ~~~ readmenator_parsers__c_py
    tests_test_sarif_py ~~~ readmenator_parsers__assembly_py
    tests_test_taint_py ~~~ readmenator_parsers__csharp_py
    readmenator__taint_py ~~~ readmenator_parsers__dart_py
    readmenator_parsers__base_py ~~~ readmenator_parsers__elixir_py
    readmenator_parsers__python_py ~~~ readmenator_parsers__gdscript_py
    readmenator_parsers__c_py ~~~ readmenator_parsers__go_py
    readmenator_parsers__assembly_py ~~~ readmenator_parsers__java_py
    readmenator_parsers__csharp_py ~~~ readmenator_parsers__javascript_py
    readmenator_parsers__dart_py ~~~ readmenator_parsers__kotlin_py
    readmenator_parsers__elixir_py ~~~ readmenator_parsers__lua_py
    readmenator_parsers__gdscript_py ~~~ readmenator_parsers__nim_py
    readmenator_parsers__go_py ~~~ readmenator_parsers__php_py
    readmenator_parsers__java_py ~~~ readmenator_parsers__ruby_py
    readmenator_parsers__javascript_py ~~~ readmenator_parsers__rust_py
    readmenator_parsers__kotlin_py ~~~ readmenator_parsers__scala_py
    readmenator_parsers__lua_py ~~~ readmenator_parsers__shell_py
    readmenator_parsers__nim_py ~~~ readmenator_parsers__swift_py
    readmenator_parsers__php_py ~~~ readmenator__models_py
    readmenator_parsers__ruby_py ~~~ tests_test_mermaid_py
    readmenator_parsers__rust_py ~~~ readmenator__sarif_py
    readmenator_parsers__scala_py ~~~ readmenator__mermaid_py
    readmenator_parsers__shell_py ~~~ tests_test_models_py
    tests_test_project_config_py ~~~ tests_test_layout_quality_py
    readmenator__diagrams_py ~~~ readmenator__project_config_py
    readmenator__forcegraph_py ~~~ readmenator__viewer_ui_py
    tests_test_bundlegraph_py ~~~ readmenator__htmlpack_py
    readmenator__bundlegraph_py ~~~ readmenator__graphlayout_py
    tests_test_sourceview_py ~~~ readmenator__sourceview_py
    tests_test_layout_quality_py ~~~ tests_test_graphlayout_py
    readmenator__project_config_py ~~~ readmenator__bundlegraph_page_py
    readmenator__viewer_ui_py ~~~ readmenator__forcegraph_page_py
    readmenator___init___py ~~~ tests_test_graphrag_py
    readmenator__components_py ~~~ readmenator__query_py
    tests_test_components_py ~~~ readmenator__concepts_py
    readmenator__graphrag_py ~~~ tests_test_concepts_py
    tests_test_memory_py ~~~ readmenator__ollama_py
    tests_test_ranking_py ~~~ readmenator__rank_py
    tests_test_graphrag_py ~~~ readmenator__projections_py
    readmenator__query_py ~~~ readmenator__skill_installer_py
    readmenator__concepts_py ~~~ tests_test_ollama_py
    tests_test_concepts_py ~~~ readmenator__explain_py
    readmenator__ollama_py ~~~ tests_test_query_py
    readmenator__rank_py ~~~ readmenator__category_py
    tests_test_apidocs_py ~~~ readmenator__apidocs_page_py
    tests_test_flowcharts_py ~~~ readmenator__symindex_py
    readmenator__flowcharts_py ~~~ tests_test_symindex_py
    readmenator__apidocs_render_py ~~~ readmenator__pytypes_py
    readmenator__apidocs_py ~~~ readmenator__docstrings_py
    readmenator__flowpage_py ~~~ readmenator__flowlayout_py
    readmenator___init___py -- resolved_imports --> readmenator__app_py
    readmenator___init___py -- resolved_imports --> readmenator__category_py
    readmenator___init___py -- resolved_imports --> readmenator__config_py
    readmenator___init___py -- resolved_imports --> readmenator__project_config_py
    readmenator___init___py -- resolved_imports --> readmenator__diagrams_py
    readmenator___init___py -- resolved_imports --> readmenator__mcp_server_py
    readmenator___init___py -- resolved_imports --> readmenator__components_py
    readmenator___init___py -- resolved_imports --> readmenator__ollama_py
    readmenator___init___py -- resolved_imports --> readmenator__symindex_py
    readmenator___init___py -- resolved_imports --> readmenator__concepts_py
    readmenator___init___py -- resolved_imports --> readmenator__models_py
    readmenator___init___py -- resolved_imports --> readmenator__rank_py
    readmenator___init___py -- resolved_imports --> readmenator__readme_injector_py
    readmenator___init___py -- resolved_imports --> readmenator__uml_py
    readmenator___main___py -- resolved_imports --> readmenator__app_py
    readmenator___main___py -- resolved_imports --> readmenator__config_py
    readmenator___main___py -- resolved_imports --> readmenator__mcp_server_py
    readmenator___main___py -- resolved_imports --> readmenator__project_config_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__cache_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__config_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__folder_readme_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__gitmeta_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__models_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__purpose_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__resolver_py
    readmenator__agent_output_py -- resolved_imports --> readmenator__security_py
    readmenator__analytics_py -- resolved_imports --> readmenator__config_py
    readmenator__analytics_py -- resolved_imports --> readmenator__models_py
    readmenator__analyzer_py -- resolved_imports --> readmenator__config_py
    readmenator__analyzer_py -- resolved_imports --> readmenator__models_py
    readmenator__apidocs_py -- resolved_imports --> readmenator__config_py
    readmenator__apidocs_py -- resolved_imports --> readmenator__docstrings_py
    readmenator__apidocs_py -- resolved_imports --> readmenator__models_py
    readmenator__apidocs_py -- resolved_imports --> readmenator__pytypes_py
    readmenator__apidocs_py -- resolved_imports --> readmenator__symindex_py
    readmenator__apidocs_page_py -- resolved_imports --> readmenator__apidocs_py
    readmenator__apidocs_page_py -- resolved_imports --> readmenator__config_py
    readmenator__apidocs_page_py -- resolved_imports --> readmenator__flowlayout_py
    readmenator__apidocs_page_py -- resolved_imports --> readmenator__flowpage_py
    readmenator__apidocs_page_py -- resolved_imports --> readmenator__htmlpack_py
    readmenator__apidocs_render_py -- resolved_imports --> readmenator__apidocs_py
    readmenator__apidocs_render_py -- resolved_imports --> readmenator__apidocs_page_py
    readmenator__apidocs_render_py -- resolved_imports --> readmenator__config_py
    readmenator__apidocs_render_py -- resolved_imports --> readmenator__flowlayout_py
    readmenator__apidocs_render_py -- resolved_imports --> readmenator__flowpage_py
    readmenator__apidocs_render_py -- resolved_imports --> readmenator__docstrings_py
    readmenator__app_py -- resolved_imports --> readmenator__apidocs_py
    readmenator__app_py -- resolved_imports --> readmenator__bundlegraph_py
    readmenator__app_py -- resolved_imports --> readmenator__cache_py
    readmenator__app_py -- resolved_imports --> readmenator__config_py
    readmenator__app_py -- resolved_imports --> readmenator__cursorrules_generator_py
    readmenator__app_py -- resolved_imports --> readmenator__dead_code_py
    readmenator__app_py -- resolved_imports --> readmenator__diagrams_py
    readmenator__app_py -- resolved_imports --> readmenator__explorer_py
    readmenator__app_py -- resolved_imports --> readmenator__flowcharts_py
    readmenator__app_py -- resolved_imports --> readmenator__flowlayout_py
    readmenator__app_py -- resolved_imports --> readmenator__flowpage_py
    readmenator__app_py -- resolved_imports --> readmenator__explorer_py
    readmenator__app_py -- resolved_imports --> readmenator__gh_wiki_py
    readmenator__app_py -- resolved_imports --> readmenator__gitmeta_py
    readmenator__app_py -- resolved_imports --> readmenator__graphrag_py
    readmenator__app_py -- resolved_imports --> readmenator__layers_py
    readmenator__app_py -- resolved_imports --> readmenator__linter_py
    readmenator__app_py -- resolved_imports --> readmenator__models_py
    readmenator__app_py -- resolved_imports --> readmenator__pipeline_py
    readmenator__app_py -- resolved_imports --> readmenator__query_py
    readmenator__app_py -- resolved_imports --> readmenator__rank_py
    readmenator__app_py -- resolved_imports --> readmenator__refactorizer_py
    readmenator__app_py -- resolved_imports --> readmenator__resolver_py
    readmenator__app_py -- resolved_imports --> readmenator__yaralite_py
    readmenator__app_py -- resolved_imports --> readmenator__watcher_py
    readmenator__app_py -- resolved_imports --> readmenator__project_config_py
    readmenator__app_py -- resolved_imports --> readmenator__project_config_py
    readmenator__app_py -- resolved_imports --> readmenator__project_config_py
    readmenator__app_py -- resolved_imports --> readmenator__project_config_py
    readmenator__app_py -- resolved_imports --> readmenator__video_py
    readmenator__bundlegraph_py -- resolved_imports --> readmenator__bundlegraph_page_py
    readmenator__bundlegraph_py -- resolved_imports --> readmenator__config_py
    readmenator__bundlegraph_py -- resolved_imports --> readmenator__forcegraph_py
    readmenator__bundlegraph_py -- resolved_imports --> readmenator__graphlayout_py
    readmenator__bundlegraph_py -- resolved_imports --> readmenator__htmlpack_py
    readmenator__bundlegraph_py -- resolved_imports --> readmenator__project_config_py
    readmenator__bundlegraph_py -- resolved_imports --> readmenator__viewer_ui_py
    readmenator__cache_py -- resolved_imports --> readmenator__config_py
    readmenator__components_py -- resolved_imports --> readmenator__cache_py
    readmenator__components_py -- resolved_imports --> readmenator__config_py
    readmenator__components_py -- resolved_imports --> readmenator__layers_py
    readmenator__components_py -- resolved_imports --> readmenator__models_py
    readmenator__components_py -- resolved_imports --> readmenator__ollama_py
    readmenator__components_py -- resolved_imports --> readmenator__purpose_py
    readmenator__components_py -- resolved_imports --> readmenator__rank_py
    readmenator__components_py -- resolved_imports --> readmenator__symindex_py
    readmenator__concepts_py -- resolved_imports --> readmenator__config_py
    readmenator__concepts_py -- resolved_imports --> readmenator__models_py
    readmenator__cpg_py -- resolved_imports --> readmenator__models_py
    readmenator__cursorrules_generator_py -- resolved_imports --> readmenator__config_py
    readmenator__cursorrules_generator_py -- resolved_imports --> readmenator__layers_py
    readmenator__cursorrules_generator_py -- resolved_imports --> readmenator__models_py
    readmenator__dataflow_py -- resolved_imports --> readmenator__config_py
    readmenator__dataflow_py -- resolved_imports --> readmenator__models_py
    ext_readmenator__app["readmenator._app"]
    class ext_readmenator__app ext;
    readmenator___init___py -.->|imports| ext_readmenator__app
    ext_readmenator__category["readmenator._category"]
    class ext_readmenator__category ext;
    readmenator___init___py -.->|imports| ext_readmenator__category
    ext_readmenator__config["readmenator._config"]
    class ext_readmenator__config ext;
    readmenator___init___py -.->|imports| ext_readmenator__config
    ext_readmenator__project_config["readmenator._project_config"]
    class ext_readmenator__project_config ext;
    readmenator___init___py -.->|imports| ext_readmenator__project_config
    ext_readmenator__diagrams["readmenator._diagrams"]
    class ext_readmenator__diagrams ext;
    readmenator___init___py -.->|imports| ext_readmenator__diagrams
    ext_readmenator__mcp_server["readmenator._mcp_server"]
    class ext_readmenator__mcp_server ext;
    readmenator___init___py -.->|imports| ext_readmenator__mcp_server
    ext_readmenator__components["readmenator._components"]
    class ext_readmenator__components ext;
    readmenator___init___py -.->|imports| ext_readmenator__components
    ext_readmenator__ollama["readmenator._ollama"]
    class ext_readmenator__ollama ext;
    readmenator___init___py -.->|imports| ext_readmenator__ollama
    ext_readmenator__symindex["readmenator._symindex"]
    class ext_readmenator__symindex ext;
    readmenator___init___py -.->|imports| ext_readmenator__symindex
    ext_readmenator__concepts["readmenator._concepts"]
    class ext_readmenator__concepts ext;
    readmenator___init___py -.->|imports| ext_readmenator__concepts
    ext_readmenator__models["readmenator._models"]
    class ext_readmenator__models ext;
    readmenator___init___py -.->|imports| ext_readmenator__models
    ext_readmenator__rank["readmenator._rank"]
    class ext_readmenator__rank ext;
    readmenator___init___py -.->|imports| ext_readmenator__rank
    ext_readmenator__readme_injector["readmenator._readme_injector"]
    class ext_readmenator__readme_injector ext;
    readmenator___init___py -.->|imports| ext_readmenator__readme_injector
    ext_readmenator__uml["readmenator._uml"]
    class ext_readmenator__uml ext;
    readmenator___init___py -.->|imports| ext_readmenator__uml
    ext___future__["__future__"]
    class ext___future__ ext;
    readmenator___main___py -.->|imports| ext___future__
    ext_argparse["argparse"]
    class ext_argparse ext;
    readmenator___main___py -.->|imports| ext_argparse
    ext_logging["logging"]
    class ext_logging ext;
    readmenator___main___py -.->|imports| ext_logging
    ext_sys["sys"]
    class ext_sys ext;
    readmenator___main___py -.->|imports| ext_sys
    ext_unittest["unittest"]
    class ext_unittest ext;
    readmenator___main___py -.->|imports| ext_unittest
    ext_pathlib["pathlib"]
    class ext_pathlib ext;
    readmenator___main___py -.->|imports| ext_pathlib
    readmenator___main___py -.->|imports| ext_readmenator__app
    readmenator___main___py -.->|imports| ext_readmenator__config
    readmenator___main___py -.->|imports| ext_readmenator__mcp_server
    readmenator___main___py -.->|imports| ext_readmenator__project_config
    ext_json["json"]
    class ext_json ext;
    readmenator___main___py -.->|imports| ext_json
    readmenator___main___py -.->|imports| ext_json
    readmenator___main___py -.->|imports| ext_json
    readmenator___main___py -.->|imports| ext_json
    readmenator__agent_injector_py -.->|imports| ext___future__
    ext_glob["glob"]
    class ext_glob ext;
    readmenator__agent_injector_py -.->|imports| ext_glob
    ext_importlib_util["importlib.util"]
    class ext_importlib_util ext;
    readmenator__agent_injector_py -.->|imports| ext_importlib_util
    readmenator__agent_injector_py -.->|imports| ext_logging
    ext_subprocess["subprocess"]
    class ext_subprocess ext;
    readmenator__agent_injector_py -.->|imports| ext_subprocess
    readmenator__agent_injector_py -.->|imports| ext_sys
    readmenator__agent_injector_py -.->|imports| ext_pathlib
Loading

UML Class Diagram

Auto-generated Mermaid class diagrams from parsed class-level symbols, split into groups of at most 6 classes so each diagram stays readable. Per-module class diagrams with exact members live in readmenator-apidocs/modules/.

classDiagram
  direction LR
  class _agent_injector_py_AgentInjector {
    <<class>>
    +ensure_readmenator_installed()
    +__init__(self, kb_filename, agent_output_dir, agent_files, agent_globs, wiki_output_dir, agent_heading, agent_intro, agent_extra)
    +inject(self, project_root)
    +remove(self, project_root)
    +find_agent_files(self, project_root)
    +_find_agent_files(self, root)
    +_inject_single(self, path)
    +_extract_current_injection(content)
    +_remove_old_injection(content)
    +_remove_single(self, path)
  }
  class _agent_output_py_AgentOutputGenerator {
    <<class>>
    +__init__(self, config)
    +generate(self, nodes, edges, resolved_edges, analysis, analysis_v2, findings, layers, project_root)
    +_infer_subsystems(self, nodes)
    +_build_index(self, nodes, subsystems, imported_by)
    +_build_architecture(self, edges, resolved_edges, nodes)
    +_build_security(self, findings, nodes)
    +_enclosing_symbol(symbols, line)
    +_is_public(self, sym)
    +_qualified_names(symbols)
    +_build_api(self, nodes, resolved_map, imported_by, layers)
  }
  class _analytics_py_AnalyticsBuilder {
    <<class>>
    +__init__(self, config)
    +build(self, nodes, edges, resolved_edges, analysis, findings, layers, v2, hotspots)
    +_layer_distribution(self, nodes, layers)
    +_language_distribution(self, nodes)
    +_hotspot_ranking(self, nodes, fan_in, fan_out, hotspots)
    +_rule_yield(self, findings)
    +_size_bands(self, nodes)
    +_scatter(self, nodes, fan_in, fan_out, layers)
  }
  class _analyzer_py_GraphAnalyzer {
    <<class>>
    +dominant_directory(file_ids)
    +_is_test_path(file_id)
    +__init__(self, config)
    +analyze(self, nodes, edges, resolved_edges)
    +_build_adjacency(self, nodes, edges)
    +_build_reverse_adjacency(self, adjacency)
    +_compute_god_nodes(self, nodes, adjacency, reverse_adjacency)
    +_detect_communities(self, nodes, adjacency)
    +_finalize_communities(self, labels, adjacency)
    +_louvain(self, file_ids, adjacency)
  }
Loading
classDiagram
  direction LR
  class _apidocs_py_ApiParam {
    <<class>>
    +_unparse(node)
    +_matching_close(lines, start, scan_limit)
    +_indent_end(lines, start)
    +_split_top_level(text, sep)
    +_param_span(signature, name)
    +parse_signature_params(signature, name, language)
    +is_vendored_path(file_id, config)
    +to_dict(self)
    +is_documented(self)
    +to_dict(self)
  }
  class _apidocs_py_ApiEntity {
    <<class>>
    +_unparse(node)
    +_matching_close(lines, start, scan_limit)
    +_indent_end(lines, start)
    +_split_top_level(text, sep)
    +_param_span(signature, name)
    +parse_signature_params(signature, name, language)
    +is_vendored_path(file_id, config)
    +to_dict(self)
    +is_documented(self)
    +to_dict(self)
  }
  class _apidocs_py_DocWarning {
    <<class>>
    +_unparse(node)
    +_matching_close(lines, start, scan_limit)
    +_indent_end(lines, start)
    +_split_top_level(text, sep)
    +_param_span(signature, name)
    +parse_signature_params(signature, name, language)
    +is_vendored_path(file_id, config)
    +to_dict(self)
    +is_documented(self)
    +to_dict(self)
  }
  class _apidocs_py_ApiReference {
    <<class>>
    +_unparse(node)
    +_matching_close(lines, start, scan_limit)
    +_indent_end(lines, start)
    +_split_top_level(text, sep)
    +_param_span(signature, name)
    +parse_signature_params(signature, name, language)
    +is_vendored_path(file_id, config)
    +to_dict(self)
    +is_documented(self)
    +to_dict(self)
  }
  class _apidocs_py__PythonExtractor {
    <<class>>
    +_unparse(node)
    +_matching_close(lines, start, scan_limit)
    +_indent_end(lines, start)
    +_split_top_level(text, sep)
    +_param_span(signature, name)
    +parse_signature_params(signature, name, language)
    +is_vendored_path(file_id, config)
    +to_dict(self)
    +is_documented(self)
    +to_dict(self)
  }
  class _apidocs_py_ApiReferenceBuilder {
    <<class>>
    +_unparse(node)
    +_matching_close(lines, start, scan_limit)
    +_indent_end(lines, start)
    +_split_top_level(text, sep)
    +_param_span(signature, name)
    +parse_signature_params(signature, name, language)
    +is_vendored_path(file_id, config)
    +to_dict(self)
    +is_documented(self)
    +to_dict(self)
  }
Loading
classDiagram
  direction LR
  class _apidocs_render_py_ApiLinker {
    <<class>>
    +module_display_name(entity)
    +page_slug(module_uid)
    +jsonl_index_path(config)
    +jsonl_warnings_path(config)
    +_jsonl_line(record)
    +jsonl_pages(reference, config)
    +read_api_jsonl(api_dir, config)
    +anchor_slug(qualname)
    +_cell(text)
    +_inline_code(text)
  }
  class _apidocs_render_py_ApiMarkdownRenderer {
    <<class>>
    +module_display_name(entity)
    +page_slug(module_uid)
    +jsonl_index_path(config)
    +jsonl_warnings_path(config)
    +_jsonl_line(record)
    +jsonl_pages(reference, config)
    +read_api_jsonl(api_dir, config)
    +anchor_slug(qualname)
    +_cell(text)
    +_inline_code(text)
  }
  class _apidocs_render_py_ApiDocsWriter {
    <<class>>
    +module_display_name(entity)
    +page_slug(module_uid)
    +jsonl_index_path(config)
    +jsonl_warnings_path(config)
    +_jsonl_line(record)
    +jsonl_pages(reference, config)
    +read_api_jsonl(api_dir, config)
    +anchor_slug(qualname)
    +_cell(text)
    +_inline_code(text)
  }
  class _app_py_readmenatorApplication {
    <<class>>
    +__init__(self, config)
    +_scan(self, target_dir)
    +_scan_with_content(self, target_dir)
    +_resolve_imports(self, nodes, edges, target_dir)
    +_apply_project_config(self, target_dir)
    +_write_viewer_config(self, root)
    +run(self, target_dir, resolve_imports, run_analysis, run_security, run_v2_analysis)
    +check_freshness(self, target_dir)
    +_maybe_refresh_pages(self, root)
    +_maybe_publish_github_wiki(self, root)
  }
  class _bundlegraph_py_BundleGraphRenderer {
    <<class>>
    +_json_script(value)
    +__init__(self, config)
    +build_payload(self, force_payload)
    +page_settings(self, force_payload, explorer_href, live_api)
    +render(self, force_payload, title, home_href, explorer_href, live_api)
    +write(self, output_path, force_payload, title, home_href, explorer_href)
    +thumbnail_svg(self, force_payload)
  }
  class _cache_py_FileCache {
    <<class>>
    +source_fingerprint(project_root, file_ids)
    +__init__(self, config, project_root)
    +load(self)
    +save(self, hashes)
    +compute_hash(self, file_path)
    +compute_hashes(self, file_paths)
    +find_changed(self, file_paths)
    +prune_deleted(self, current_file_ids)
    +save_analysis(self, key, data)
    +load_analysis(self, key)
  }
Loading
classDiagram
  direction LR
  class _category_py_EdgeKind {
    <<class>>
    +build_category_from_edges(edges, resolved_edges, node_ids)
    +_infer_edge_kind(relation)
    +__str__(self)
    +weight(self)
    +__init__(self)
    +add_object(self, obj_id)
    +add_morphism(self, m)
    +objects(self)
    +morphisms(self)
    +outgoing(self, obj_id)
  }
  class _category_py_Morphism {
    <<class>>
    +build_category_from_edges(edges, resolved_edges, node_ids)
    +_infer_edge_kind(relation)
    +__str__(self)
    +weight(self)
    +__init__(self)
    +add_object(self, obj_id)
    +add_morphism(self, m)
    +objects(self)
    +morphisms(self)
    +outgoing(self, obj_id)
  }
  class _category_py_Category {
    <<class>>
    +build_category_from_edges(edges, resolved_edges, node_ids)
    +_infer_edge_kind(relation)
    +__str__(self)
    +weight(self)
    +__init__(self)
    +add_object(self, obj_id)
    +add_morphism(self, m)
    +objects(self)
    +morphisms(self)
    +outgoing(self, obj_id)
  }
  class _category_py_TypedGraph {
    <<class>>
    +build_category_from_edges(edges, resolved_edges, node_ids)
    +_infer_edge_kind(relation)
    +__str__(self)
    +weight(self)
    +__init__(self)
    +add_object(self, obj_id)
    +add_morphism(self, m)
    +objects(self)
    +morphisms(self)
    +outgoing(self, obj_id)
  }
  class _components_py_ComponentDiagramBuilder {
    <<class>>
    +sanitize(name)
    +_rank_layout(cids, pairs)
    +__init__(self, config)
    +build(self, nodes, edges, resolved_edges, analysis, project_root, content_map)
    +mermaid_lr(self, components, relations, docs_ref)
    +overview_markdown(self, analysis, docs_ref, rel_prefix)
    +component_markdown(self, component)
    +write(self, analysis, output_dir, project_root)
    +_rel_prefix(project_root, output_dir)
    +_components_of(self, nodes, analysis)
  }
  class _concepts_py_ConceptExtractor {
    <<class>>
    +verb_for_relation(relation)
    +__init__(self, config)
    +extract(self, nodes, edges, resolved_edges)
    +_tokens_for_node(self, node)
    +_tokenize(self, text)
    +_build_relations(self, edges, file_to_concepts)
    +_build_dialectic(self, concepts, relations)
  }
Loading
classDiagram
  direction LR
  class _config_py_Config {
    <<class>>
  }
  class _cpg_py_CodePropertyGraph {
    <<class>>
    +__init__(self, privacy_mode, cpg_context)
    +generate(self, nodes, edges, resolved_edges, analysis, findings)
    +_severity_counts(self, findings)
    +_build_symbol_list(self, node)
    +_compute_node_hash(node)
  }
  class _cursorrules_generator_py_CursorRulesGenerator {
    <<class>>
    +__init__(self, config)
    +generate(self, nodes, edges, analysis, layers, violations, project_root)
    +_build_base_rules(self)
    +_extract_layer_constraints(self, layers)
    +_extract_analysis_constraints(self, analysis)
    +_extract_violation_rules(self, violations)
    +_write_file(self, project_root, content)
  }
  class _dataflow_py_DataflowAnalyzer {
    <<class>>
    +_strip_noise(line)
    +_strip_block_comments(content)
    +_strip_sizeof(line)
    +_blank(match)
    +__init__(self, config)
    +analyze(self, nodes, content_map)
    +_brace_depths(lines)
    +_function_spans(self, node, total_lines, depths)
    +_analyze_function(self, file_id, func, lines, start, end)
    +_scan_reads(text, lineno, reads, assigned, declared_names)
  }
  class _dead_code_py_DeadCodeStripper {
    <<class>>
    +__init__(self, config)
    +identify(self, nodes, edges, resolved_edges)
    +_build_in_degree_map(self, nodes, resolved_edges)
    +_classify_recommendation(self, symbol)
  }
Loading
classDiagram
  direction LR
  class _diagrams_py_MapNode {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_MapEdge {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_MapView {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_SystemMap {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_MapDiagnostic {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_MapReceipt {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_MapDelta {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_SystemMapValidator {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_SystemMapBuilder {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_InteractiveMapRenderer {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_VisNetworkRenderer {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
  class _diagrams_py_DocsSitePublisher {
    <<class>>
    +_escape_markup(value)
    +_json_payload(payload)
    +_fill_template(template, values)
    +_role_color(role, config)
    +__init__(self, config)
    +_effective_canvas(self, system_map)
    +validate(self, system_map)
    +__init__(self, config)
    +supported_kinds(self)
    +_is_full(self, full)
  }
Loading
classDiagram
  direction LR
  class _docstrings_py_DocField {
    <<class>>
    +clean_text(text)
    +detect_style(text)
    +split_summary(text)
    +_indent(line)
    +_join_block(lines)
    +_section_key(header)
    +_apply_section(doc, key, body, item_mode)
    +_strip_fence(text)
    +_split_refs(text)
    +_parse_items(body, mode, allow_bare)
  }
  class _docstrings_py_DocComment {
    <<class>>
    +clean_text(text)
    +detect_style(text)
    +split_summary(text)
    +_indent(line)
    +_join_block(lines)
    +_section_key(header)
    +_apply_section(doc, key, body, item_mode)
    +_strip_fence(text)
    +_split_refs(text)
    +_parse_items(body, mode, allow_bare)
  }
  class _documentation_py_DocumentationGenerator {
    <<class>>
    +__init__(self, config)
    +_ranking_version(self)
    +_get_git_commit()
    +generate(self, nodes, edges, resolved_edges, analysis, layers, findings, analysis_v2, ranked, content_map)
    +_apply_context_budget(self, content, nodes, edges, resolved_edges, analysis, analysis_v2, findings)
    +_build_toc(self, nodes, analysis, layers, findings, analysis_v2, is_truncated, ranked, extra_sections)
    +_build_layers(self, layers, nodes)
    +_build_dashboard(self, nodes, edges, resolved_edges)
    +_build_god_nodes(self, analysis, ranked)
    +_build_community_analysis(self, analysis, nodes)
  }
  class _embed_py_Embedder {
    <<class>>
    +_tokens(text)
    +_jaccard(left, right)
    +__init__(self, config)
    +dependencies_available(self)
    +encode(self, texts)
    +near_jaccard(self, query, corpus, top_k)
    +cluster_jaccard(self, corpus, threshold)
    +project_jaccard(self, corpus)
    +find(item)
    +union(left, right)
  }
  class _exclusions_py_ExclusionEntry {
    <<class>>
    +parse_exclusions(text)
    +_to_entry(data)
    +_unquote(value)
    +matches(self, file_path, rule_id)
    +__init__(self, config)
    +entries(self)
    +load(self, project_root)
    +is_excluded(self, file_path, rule_id)
    +filter_findings(self, findings)
  }
  class _exclusions_py_ExclusionList {
    <<class>>
    +parse_exclusions(text)
    +_to_entry(data)
    +_unquote(value)
    +matches(self, file_path, rule_id)
    +__init__(self, config)
    +entries(self)
    +load(self, project_root)
    +is_excluded(self, file_path, rule_id)
    +filter_findings(self, findings)
  }
Loading
classDiagram
  direction LR
  class _explorer_py_ExplorerState {
    <<class>>
    +find_free_port(preferred)
    +serve(state, host, port, open_browser)
    +build_state(config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
    +write_static(state, output_dir, filename)
    +__init__(self, config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
    +samples(self)
    +source(self, file_id)
    +log_message(self, fmt)
    +do_GET(self)
    +_serve_html(self)
  }
  class _explorer_py__Handler {
    <<class>>
    +find_free_port(preferred)
    +serve(state, host, port, open_browser)
    +build_state(config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
    +write_static(state, output_dir, filename)
    +__init__(self, config, nodes, edges, resolved_edges, analysis, findings, layers, content_map)
    +samples(self)
    +source(self, file_id)
    +log_message(self, fmt)
    +do_GET(self)
    +_serve_html(self)
  }
  class _exporter_py_GraphExporter {
    <<class>>
    +__init__(self, config)
    +to_json(self, nodes, edges, resolved_edges, analysis, findings, concept_graph)
    +to_html(self, nodes, edges, resolved_edges, analysis, findings)
    +_community_color_map(self, analysis)
    +_lighten(hex_color)
    +_render_html(self, vis_nodes, vis_edges, analysis, findings)
    +to_svg(self, nodes, edges, resolved_edges, analysis)
    +_render_truncated_svg(self, total_nodes)
    +_layout_spring(self, nodes, edges, node_map)
    +to_graphml(self, nodes, edges, resolved_edges, analysis)
  }
Loading
classDiagram
  direction LR
  class _flowcharts_py_Component {
    <<class>>
    +mermaid_id(text, prefix)
    +mermaid_text(text, limit)
    +tarjan_scc(vertices, adjacency)
    +transitive_reduction(adjacency)
    +eades_lin_smyth(vertices, weight)
    +_first_sentence(text)
    +to_mermaid(graph, direction)
    +build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
    +render_architecture_section(config, nodes, resolved_edges, analysis, layers)
    +render_flows_section(config, nodes, edges, resolved_edges, content_map)
  }
  class _flowcharts_py_ArchitectureDiagramBuilder {
    <<class>>
    +mermaid_id(text, prefix)
    +mermaid_text(text, limit)
    +tarjan_scc(vertices, adjacency)
    +transitive_reduction(adjacency)
    +eades_lin_smyth(vertices, weight)
    +_first_sentence(text)
    +to_mermaid(graph, direction)
    +build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
    +render_architecture_section(config, nodes, resolved_edges, analysis, layers)
    +render_flows_section(config, nodes, edges, resolved_edges, content_map)
  }
  class _flowcharts_py_EntryPoint {
    <<class>>
    +mermaid_id(text, prefix)
    +mermaid_text(text, limit)
    +tarjan_scc(vertices, adjacency)
    +transitive_reduction(adjacency)
    +eades_lin_smyth(vertices, weight)
    +_first_sentence(text)
    +to_mermaid(graph, direction)
    +build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
    +render_architecture_section(config, nodes, resolved_edges, analysis, layers)
    +render_flows_section(config, nodes, edges, resolved_edges, content_map)
  }
  class _flowcharts_py_FlowStep {
    <<class>>
    +mermaid_id(text, prefix)
    +mermaid_text(text, limit)
    +tarjan_scc(vertices, adjacency)
    +transitive_reduction(adjacency)
    +eades_lin_smyth(vertices, weight)
    +_first_sentence(text)
    +to_mermaid(graph, direction)
    +build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
    +render_architecture_section(config, nodes, resolved_edges, analysis, layers)
    +render_flows_section(config, nodes, edges, resolved_edges, content_map)
  }
  class _flowcharts_py_ExecutionFlowBuilder {
    <<class>>
    +mermaid_id(text, prefix)
    +mermaid_text(text, limit)
    +tarjan_scc(vertices, adjacency)
    +transitive_reduction(adjacency)
    +eades_lin_smyth(vertices, weight)
    +_first_sentence(text)
    +to_mermaid(graph, direction)
    +build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
    +render_architecture_section(config, nodes, resolved_edges, analysis, layers)
    +render_flows_section(config, nodes, edges, resolved_edges, content_map)
  }
  class _flowcharts_py__ControlFlowBuilder {
    <<class>>
    +mermaid_id(text, prefix)
    +mermaid_text(text, limit)
    +tarjan_scc(vertices, adjacency)
    +transitive_reduction(adjacency)
    +eades_lin_smyth(vertices, weight)
    +_first_sentence(text)
    +to_mermaid(graph, direction)
    +build_flow_graphs(config, nodes, edges, resolved_edges, content_map, analysis, layers)
    +render_architecture_section(config, nodes, resolved_edges, analysis, layers)
    +render_flows_section(config, nodes, edges, resolved_edges, content_map)
  }
Loading

Code Property Graph

Machine-readable Code Property Graph (CPG) in JSON-LD format. This block allows AI agents to parse the full structural graph without additional file reads. Compatible with GraphRAG pipelines.

{"@context": "https://schema.org", "analysis": {"communities": [{"cohesion": 0.3, "id": 0, "label": "readmenator: _video", "size": 35}, {"cohesion": 0.524, "id": 1, "label": "readmenator/parsers", "size": 35}, {"cohesion": 0.329, "id": 2, "label": "readmenator: _agent_output", "size": 19}, {"cohesion": 0.317, "id": 3, "label": "readmenator: _graphrag", "size": 18}, {"cohesion": 0.26, "id": 4, "label": "readmenator: _pipeline", "size": 17}, {"cohesion": 0.391, "id": 5, "label": "readmenator: _diagrams", "size": 15}, {"cohesion": 0.443, "id": 6, "label": "readmenator: _flowcharts", "size": 12}], "god_nodes": [{"node_id": "readmenator/_models.py", "score": 206.3}, {"node_id": "readmenator/_config.py", "score": 200.1}, {"node_id": "readmenator/_pipeline.py", "score": 93.3}, {"node_id": "readmenator/_app.py", "score": 92.7}, {"node_id": "readmenator/parsers/__init__.py", "score": 48.2}, {"node_id": "readmenator/parsers/_base.py", "score": 44.6}, {"node_id": "readmenator/_forcegraph.py", "score": 44.3}, {"node_id": "tests/test_parsers_property.py", "score": 42.7}, {"node_id": "readmenator/_diagrams.py", "score": 39.7}, {"node_id": "tests/test_interactive_graph.py", "score": 34.0}], "surprising_connections": [{"hops": 5, "source": "readmenator/_docstrings.py", "target": "tests/test_graphlayout.py"}, {"hops": 5, "source": "readmenator.py", "target": "tests/test_agent_injector.py"}, {"hops": 5, "source": "readmenator.py", "target": "tests/test_graphlayout.py"}, {"hops": 5, "source": "readmenator.py", "target": "tests/test_readme_injector.py"}, {"hops": 5, "source": "tests/test_agent_injector.py", "target": "tests/test_graphlayout.py"}]}, "edges": [{"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._mcp_server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._concepts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__init__.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "argparse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._mcp_server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/__main__.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "glob"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "importlib.util"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_injector.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_agent_output.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analytics.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "random"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_analyzer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._docstrings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._pytypes"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_page.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._apidocs_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_apidocs_render.py", "target": "readmenator._docstrings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._cursorrules_generator"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._dead_code"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._explorer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._explorer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._linter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._pipeline"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._query"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._refactorizer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._yaralite"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._watcher"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_app.py", "target": "readmenator._video"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._bundlegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_bundlegraph_page.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cache.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "enum"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_category.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "datetime"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_components.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_concepts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_config.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_config.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cpg.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_cursorrules_generator.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_dead_code.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_diagrams.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_docstrings.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._cpg"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._mermaid"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_documentation.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_embed.py", "target": "sentence_transformers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "fnmatch"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exclusions.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explain.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "socket"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "http.server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "urllib.parse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "urllib.parse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_explorer.py", "target": "webbrowser"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "textwrap"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_exporter.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._pytypes"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowcharts.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "textwrap"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowlayout.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_flowpage.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_folder_readme.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._forcegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_forcegraph_page.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "posixpath"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gh_wiki.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gitmeta.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gitmeta.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_gitmeta.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "random"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "numpy"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphlayout.py", "target": "numpy"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_graphrag.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_hotspots.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "base64"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "gzip"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_htmlpack.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layer_rules.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_layers.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_linter.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mcp_server.py", "target": "readmenator._query"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "datetime"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_memory.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_mermaid.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_models.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "urllib.request"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_ollama.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._apidocs_render"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._concepts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._cpg"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._dataflow"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._documentation"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._embed"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._exclusions"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._exporter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._provenance"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._scantext"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._memory"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._skill_installer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._hotspots"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._layer_rules"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._rule_gen"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._sarif"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._taint"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._video"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pipeline.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "tomllib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_project_config.py", "target": "tomli"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_projections.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_provenance.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_purpose.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_pytypes.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_query.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rank.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_readme_injector.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "posixpath"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_resolver.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_rule_gen.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sarif.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scanner.py", "target": "readmenator.parsers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_scantext.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_security.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_skill_installer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_sourceview.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_symindex.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_taint.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_uml.py", "target": "enum"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "define"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getElementsByTagName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelector"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelectorAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "matches"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "matches"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getPropertyValue"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getComputedStyle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getPropertyValue"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cloneNode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cloneNode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "initEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "initEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dispatchEvent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelector"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "querySelectorAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "splice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createSVGPoint"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "matrixTransform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "inverse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getBoundingClientRect"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selectAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "enter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "append"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "merge"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "order"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compareDocumentPosition"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sort"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "order"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "select"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "property"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "preventDefault"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "create"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHex"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseInt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHex8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "darker"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clamp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "darker"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clamp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "displayable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "formatHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rotate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rotate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "skewX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "skewX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "consolidate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "log"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "log"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "log"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearInterval"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setInterval"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "splice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttributeNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trim"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "attrTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "styleTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "styleTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "styleTween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "size"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "domain"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "domain"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "preventDefault"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopImmediatePropagation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertX"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertY"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invertY"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "property"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tween"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transition"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "duration"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hypot"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "property"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "interrupt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "each"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "event"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "end"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "transform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "emit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "invert"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "emit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "emit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "datum"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "freeze"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "now"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isPlaying"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nextId"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_swapEndStartRepeatValues"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_setupProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_handleRelativeValue"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "warn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reverse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_setupProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stopChainedTweens"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onStopCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "warn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onStartCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onEveryStartCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "trunc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_easingFunction"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onUpdateCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_swapEndStartRepeatValues"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onRepeatCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_onCompleteCallback"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_interpolationFunction"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_updateProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetProps"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "substr"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "desaturate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsv"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getBrightness"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isDark"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsv"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsva"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsl"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hsla"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "charAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "gradient"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toPercentageRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHexString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHexString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex8String"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHex8String"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHslString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHsvString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toHexString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAlpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyModification"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_applyCombination"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgbString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fromRatio"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "random"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "random"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "ratiodef"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLuminance"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLuminance"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "readability"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toUpperCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "readability"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isReadable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "mostReadable"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseInt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseInt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "round"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "exec"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "padStart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toRgb"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "vnode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "vnode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sort"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toLowerCase"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "replace"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sub"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentWillMount"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shouldComponentUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentWillUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentDidUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "render"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "render"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getChildContext"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getSnapshotBeforeUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__c"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createTextNode"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElementNS"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__m"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "removeAttribute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__u"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentWillUnmount"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__e"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getOwnPropertySymbols"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getOwnPropertyDescriptor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setState"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "componentDidCatch"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "random"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperties"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "defineProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getElementsByTagName"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "insertBefore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "append"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "attr"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "node"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "calc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "calc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "calc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "text"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "append"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "html"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "warn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "text"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "text"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addAll"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isArray"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "floor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cover"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cbrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "initialize"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restart"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "delete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shift"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visitAfter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "visit"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "splice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "approximately"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "approximately"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arcfn"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "parseFloat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli4"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "intersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "findbbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shapeintersections"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "approximately"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bboxoverlap"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli8"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pointsToString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addCurve"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curve"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "expandbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "constructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "quadraticFromPoints"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cubicFromPoints"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getUtils"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getUtils"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getUtils"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "valueOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pointsToString"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "toSVG"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setRatios"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "verify"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "coordDigest"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "coordDigest"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derive"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "computedirection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "computedirection"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "projectionratio"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abcratio"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getABC"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLUT"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLUT"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "project"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getLUT"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "closest"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "point"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "computeWithRatios"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "raise"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dderivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "compute"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "align"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curvature"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "inflections"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "inflections"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal3"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "__normal3"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hull"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lerp"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hull"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "extrema"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "droots"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sort"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "extrema"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getminmax"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bind"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "overlaps"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "bboxoverlap"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "simple"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "extrema"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "simple"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "split"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "raise"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "offset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli4"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "derivative"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lli4"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "outline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "normal"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reverse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "outlineshapes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "outline"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "makeshape"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "intersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineIntersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curveintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selfintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineIntersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "roots"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "between"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "between"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "selfintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curveintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "curveintersects"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "overlaps"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pairiteration"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arcs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_iterate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_error"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "dist"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_iterate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getccenter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_error"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "angle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "test"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reduce"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getOwnPropertySymbols"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "keys"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "values"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "range"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "range"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "domain"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "has"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "set"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "from"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "unknown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNeedsRedraw"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alphaDecay"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "velocityDecay"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onEngineStop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onEngineTick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cos"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "concat"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "entries"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "moveTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setLineDash"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stroke"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "min"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "length"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "atan2"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "moveTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lineTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sin"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fill"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "abs"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "get"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkDirectionalParticleCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fill"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "beginPath"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "arc"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "rgba"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "fill"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "init"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "stop"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "alpha"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "links"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "join"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "slice"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "values"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "indexOf"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "includes"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "force"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isNaN"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "find"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "strength"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onFinishUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_destructor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "push"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translateBy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTransform"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "save"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "clearRect"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "restore"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "every"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "reset"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lookup"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "hasOwnProperty"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "graphData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "graphData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "flushShadowCanvas"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkCanvasObject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "flushShadowCanvas"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleExtent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleExtent"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onChange"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "assign"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "easing"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onComplete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translateTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "easing"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onComplete"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "start"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getGraphBbox"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "max"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "centerAt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cancelAnimationFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "_animationCycle"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "pauseAnimation"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "graphData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "cooldownTicks"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "nodeColor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkColor"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isShadow"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "appendChild"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "createElement"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getContext"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getContext"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getImageData"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "lookup"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "style"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "mouse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "mouse"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "setTimeout"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "copy"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "call"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "apply"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "subject"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "add"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "sqrt"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "map"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "d3AlphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNodeDrag"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "d3AlphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "d3AlphaTarget"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "resetCountdown"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "remove"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNodeDragEnd"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "zoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "filter"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "translate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onZoom"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onNeedsRedraw"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onFinishUpdate"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "scaleTo"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forEach"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "getBoundingClientRect"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "void"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "requestAnimationFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onBackgroundClick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onBackgroundRightClick"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "addEventListener"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "preventDefault"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "forceGraph"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "shadowGraph"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "linkWidth"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "globalScale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tickFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "isEngineRunning"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "some"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "content"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onRenderFramePre"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "globalScale"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "tickFrame"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "onRenderFramePost"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "update"}, {"confidence": "EXTRACTED", "relation": "calls", "source": "readmenator/_vendor/force-graph.min.js", "target": "requestAnimationFrame"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "colorsys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "multiprocessing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "textwrap"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "networkx"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_video.py", "target": "PIL"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "html"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_viewer_ui.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_watcher.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "time"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "collections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_wiki.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/_yaralite.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._c"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._python"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._go"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._rust"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._javascript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._java"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._csharp"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._shell"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._php"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._dart"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._gdscript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._nim"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._assembly"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._ruby"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._swift"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._kotlin"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._scala"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._lua"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/__init__.py", "target": "readmenator.parsers._elixir"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_assembly.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_base.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_c.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_csharp.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_dart.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_elixir.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_gdscript.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_go.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_java.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_javascript.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_kotlin.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_lua.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_nim.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_php.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "ast"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_python.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_ruby.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_rust.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_scala.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_shell.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "readmenator.parsers._base"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator/parsers/_swift.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator.py", "target": "readmenator.__main__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "argparse"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "logging"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "shlex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "datetime"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "readmenator_orchestrator.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._gitmeta"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._layers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._purpose"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_friendliness.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_injector.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_agent_output.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_analyzer.py", "target": "readmenator._analyzer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "base64"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "gzip"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._apidocs_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._apidocs_render"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._docstrings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_apidocs.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_bundlegraph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "readmenator._cache"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cache.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_components.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "readmenator._concepts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_concepts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_config.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_config.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "readmenator._cpg"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cpg.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "readmenator._cursorrules_generator"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_cursorrules.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._dataflow"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dataflow.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "readmenator._dead_code"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_dead_code.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_diagrams.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._documentation"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_documentation.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "readmenator._exporter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_exporter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._documentation"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._flowcharts"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._flowlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._pytypes"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._apidocs"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_flowcharts.py", "target": "readmenator._apidocs_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._agent_output"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._components"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_folder_readme.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._gh_wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "unittest.mock"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_gh_wiki.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphlayout.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_graphrag.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "readmenator._hotspots"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_hotspots.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "base64"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "gzip"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_htmlpack.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_integration.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "subprocess"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._analytics"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._htmlpack"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._embed"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._exclusions"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._explorer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._exporter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._provenance"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._scantext"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._yaralite"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_interactive_graph.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "readmenator._layer_rules"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layer_rules.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "random"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._forcegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._graphlayout"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_layout_quality.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "readmenator._linter"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_linter.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "readmenator._mcp_server"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mcp_server.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._graphrag"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._memory"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_memory.py", "target": "readmenator._skill_installer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mermaid.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mermaid.py", "target": "readmenator._mermaid"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_mermaid.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_models.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_models.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ollama.py", "target": "readmenator._ollama"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "readmenator.parsers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers.py", "target": "warnings"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_new.py", "target": "readmenator.parsers"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "sys"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._python"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._c"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._go"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._rust"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._javascript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._java"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._csharp"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._shell"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._php"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._dart"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._gdscript"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._nim"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._ruby"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._swift"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._kotlin"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._scala"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._lua"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "readmenator.parsers._elixir"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_parsers_property.py", "target": "hypothesis"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._diagrams"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._project_config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._agent_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._folder_readme"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._viewer_ui"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._forcegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._bundlegraph_page"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_project_config.py", "target": "readmenator._flowpage"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_query.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_query.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_query.py", "target": "readmenator._query"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "pytest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._category"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._explain"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._projections"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_ranking.py", "target": "readmenator._rank"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "readmenator._readme_injector"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_readme_injector.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._refactorizer"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_refactorizer.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_resolver.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_resolver.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_resolver.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_rule_gen.py", "target": "readmenator._rule_gen"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sarif.py", "target": "readmenator._sarif"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "shutil"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_scanner.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_security.py", "target": "readmenator._security"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "re"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._bundlegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._forcegraph"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._sourceview"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_sourceview.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_symindex.py", "target": "readmenator._symindex"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint.py", "target": "readmenator._taint"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "typing"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._taint"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "pytest_bdd"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._scanner"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "readmenator._resolver"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_taint_bdd.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "__future__"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_uml.py", "target": "readmenator._uml"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "math"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._video"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "hashlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_video.py", "target": "readmenator._app"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "json"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "os"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "tempfile"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "unittest"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "pathlib"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._config"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "dataclasses"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._models"}, {"confidence": "EXTRACTED", "relation": "imports", "source": "tests/test_wiki.py", "target": "readmenator._wiki"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_app.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_category.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_project_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_diagrams.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_mcp_server.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_components.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_ollama.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_symindex.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_concepts.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_rank.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_readme_injector.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__init__.py", "target": "readmenator/_uml.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_app.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_mcp_server.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/__main__.py", "target": "readmenator/_project_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_cache.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_folder_readme.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_gitmeta.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_purpose.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_resolver.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_agent_output.py", "target": "readmenator/_security.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analytics.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analytics.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analyzer.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_analyzer.py", "target": "readmenator/_models.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator/_apidocs.py", "target": "readmenator/_config.py"}, {"confidence": "EXTRACTED", "relation": "resolved_imports", "source": "readmenator
⚠️ **GitHub.com Fallback** ⚠️