[{"data":1,"prerenderedAt":939},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-xerj-org\u002Fxerj":244},[4,29,99,119,189],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"icon":6,"path":101,"stem":102,"children":103,"page":6},"Concepts","\u002Fconcepts","3.concepts",[104,109,114],{"title":105,"path":106,"stem":107,"icon":108},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":110,"path":111,"stem":112,"icon":113},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":115,"path":116,"stem":117,"icon":118},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":120,"icon":6,"path":121,"stem":122,"children":123,"page":6},"Reference","\u002Freference","4.reference",[124,129,134,139,176,181,185],{"title":125,"path":126,"stem":127,"icon":128},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":130,"path":131,"stem":132,"icon":133},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":135,"path":136,"stem":137,"icon":138},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":140,"icon":6,"path":141,"stem":142,"children":143},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[144,146,151,156,161,166,171],{"title":140,"path":141,"stem":142,"icon":145},"i-lucide-file-chart-column",{"title":147,"path":148,"stem":149,"icon":150},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":152,"path":153,"stem":154,"icon":155},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":157,"path":158,"stem":159,"icon":160},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":162,"path":163,"stem":164,"icon":165},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":167,"path":168,"stem":169,"icon":170},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":172,"path":173,"stem":174,"icon":175},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":177,"path":178,"stem":179,"icon":180},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":182,"path":183,"stem":184,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":186,"path":187,"stem":188,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":190,"icon":6,"path":191,"stem":192,"children":193,"page":6},"Project","\u002Fproject","5.project",[194,199,204,209,234,239],{"title":195,"path":196,"stem":197,"icon":198},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":200,"path":201,"stem":202,"icon":203},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":205,"path":206,"stem":207,"icon":208},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":210,"icon":6,"path":211,"stem":212,"children":213},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[214,216,221,225,230],{"title":210,"path":211,"stem":212,"icon":215},"i-lucide-gauge",{"title":217,"path":218,"stem":219,"icon":220},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":222,"path":223,"stem":224,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":226,"path":227,"stem":228,"icon":229},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":231,"path":232,"stem":233,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":235,"path":236,"stem":237,"icon":238},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":240,"path":241,"stem":242,"icon":243},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":245,"url":246,"appearances":247,"latest":263},"xerj-org\u002Fxerj","https:\u002F\u002Fgithub.com\u002Fxerj-org\u002Fxerj",[248],{"date":249,"rank":250,"stars":251,"starsToday":252,"headSha":253,"sources":254,"lines":255,"clones":256,"duplicatedLines":257,"percentage":258,"codePercentage":259,"codeSources":260,"healthScore":261,"healthGrade":262},"2026-10-16",3,5902,715,"45565571ec2a381c0faf0ddd631b32c44c48e028",3046,964097,6781,146303,15.18,4.7,570,40.2,"D",{"date":249,"generatedAt":264,"name":245,"url":246,"description":265,"language":266,"stars":251,"starsToday":252,"defaultBranch":267,"headSha":253,"durationMs":268,"total":269,"formats":273,"topClones":344,"code":596,"health":816,"complexity":851,"deadCode":903},"2026-10-16T05:28:44.455Z","XERJ is the new way for AI to search data. Its autoindex capability activates agents to know your data without the token waste of grep and sed. One command indexes code, docs, logs and PDFs for search, RAG, security audits and agent memory, using 40x fewer tokens than grep. Elasticsearch compatible, so existing clients just work.","Rust","main",5907,{"sources":254,"lines":255,"tokens":270,"clones":256,"duplicatedLines":257,"duplicatedTokens":271,"percentage":258,"percentageTokens":272},8531221,1521435,17.83,[274,281,288,295,302,309,316,323,330,337],{"format":275,"sources":276,"lines":277,"clones":278,"duplicatedLines":279,"percentage":280},"markup",202,86377,2553,60364,69.88,{"format":282,"sources":283,"lines":284,"clones":285,"duplicatedLines":286,"percentage":287},"rust",551,431625,2178,23623,5.47,{"format":289,"sources":290,"lines":291,"clones":292,"duplicatedLines":293,"percentage":294},"yaml",325,59913,595,12360,20.63,{"format":296,"sources":297,"lines":298,"clones":299,"duplicatedLines":300,"percentage":301},"log",34,9522,320,6140,64.48,{"format":303,"sources":304,"lines":305,"clones":306,"duplicatedLines":307,"percentage":308},"markdown",702,131703,292,13404,10.18,{"format":310,"sources":311,"lines":312,"clones":313,"duplicatedLines":314,"percentage":315},"javascript",156,48787,287,8096,16.59,{"format":317,"sources":318,"lines":319,"clones":320,"duplicatedLines":321,"percentage":322},"json",269,108868,219,14663,13.47,{"format":324,"sources":325,"lines":326,"clones":327,"duplicatedLines":328,"percentage":329},"text",216,10528,125,3797,36.07,{"format":331,"sources":332,"lines":333,"clones":334,"duplicatedLines":335,"percentage":336},"python",187,37552,76,1297,3.45,{"format":338,"sources":339,"lines":340,"clones":341,"duplicatedLines":342,"percentage":343},"css",7,7310,67,1978,27.06,[345,397,433,456,468,483,506,535,563,587],{"format":275,"lines":346,"tokens":347,"first":348,"others":352,"copies":384,"excerpt":385,"kind":396},80,2353,{"name":349,"start":350,"end":351},"landing\u002Fdocs\u002Faggregations.html",392,471,[353,357,361,364,368,372,376,380],{"name":354,"start":355,"end":356},"landing\u002Fdocs\u002Fanalyzers.html",318,397,{"name":358,"start":359,"end":360},"landing\u002Fdocs\u002Fapi-es-compat.html",421,500,{"name":362,"start":356,"end":363},"landing\u002Fdocs\u002Fcli.html",476,{"name":365,"start":366,"end":367},"landing\u002Fdocs\u002Fclustering.html",391,470,{"name":369,"start":370,"end":371},"landing\u002Fdocs\u002Fcompression.html",322,401,{"name":373,"start":374,"end":375},"landing\u002Fdocs\u002Fcorpus-hub.html",438,517,{"name":377,"start":378,"end":379},"landing\u002Fdocs\u002Fenv.html",430,509,{"name":381,"start":382,"end":383},"landing\u002Fdocs\u002Fingest.html",324,403,25,{"lines":386,"total":346},[387,388,389,390,389,391,392,393,394,395],"  \u003Cspan>\u003Ca href=\"\u002F\">HOME\u003C\u002Fa> · \u003Ca href=\"\u002Fproduct\">PRODUCT\u003C\u002Fa> · \u003Ca href=\"\u002Fbrand\">BRAND\u003C\u002Fa> · \u003Ca href=\"\u002Fplayground\">DASHBOARDS\u003C\u002Fa> &middot; \u003Ca href=\"\u002Fllms.txt\">…","\u003C\u002Ffooter>","","\u003Cscript type=\"application\u002Fjson\" id=\"docs-index\">[{\"title\":\"Corpus Hub\",\"slug\":\"\u002Fdocs\u002Fcorpus-hub\",\"kicker\":\"CORPUS HUB\",\"snip\":\"Registry of corpora for agents —…","\u003Cscript>","  \u002F\u002F IIFE — js-auth navigates between decrypted pages in the same","  \u002F\u002F JS realm, so const bindings must be lexically scoped.","  (function () {","    const root = document.documentElement;","docs",{"format":275,"lines":398,"tokens":399,"first":400,"others":403,"copies":420,"excerpt":421,"kind":275},33,675,{"name":401,"start":402,"end":311},"landing\u002Fanswers\u002Fagent-memory-without-postgres-qdrant.html",124,[404,406,408,410,412,414,416,418],{"name":405,"start":402,"end":311},"landing\u002Fanswers\u002Faudit-php-codebase-with-an-index.html",{"name":407,"start":402,"end":311},"landing\u002Fanswers\u002Fautoindex-dataset-refused-by-server.html",{"name":409,"start":402,"end":311},"landing\u002Fanswers\u002Fautoindex-exit-codes.html",{"name":411,"start":402,"end":311},"landing\u002Fanswers\u002Fautoindex-says-extract-the-archive-first.html",{"name":413,"start":402,"end":311},"landing\u002Fanswers\u002Fautoindex-server-back-pressure-429.html",{"name":415,"start":402,"end":311},"landing\u002Fanswers\u002Fcatalog-files-with-autoindex-map.html",{"name":417,"start":402,"end":311},"landing\u002Fanswers\u002Fcheap-low-volume-log-search.html",{"name":419,"start":402,"end":311},"landing\u002Fanswers\u002Fcheck-codebase-index-is-complete.html",83,{"lines":422,"total":398},[423,424,425,426,427,428,429,430,431,432],"\u003Ca href=\"\u002Fcase-studies\">CASE STUDIES\u003C\u002Fa>","\u003Ca href=\"\u002Fbenchmarks\u002F\">BENCHMARKS\u003C\u002Fa>","\u003Cspan class=\"spacer\">\u003C\u002Fspan>","\u003Ca href=\"\u002Ffor-agents\">FOR AGENTS\u003C\u002Fa>","\u003Ca href=\"\u002Fdocs\u002F\" class=\"active\">DOCS\u003C\u002Fa>","\u003Ca href=\"\u002Fdocs\u002Frecipes\u002F\">RECIPES\u003C\u002Fa>","\u003Ca href=\"\u002Fplayground\">DASHBOARDS\u003C\u002Fa>","\u003Ca href=\"https:\u002F\u002Fhub.xerj.org\" rel=\"external\">HUB\u003C\u002Fa>","\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxerj-org\u002Fxerj\" rel=\"external\">GITHUB\u003C\u002Fa>","\u003Ca href=\"https:\u002F\u002Fx.com\u002Fxerj_org\" rel=\"external\" title=\"XERJ on X\" style=\"display:inline-flex;align-items:center\">\u003Csvg width=\"15\" height=\"15\" viewBox=\"0 0 24 24…",{"format":317,"lines":434,"tokens":435,"first":436,"others":439,"copies":442,"excerpt":443,"kind":455},8893,35383,{"name":437,"start":438,"end":434},"benchmarks\u002Fdecide-model\u002Fpinned\u002Ftokenizer.json",1,[440],{"name":441,"start":438,"end":434},"benchmarks\u002Fdecide-model\u002Fpublished\u002Fxerj-decide-v1\u002Ftokenizer.json",2,{"lines":444,"total":434},[445,446,447,448,449,450,451,452,453,454],"{","  \"version\": \"1.0\",","  \"truncation\": {","    \"direction\": \"Right\",","    \"max_length\": 512,","    \"strategy\": \"LongestFirst\",","    \"stride\": 0","  },","  \"padding\": null,","  \"added_tokens\": [","data",{"format":275,"lines":457,"tokens":458,"first":459,"others":463,"copies":442,"kind":275},15,33689,{"name":460,"start":461,"end":462},"landing\u002Fproduct.html",228,242,[464],{"name":465,"start":466,"end":467},"landing\u002Fuse-cases\u002Fai-search-retrieval.html",153,167,{"format":275,"lines":469,"tokens":470,"first":471,"others":475,"copies":250,"kind":396},138,16579,{"name":472,"start":473,"end":474},"landing\u002Fdocs\u002Fbackup-restore.html",298,435,[476,479],{"name":477,"start":478,"end":379},"landing\u002Fdocs\u002Fconfig.html",372,{"name":480,"start":481,"end":482},"landing\u002Fdocs\u002Findex.html",368,505,{"format":275,"lines":484,"tokens":485,"first":486,"others":488,"copies":505,"kind":275},91,3090,{"name":401,"start":311,"end":487},246,[489,491,493,495,497,499,501,503],{"name":490,"start":311,"end":487},"landing\u002Fanswers\u002Fcode-search-mcp-for-claude-code.html",{"name":492,"start":311,"end":487},"landing\u002Fanswers\u002Fcoding-agent-memory-across-sessions.html",{"name":494,"start":311,"end":487},"landing\u002Fanswers\u002Fevidence-for-agent-memory-links.html",{"name":496,"start":311,"end":487},"landing\u002Fanswers\u002Fgive-chatgpt-claude-local-file-access.html",{"name":498,"start":311,"end":487},"landing\u002Fanswers\u002Fknowledge-graphs-for-agent-memory.html",{"name":500,"start":311,"end":487},"landing\u002Fanswers\u002Fmcp-api-search-or-vector-search.html",{"name":502,"start":311,"end":487},"landing\u002Fanswers\u002Fprivate-agent-memory-namespaces.html",{"name":504,"start":311,"end":487},"landing\u002Fanswers\u002Fset-mcp-memory-storage-path.html",10,{"format":275,"lines":507,"tokens":508,"first":509,"others":512,"copies":297,"kind":275},62,681,{"name":401,"start":510,"end":511},323,384,[513,516,519,522,525,528,529,531],{"name":405,"start":514,"end":515},363,424,{"name":407,"start":517,"end":518},349,410,{"name":409,"start":520,"end":521},393,454,{"name":411,"start":523,"end":524},308,369,{"name":413,"start":526,"end":527},353,414,{"name":415,"start":517,"end":518},{"name":417,"start":530,"end":383},342,{"name":532,"start":533,"end":534},"landing\u002Fanswers\u002Fclassify-text-from-labelled-history-without-llm.html",341,402,{"format":275,"lines":536,"tokens":537,"first":538,"others":541,"copies":562,"kind":396},63,680,{"name":539,"start":359,"end":540},"landing\u002Fdocs\u002Fagents\u002Fendpoints.html",483,[542,545,548,549,552,555,557,560],{"name":349,"start":543,"end":544},334,395,{"name":354,"start":546,"end":547},260,321,{"name":358,"start":514,"end":515},{"name":362,"start":550,"end":551},339,400,{"name":365,"start":553,"end":554},333,394,{"name":369,"start":556,"end":290},264,{"name":373,"start":558,"end":559},380,441,{"name":377,"start":478,"end":561},433,30,{"format":275,"lines":398,"tokens":564,"first":565,"others":569,"copies":586,"kind":275},111,{"name":566,"start":567,"end":568},"landing\u002F404.html",28,60,[570,574,578,581,582,583,584,585],{"name":571,"start":572,"end":573},"landing\u002Fagent-search\u002Findex.html",126,158,{"name":575,"start":576,"end":577},"landing\u002Faise-demo.html",39,71,{"name":401,"start":579,"end":580},29,61,{"name":405,"start":579,"end":580},{"name":407,"start":579,"end":580},{"name":409,"start":579,"end":580},{"name":411,"start":579,"end":580},{"name":413,"start":579,"end":580},169,{"format":275,"lines":469,"tokens":588,"first":589,"others":593,"copies":442,"kind":275},17893,{"name":590,"start":591,"end":592},"landing\u002Fanswers\u002Findex.html",90,227,[594],{"name":595,"start":591,"end":592},"landing\u002Fcompare\u002Findex.html",{"sources":260,"lines":597,"tokens":598,"clones":599,"duplicatedLines":600,"duplicatedTokens":601,"percentage":259,"percentageTokens":602,"formats":603,"topClones":634,"generated":808},395537,2449534,1404,18584,143055,5.84,[604,610,616,622,628,632],{"format":282,"sources":605,"lines":606,"clones":607,"duplicatedLines":608,"percentage":609},317,336731,1257,12372,3.67,{"format":310,"sources":611,"lines":612,"clones":613,"duplicatedLines":614,"percentage":615},105,28796,106,5843,20.29,{"format":331,"sources":617,"lines":618,"clones":619,"duplicatedLines":620,"percentage":621},96,22879,32,273,1.19,{"format":623,"sources":624,"lines":625,"clones":626,"duplicatedLines":617,"percentage":627},"bash",50,6805,9,1.41,{"format":629,"sources":438,"lines":630,"clones":631,"duplicatedLines":631,"percentage":631},"perl",168,0,{"format":633,"sources":438,"lines":573,"clones":631,"duplicatedLines":631,"percentage":631},"powershell",[635,654,675,699,708,740,748,758,767,798],{"format":310,"lines":530,"tokens":636,"first":637,"others":640,"copies":442,"excerpt":643,"kind":653},3050,{"name":638,"start":505,"end":639},"landing\u002Fplayground\u002Fsrc\u002Fux\u002Fcharts-ai.js",351,[641],{"name":642,"start":505,"end":639},"xerj-ux\u002Fsrc\u002Fux\u002Fcharts-ai.js",{"lines":644,"total":530},[645,389,646,647,648,649,650,389,651,652],"import { esc, fmt } from '.\u002Ftext.js';","const minMax = (xs) => {","  let mn = Infinity, mx = -Infinity;","  for (const x of xs) { if (x \u003C mn) mn = x; if (x > mx) mx = x; }","  return [mn === Infinity ? 0 : mn, mx === -Infinity ? 0 : mx];","};","\u002F\u002F Andrew's monotone chain — O(n log n) convex hull.","function convexHull(points) {","code",{"format":310,"lines":655,"tokens":656,"first":657,"others":661,"copies":442,"excerpt":664,"kind":653},343,2597,{"name":658,"start":659,"end":660},"landing\u002Fplayground\u002Fsrc\u002Fux\u002Fchart-types.js",14,356,[662],{"name":663,"start":659,"end":660},"xerj-ux\u002Fsrc\u002Fux\u002Fchart-types.js",{"lines":665,"total":655},[666,667,668,669,670,671,389,672,673,674],"import { Num, fmt }               from '.\u002Ftext.js';","import { Spark, Series, Dist, Heatmap, Multiples } from '.\u002Fcharts.js';","import { VBar, Hist, Gauge, Scatter, Stacked, Treemap } from '.\u002Fcharts-ext.js';","import { EmbedSpace, Ribbon3D, ChordArcs, ParallelCoords, AttentionMap, FlowBand } from '.\u002Fcharts-ai.js';","import { Table, Markdown }        from '.\u002Ftables.js';","import { TopN, Events }           from '.\u002Flayout.js';","\u002F\u002F ---------- demo data (deterministic) ---------------------","const demoSeries = Array.from({ length: 48 }, (_, i) =>","  50 + Math.sin(i \u002F 5.5) * 22 + Math.cos(i \u002F 3.2) * 9 + ((i * 37) % 7)",{"format":310,"lines":676,"tokens":677,"first":678,"others":682,"copies":442,"excerpt":687,"kind":653},332,2317,{"name":679,"start":680,"end":681},"landing\u002Fplayground\u002Fsrc\u002Fapp.js",748,1079,[683],{"name":684,"start":685,"end":686},"xerj-ux\u002Fsrc\u002Fapp.js",1583,1914,{"lines":688,"total":676},[689,690,691,692,693,694,695,696,697,698],"const secA = e.target.closest('[data-section]');","if (secA) {","  e.preventDefault();","  const sid = secA.getAttribute('data-section');","  if (sid === 'dashboards') {","    location.hash = '#\u002Fdashboards';","  } else {","    location.hash = '#\u002F' + sid;","  }","  return;",{"format":310,"lines":700,"tokens":701,"first":702,"others":705,"copies":442,"kind":653},189,1856,{"name":703,"start":276,"end":704},"landing\u002Fplayground\u002Fsrc\u002Fdata\u002Fmock.js",390,[706],{"name":707,"start":276,"end":704},"xerj-ux\u002Fsrc\u002Fdata\u002Fmock.js",{"format":282,"lines":505,"tokens":709,"first":710,"others":714,"copies":739,"kind":653},99,{"name":711,"start":712,"end":713},"engine\u002Fcrates\u002Fxerj-autoindex\u002Fsrc\u002Ffailure_resume_http_tests.rs",1150,1159,[715,718,721,724,727,730,733,736],{"name":711,"start":716,"end":717},1215,1224,{"name":711,"start":719,"end":720},1235,1244,{"name":711,"start":722,"end":723},1289,1298,{"name":711,"start":725,"end":726},1342,1351,{"name":711,"start":728,"end":729},1371,1380,{"name":711,"start":731,"end":732},1416,1425,{"name":711,"start":734,"end":735},1577,1586,{"name":711,"start":737,"end":738},1603,1612,19,{"format":310,"lines":741,"tokens":742,"first":743,"others":745,"copies":442,"kind":653},179,1751,{"name":703,"start":704,"end":744},568,[746],{"name":707,"start":704,"end":747},581,{"format":310,"lines":749,"tokens":750,"first":751,"others":754,"copies":442,"kind":653},205,1616,{"name":679,"start":752,"end":753},1108,1312,[755],{"name":684,"start":756,"end":757},1949,2153,{"format":310,"lines":759,"tokens":760,"first":761,"others":764,"copies":442,"kind":653},143,1561,{"name":703,"start":762,"end":763},755,897,[765],{"name":707,"start":747,"end":766},723,{"format":282,"lines":339,"tokens":334,"first":768,"others":772,"copies":797,"kind":653},{"name":769,"start":770,"end":771},"engine\u002Fcrates\u002Fxerj-autoindex\u002Fsrc\u002Fincremental_reconcile_http_tests.rs",1261,1267,[773,776,779,782,785,788,791,794],{"name":769,"start":774,"end":775},1318,1324,{"name":769,"start":777,"end":778},1346,1352,{"name":769,"start":780,"end":781},1384,1390,{"name":769,"start":783,"end":784},1473,1479,{"name":769,"start":786,"end":787},1529,1535,{"name":769,"start":789,"end":790},1685,1691,{"name":769,"start":792,"end":793},1731,1737,{"name":769,"start":795,"end":796},1996,2002,20,{"format":310,"lines":799,"tokens":800,"first":801,"others":804,"copies":442,"kind":653},171,1414,{"name":679,"start":802,"end":803},88,258,[805],{"name":684,"start":806,"end":807},132,302,{"files":809,"minified":438,"sample":810},5,[811,812,813,814,815],".github\u002Fscripts\u002Fprev_tag.sh","engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Fsecret_hash.rs","landing\u002Fchart-data.js","landing\u002Fplayground\u002Fsrc\u002Fdata\u002Ffeedback-citations.js","xerj-ux\u002Fsrc\u002Fdata\u002Ffeedback-citations.js",{"score":261,"grade":262,"size":817,"dimensions":821},{"lines":818,"files":819,"class":820},528796,967,"L",[822,836,845],{"id":823,"source":824,"value":825,"adjusted":825,"lines":826,"halfLife":827,"formats":828,"excluded":834,"weight":438,"score":835},"duplication","jscpd",6.3,33109,8.5,[282,310,331,623,829,629,633,830,831,832,833],"java","c","php","sql","c-header",[275,324,455],60.1,{"id":837,"source":824,"value":838,"adjusted":839,"lines":840,"halfLife":841,"coverage":842,"weight":843,"score":844},"dead-code",28.7,28.1,24728,7.5,16.3,0.163,7.4,{"id":846,"source":824,"value":847,"adjusted":848,"lines":849,"halfLife":624,"weight":438,"score":850},"complexity",75.2,75,397624,35.4,{"total":852,"mean":853,"files":854},67501,69.8,[855,860,865,870,875,880,885,889,894,899],{"path":856,"complexity":857,"lines":858,"bytes":859},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Faggs.rs",2821,15730,650416,{"path":861,"complexity":862,"lines":863,"bytes":864},"landing\u002Fplayground\u002Fapp.bundle.js",1501,6355,244713,{"path":866,"complexity":867,"lines":868,"bytes":869},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Ffast_aggs.rs",1262,6724,291740,{"path":871,"complexity":872,"lines":873,"bytes":874},"engine\u002Fcrates\u002Fxerj-query\u002Fsrc\u002Fparser.rs",1202,6818,259864,{"path":876,"complexity":877,"lines":878,"bytes":879},"engine\u002Fcrates\u002Fxerj-autoindex\u002Fsrc\u002Flib.rs",1184,12170,538853,{"path":881,"complexity":882,"lines":883,"bytes":884},"engine\u002Fcrates\u002Fxerj-storage\u002Fsrc\u002Findex_store.rs",845,7963,357144,{"path":684,"complexity":886,"lines":887,"bytes":888},729,2188,88523,{"path":890,"complexity":891,"lines":892,"bytes":893},"engine\u002Fcrates\u002Fxerj-storage\u002Fsrc\u002Fstored_codec.rs",725,5198,214250,{"path":895,"complexity":896,"lines":897,"bytes":898},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Fpainless.rs",696,3994,168617,{"path":900,"complexity":399,"lines":901,"bytes":902},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Fmemtable.rs",6552,295072,{"percentage":904,"findings":484,"files":655,"byCategory":905,"largest":914},28.69,[906,909,911],{"category":907,"count":908},"unused-file",72,{"category":910,"count":438},"unused-symbol",{"category":912,"count":913},"unused-import",18,[915,916,917,919,921,924,927,930,933,936],{"category":907,"path":861,"name":389,"line":438,"lines":863},{"category":907,"path":684,"name":389,"line":438,"lines":887},{"category":907,"path":679,"name":389,"line":438,"lines":918},1322,{"category":907,"path":703,"name":389,"line":438,"lines":920},1045,{"category":907,"path":922,"name":389,"line":438,"lines":923},"xerj-ux\u002Fshare\u002Fshare.js",820,{"category":907,"path":925,"name":389,"line":438,"lines":926},"demo\u002Fusecases\u002Fdoc-index\u002Fcompare.mjs",772,{"category":907,"path":928,"name":389,"line":438,"lines":929},"landing\u002Fcharts.js",529,{"category":907,"path":931,"name":389,"line":438,"lines":932},"docs\u002Fdesign\u002Fsecond_brain_graph_wf.js",453,{"category":907,"path":934,"name":389,"line":438,"lines":935},"docs\u002Fdesign\u002Fsecond_brain_finish_wf.js",418,{"category":907,"path":937,"name":389,"line":438,"lines":938},"demo\u002Fusecases\u002Fdoc-index\u002Fgrep-baseline.mjs",387,1792128593890]