[{"data":1,"prerenderedAt":3048},["ShallowReactive",2],{"indicators:functions/libraries":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"functions/libraries","functions/libraries.md",{"title":7,"description":8,"order":9,"section":10},"Libraries","Sharing code between Indicators is publishing a package: the unit of reuse on the registry is a whole Indicator, addressed as @scope/name, that anyone installs…",46,"functions","---\ntitle: \"Libraries\"\ndescription: \"Sharing code between Indicators is publishing a package: the unit of reuse on the registry is a whole Indicator, addressed as @scope/name, that anyone installs…\"\norder: 46\nsection: \"functions\"\n---\n\n\u003C!-- source: docs/indicators/functions/libraries.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Libraries\n\nSharing code between Indicators is publishing a package: the unit of\nreuse on the registry is a whole Indicator, addressed as `@scope/name`,\nthat anyone installs, mounts on a chart, or feeds into another package\nas a metric composition input. Inside one workspace, shared code is an\nordinary AssemblyScript module beside `src/indicator.ts`, imported by\nrelative path. kScript (legacy) had a third thing, a `library()` header\nimported as `@owner/name` and frozen into every consumer at save; that\ncross-package source import is not in Indicators yet, and this page is\nwhat the two existing forms give you instead. The registry side (dry\nrun, publish, versions, visibility, deleting) is\n[Publishing](publishing.md).\n\n## A shared module in the workspace\n\nPut functions, classes, and constants in a second file under `src/` and\nimport it by path. The build compiles every file `src/indicator.ts`\nreaches; the only rule is that declarations (`param`, `input`, `output`,\nand the rest) live in `src/indicator.ts`, because the sheet is derived\nfrom the entry file alone (a declaration elsewhere is the named build\nerror `code-first declarations must live in src/indicator.ts`).\n\nThe kScript `library(\"norm\")` example as `src/lib/norm.ts`:\n\n```typescript\n// A shared helper module: plain AssemblyScript functions and a class, no declarations.\nexport function zscore(sample: f64, mean: f64, dev: f64): f64 {\n  if (dev == 0.0) return 0.0;\n  return (sample - mean) / dev;\n}\n\n// +1 stretched up, -1 stretched down, 0 neutral.\nexport function regime(z: f64, hi: f64, lo: f64): f64 {\n  if (z > hi) return 1.0;\n  if (z \u003C lo) return -1.0;\n  return 0.0;\n}\n\nexport class Band {\n  top: f64;\n  bottom: f64;\n\n  constructor(top: f64, bottom: f64) {\n    this.top = top;\n    this.bottom = bottom;\n  }\n\n  contains(price: f64): bool {\n    return price \u003C= this.top && price >= this.bottom;\n  }\n}\n```\n\nAnd the consumer, `src/indicator.ts`, which owns the data, the TA\nobjects, and the declarations, and imports the shared logic beside the\nshipped `./sdk/ta`:\n\n```typescript\nimport { input, line, lower, ohlcv, output, param } from \"./sdk/declare\";\nimport { in_close } from \"./gen/inputs\";\nimport { emitRow, out_regime, out_z } from \"./gen/outputs\";\nimport { p_period } from \"./gen/params\";\nimport { Sma, Stdev } from \"./sdk/ta\";\nimport { Band, regime, zscore } from \"./lib/norm\";\n\nparam(\"period\", 20, { min: 2, max: 400 });\ninput(\"close\", ohlcv.close);\noutput(\"z\", line, lower, { color: \"#4f8cff\", description: \"Z-score of the close\" });\noutput(\"regime\", line, lower, { color: \"#f59e0b\", description: \"+1 stretched up, -1 down, 0 inside the band\" });\n\nlet sma = new Sma(20);\nlet stdev = new Stdev(20);\nlet z: f64 = NaN;\nlet band = new Band(0.0, 0.0);\n\nexport function init(): void {\n  sma = new Sma(i32(p_period()));\n  stdev = new Stdev(i32(p_period()));\n}\n\nexport function state(): i32 {\n  const close = in_close();\n  const mean = sma.update(close);\n  const dev = stdev.update(close);\n  z = zscore(close, mean, dev);\n  band = new Band(mean + dev, mean - dev);\n  return isNaN(mean) || isNaN(dev) ? 0 : 1;\n}\n\nexport function finalize(): void {\n  out_z(z);\n  out_regime(band.contains(z) ? 0.0 : regime(z, 2.0, -2.0));\n  emitRow();\n}\n\nexport function reset(): void {\n  sma.reset();\n  stdev.reset();\n  z = NaN;\n}\n```\n\nBoth files build with `om indicator build`, and the exported package\ncarries the compiled module and the sheet, not the source: the helper is\npart of your workspace, kept beside `src/indicator.ts`. Types travel too:\n`Band` is a class the consumer constructs, the port of a kScript shared\n`type`. What the kScript placement rules were for (aliased calls inside a\n`timeseries` initializer) has no counterpart, because there are no series\nexpressions: a function is a function everywhere.\n\nThe `new Band(...)` on every bar allocates, and the module's runtime\nnever frees; keep one `Band` and update its fields when the history is\nlong ([Collections](../core-concepts/collections.md)).\n\nTwo shared-module rules the compiler enforces for you: an import that\ncollides with a local name is a compile error (no silent precedence), and\na shared function calling its sibling always gets its own sibling. Errors\ninside the helper carry the helper's own file, line, and column.\n\n## What a library was for, as a package\n\nThe rest of what a kScript library offered maps onto packages:\n\n| kScript library | Indicator package |\n| --- | --- |\n| `import \"@you/norm\"` | `om install @you/norm`, then mount it or read its metric |\n| `import \"@you/norm@1.0.0\"` pin | installs pin the exact version and hash; alerts lock to what they were armed on |\n| a shared `type` | a class in a workspace module; across packages, values travel as metrics |\n| a consumer reusing a computed series | a `metric` composition input: `{ \"source\": \"metric\", \"metric\": \"wrun/@you/norm/z\" }` in a hand-written sheet feeds one package's output into another ([Script definition](script-definition.md)) |\n| draft resolves live in the editor | `om indicator install --replace` and the editor's Run rebuild from the current source |\n| publish an immutable version | `om publish`; versions are permanent ([Publishing](publishing.md)) |\n\n**Not in Indicators yet.** `import \"@scope/lib\"` from another package's\nsource at build time. Cross-package reuse is a metric today (the\nconsumer reads the published package's computed output) or a copy of the\nmodule into `src/lib`; package-to-package source imports are product\nwork.\n\n```bash\nom install @you/norm\nom indicator install ./my-indicator --replace\n```\n",{"type":13,"children":14,"data":3041,"position":3043},"root",[15,25,28,29,157,158,177,178,329,330,383,384,1074,1075,1123,1124,2241,2242,2351,2352,2424,2425,2440,2441,2458,2459,2473,2475,2917,2918,2987,2988],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/functions/libraries.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":19,"end":22},{"line":20,"column":20,"offset":21},1,0,{"line":20,"column":23,"offset":24},126,125,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":154},"element","p",{},[34,44,58,66,79,87,100,108,121,128,147],{"type":26,"value":35,"position":36},"Sharing code between Indicators is publishing a package: the unit of\nreuse on the registry is a whole Indicator, addressed as ",{"start":37,"end":40},{"line":38,"column":20,"offset":39},5,140,{"line":41,"column":42,"offset":43},6,58,266,{"type":30,"tagName":45,"properties":46,"children":47,"position":55},"code",{},[48],{"type":26,"value":49,"position":50},"@scope/name",{"start":51,"end":52},{"line":41,"column":42,"offset":43},{"line":41,"column":53,"offset":54},71,279,{"start":56,"end":57},{"line":41,"column":42,"offset":43},{"line":41,"column":53,"offset":54},{"type":26,"value":59,"position":60},",\nthat anyone installs, mounts on a chart, or feeds into another package\nas a metric composition input. Inside one workspace, shared code is an\nordinary AssemblyScript module beside ",{"start":61,"end":62},{"line":41,"column":53,"offset":54},{"line":63,"column":64,"offset":65},9,39,461,{"type":30,"tagName":45,"properties":67,"children":68,"position":76},{},[69],{"type":26,"value":70,"position":71},"src/indicator.ts",{"start":72,"end":73},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},57,479,{"start":77,"end":78},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},{"type":26,"value":80,"position":81},", imported by\nrelative path. kScript (legacy) had a third thing, a ",{"start":82,"end":83},{"line":63,"column":74,"offset":75},{"line":84,"column":85,"offset":86},10,54,546,{"type":30,"tagName":45,"properties":88,"children":89,"position":97},{},[90],{"type":26,"value":91,"position":92},"library()",{"start":93,"end":94},{"line":84,"column":85,"offset":86},{"line":84,"column":95,"offset":96},65,557,{"start":98,"end":99},{"line":84,"column":85,"offset":86},{"line":84,"column":95,"offset":96},{"type":26,"value":101,"position":102}," header\nimported as ",{"start":103,"end":104},{"line":84,"column":95,"offset":96},{"line":105,"column":106,"offset":107},11,13,577,{"type":30,"tagName":45,"properties":109,"children":110,"position":118},{},[111],{"type":26,"value":112,"position":113},"@owner/name",{"start":114,"end":115},{"line":105,"column":106,"offset":107},{"line":105,"column":116,"offset":117},26,590,{"start":119,"end":120},{"line":105,"column":106,"offset":107},{"line":105,"column":116,"offset":117},{"type":26,"value":122,"position":123}," and frozen into every consumer at save; that\ncross-package source import is not in Indicators yet, and this page is\nwhat the two existing forms give you instead. The registry side (dry\nrun, publish, versions, visibility, deleting) is\n",{"start":124,"end":125},{"line":105,"column":116,"offset":117},{"line":126,"column":20,"offset":127},15,825,{"type":30,"tagName":129,"properties":130,"children":132,"position":142},"a",{"href":131},"publishing.md",[133],{"type":26,"value":134,"position":135},"Publishing",{"start":136,"end":139},{"line":126,"column":137,"offset":138},2,826,{"line":126,"column":140,"offset":141},12,836,{"start":143,"end":144},{"line":126,"column":20,"offset":127},{"line":126,"column":145,"offset":146},28,852,{"type":26,"value":148,"position":149},".",{"start":150,"end":151},{"line":126,"column":145,"offset":146},{"line":126,"column":152,"offset":153},29,853,{"start":155,"end":156},{"line":38,"column":20,"offset":39},{"line":126,"column":152,"offset":153},{"type":26,"value":27},{"type":30,"tagName":159,"properties":160,"children":162,"position":173},"h2",{"id":161},"a-shared-module-in-the-workspace",[163],{"type":26,"value":164,"position":165},"A shared module in the workspace",{"start":166,"end":170},{"line":167,"column":168,"offset":169},17,4,858,{"line":167,"column":171,"offset":172},36,890,{"start":174,"end":176},{"line":167,"column":20,"offset":175},855,{"line":167,"column":171,"offset":172},{"type":26,"value":27},{"type":30,"tagName":31,"properties":179,"children":180,"position":326},{},[181,190,203,211,222,229,242,249,261,267,280,288,300,308,320],{"type":26,"value":182,"position":183},"Put functions, classes, and constants in a second file under ",{"start":184,"end":187},{"line":185,"column":20,"offset":186},19,892,{"line":185,"column":188,"offset":189},62,953,{"type":30,"tagName":45,"properties":191,"children":192,"position":200},{},[193],{"type":26,"value":194,"position":195},"src/",{"start":196,"end":197},{"line":185,"column":188,"offset":189},{"line":185,"column":198,"offset":199},68,959,{"start":201,"end":202},{"line":185,"column":188,"offset":189},{"line":185,"column":198,"offset":199},{"type":26,"value":204,"position":205}," and\nimport it by path. The build compiles every file ",{"start":206,"end":207},{"line":185,"column":198,"offset":199},{"line":208,"column":209,"offset":210},20,50,1013,{"type":30,"tagName":45,"properties":212,"children":213,"position":219},{},[214],{"type":26,"value":70,"position":215},{"start":216,"end":217},{"line":208,"column":209,"offset":210},{"line":208,"column":198,"offset":218},1031,{"start":220,"end":221},{"line":208,"column":209,"offset":210},{"line":208,"column":198,"offset":218},{"type":26,"value":223,"position":224},"\nreaches; the only rule is that declarations (",{"start":225,"end":226},{"line":208,"column":198,"offset":218},{"line":227,"column":9,"offset":228},21,1077,{"type":30,"tagName":45,"properties":230,"children":231,"position":239},{},[232],{"type":26,"value":233,"position":234},"param",{"start":235,"end":236},{"line":227,"column":9,"offset":228},{"line":227,"column":237,"offset":238},53,1084,{"start":240,"end":241},{"line":227,"column":9,"offset":228},{"line":227,"column":237,"offset":238},{"type":26,"value":243,"position":244},", ",{"start":245,"end":246},{"line":227,"column":237,"offset":238},{"line":227,"column":247,"offset":248},55,1086,{"type":30,"tagName":45,"properties":250,"children":251,"position":258},{},[252],{"type":26,"value":253,"position":254},"input",{"start":255,"end":256},{"line":227,"column":247,"offset":248},{"line":227,"column":188,"offset":257},1093,{"start":259,"end":260},{"line":227,"column":247,"offset":248},{"line":227,"column":188,"offset":257},{"type":26,"value":243,"position":262},{"start":263,"end":264},{"line":227,"column":188,"offset":257},{"line":227,"column":265,"offset":266},64,1095,{"type":30,"tagName":45,"properties":268,"children":269,"position":277},{},[270],{"type":26,"value":271,"position":272},"output",{"start":273,"end":274},{"line":227,"column":265,"offset":266},{"line":227,"column":275,"offset":276},72,1103,{"start":278,"end":279},{"line":227,"column":265,"offset":266},{"line":227,"column":275,"offset":276},{"type":26,"value":281,"position":282},",\nand the rest) live in ",{"start":283,"end":284},{"line":227,"column":275,"offset":276},{"line":285,"column":286,"offset":287},22,23,1127,{"type":30,"tagName":45,"properties":289,"children":290,"position":297},{},[291],{"type":26,"value":70,"position":292},{"start":293,"end":294},{"line":285,"column":286,"offset":287},{"line":285,"column":295,"offset":296},41,1145,{"start":298,"end":299},{"line":285,"column":286,"offset":287},{"line":285,"column":295,"offset":296},{"type":26,"value":301,"position":302},", because the sheet is derived\nfrom the entry file alone (a declaration elsewhere is the named build\nerror ",{"start":303,"end":304},{"line":285,"column":295,"offset":296},{"line":305,"column":306,"offset":307},24,7,1252,{"type":30,"tagName":45,"properties":309,"children":310,"position":317},{},[311],{"type":26,"value":312,"position":313},"code-first declarations must live in src/indicator.ts",{"start":314,"end":315},{"line":305,"column":306,"offset":307},{"line":305,"column":188,"offset":316},1307,{"start":318,"end":319},{"line":305,"column":306,"offset":307},{"line":305,"column":188,"offset":316},{"type":26,"value":321,"position":322},").",{"start":323,"end":324},{"line":305,"column":188,"offset":316},{"line":305,"column":265,"offset":325},1309,{"start":327,"end":328},{"line":185,"column":20,"offset":186},{"line":305,"column":265,"offset":325},{"type":26,"value":27},{"type":30,"tagName":31,"properties":331,"children":332,"position":380},{},[333,340,353,360,373],{"type":26,"value":334,"position":335},"The kScript ",{"start":336,"end":338},{"line":116,"column":20,"offset":337},1311,{"line":116,"column":106,"offset":339},1323,{"type":30,"tagName":45,"properties":341,"children":342,"position":350},{},[343],{"type":26,"value":344,"position":345},"library(\"norm\")",{"start":346,"end":347},{"line":116,"column":106,"offset":339},{"line":116,"column":348,"offset":349},30,1340,{"start":351,"end":352},{"line":116,"column":106,"offset":339},{"line":116,"column":348,"offset":349},{"type":26,"value":354,"position":355}," example as ",{"start":356,"end":357},{"line":116,"column":348,"offset":349},{"line":116,"column":358,"offset":359},42,1352,{"type":30,"tagName":45,"properties":361,"children":362,"position":370},{},[363],{"type":26,"value":364,"position":365},"src/lib/norm.ts",{"start":366,"end":367},{"line":116,"column":358,"offset":359},{"line":116,"column":368,"offset":369},59,1369,{"start":371,"end":372},{"line":116,"column":358,"offset":359},{"line":116,"column":368,"offset":369},{"type":26,"value":374,"position":375},":",{"start":376,"end":377},{"line":116,"column":368,"offset":369},{"line":116,"column":378,"offset":379},60,1370,{"start":381,"end":382},{"line":116,"column":20,"offset":337},{"line":116,"column":378,"offset":379},{"type":26,"value":27},{"type":13,"children":385},[386],{"type":30,"tagName":387,"properties":388,"children":392,"data":-1},"pre",{"class":389,"style":390,"tabindex":391},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[393],{"type":30,"tagName":45,"properties":394,"children":395},{},[396,407,408,501,502,545,546,579,580,588,589,592,593,601,602,685,686,721,722,761,762,777,778,785,786,789,790,811,812,832,833,853,854,857,858,905,906,929,930,951,952,960,961,964,965,1007,1008,1058,1059,1066,1067],{"type":30,"tagName":397,"properties":398,"children":400},"span",{"class":399},"line",[401],{"type":30,"tagName":397,"properties":402,"children":404},{"style":403},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[405],{"type":26,"value":406},"// A shared helper module: plain AssemblyScript functions and a class, no declarations.",{"type":26,"value":27},{"type":30,"tagName":397,"properties":409,"children":410},{"class":399},[411,417,422,428,434,440,444,449,453,458,462,466,470,475,479,483,488,492,496],{"type":30,"tagName":397,"properties":412,"children":414},{"style":413},"--shiki-dark:#F97583;--shiki-light:#D73A49",[415],{"type":26,"value":416},"export",{"type":30,"tagName":397,"properties":418,"children":419},{"style":413},[420],{"type":26,"value":421}," function",{"type":30,"tagName":397,"properties":423,"children":425},{"style":424},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[426],{"type":26,"value":427}," zscore",{"type":30,"tagName":397,"properties":429,"children":431},{"style":430},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[432],{"type":26,"value":433},"(",{"type":30,"tagName":397,"properties":435,"children":437},{"style":436},"--shiki-dark:#FFAB70;--shiki-light:#E36209",[438],{"type":26,"value":439},"sample",{"type":30,"tagName":397,"properties":441,"children":442},{"style":413},[443],{"type":26,"value":374},{"type":30,"tagName":397,"properties":445,"children":446},{"style":424},[447],{"type":26,"value":448}," f64",{"type":30,"tagName":397,"properties":450,"children":451},{"style":430},[452],{"type":26,"value":243},{"type":30,"tagName":397,"properties":454,"children":455},{"style":436},[456],{"type":26,"value":457},"mean",{"type":30,"tagName":397,"properties":459,"children":460},{"style":413},[461],{"type":26,"value":374},{"type":30,"tagName":397,"properties":463,"children":464},{"style":424},[465],{"type":26,"value":448},{"type":30,"tagName":397,"properties":467,"children":468},{"style":430},[469],{"type":26,"value":243},{"type":30,"tagName":397,"properties":471,"children":472},{"style":436},[473],{"type":26,"value":474},"dev",{"type":30,"tagName":397,"properties":476,"children":477},{"style":413},[478],{"type":26,"value":374},{"type":30,"tagName":397,"properties":480,"children":481},{"style":424},[482],{"type":26,"value":448},{"type":30,"tagName":397,"properties":484,"children":485},{"style":430},[486],{"type":26,"value":487},")",{"type":30,"tagName":397,"properties":489,"children":490},{"style":413},[491],{"type":26,"value":374},{"type":30,"tagName":397,"properties":493,"children":494},{"style":424},[495],{"type":26,"value":448},{"type":30,"tagName":397,"properties":497,"children":498},{"style":430},[499],{"type":26,"value":500}," {",{"type":26,"value":27},{"type":30,"tagName":397,"properties":503,"children":504},{"class":399},[505,510,515,520,526,531,536,540],{"type":30,"tagName":397,"properties":506,"children":507},{"style":413},[508],{"type":26,"value":509},"  if",{"type":30,"tagName":397,"properties":511,"children":512},{"style":430},[513],{"type":26,"value":514}," (dev ",{"type":30,"tagName":397,"properties":516,"children":517},{"style":413},[518],{"type":26,"value":519},"==",{"type":30,"tagName":397,"properties":521,"children":523},{"style":522},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[524],{"type":26,"value":525}," 0.0",{"type":30,"tagName":397,"properties":527,"children":528},{"style":430},[529],{"type":26,"value":530},") ",{"type":30,"tagName":397,"properties":532,"children":533},{"style":413},[534],{"type":26,"value":535},"return",{"type":30,"tagName":397,"properties":537,"children":538},{"style":522},[539],{"type":26,"value":525},{"type":30,"tagName":397,"properties":541,"children":542},{"style":430},[543],{"type":26,"value":544},";",{"type":26,"value":27},{"type":30,"tagName":397,"properties":547,"children":548},{"class":399},[549,554,559,564,569,574],{"type":30,"tagName":397,"properties":550,"children":551},{"style":413},[552],{"type":26,"value":553},"  return",{"type":30,"tagName":397,"properties":555,"children":556},{"style":430},[557],{"type":26,"value":558}," (sample ",{"type":30,"tagName":397,"properties":560,"children":561},{"style":413},[562],{"type":26,"value":563},"-",{"type":30,"tagName":397,"properties":565,"children":566},{"style":430},[567],{"type":26,"value":568}," mean) ",{"type":30,"tagName":397,"properties":570,"children":571},{"style":413},[572],{"type":26,"value":573},"/",{"type":30,"tagName":397,"properties":575,"children":576},{"style":430},[577],{"type":26,"value":578}," dev;",{"type":26,"value":27},{"type":30,"tagName":397,"properties":581,"children":582},{"class":399},[583],{"type":30,"tagName":397,"properties":584,"children":585},{"style":430},[586],{"type":26,"value":587},"}",{"type":26,"value":27},{"type":30,"tagName":397,"properties":590,"children":591},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":594,"children":595},{"class":399},[596],{"type":30,"tagName":397,"properties":597,"children":598},{"style":403},[599],{"type":26,"value":600},"// +1 stretched up, -1 stretched down, 0 neutral.",{"type":26,"value":27},{"type":30,"tagName":397,"properties":603,"children":604},{"class":399},[605,609,613,618,622,627,631,635,639,644,648,652,656,661,665,669,673,677,681],{"type":30,"tagName":397,"properties":606,"children":607},{"style":413},[608],{"type":26,"value":416},{"type":30,"tagName":397,"properties":610,"children":611},{"style":413},[612],{"type":26,"value":421},{"type":30,"tagName":397,"properties":614,"children":615},{"style":424},[616],{"type":26,"value":617}," regime",{"type":30,"tagName":397,"properties":619,"children":620},{"style":430},[621],{"type":26,"value":433},{"type":30,"tagName":397,"properties":623,"children":624},{"style":436},[625],{"type":26,"value":626},"z",{"type":30,"tagName":397,"properties":628,"children":629},{"style":413},[630],{"type":26,"value":374},{"type":30,"tagName":397,"properties":632,"children":633},{"style":424},[634],{"type":26,"value":448},{"type":30,"tagName":397,"properties":636,"children":637},{"style":430},[638],{"type":26,"value":243},{"type":30,"tagName":397,"properties":640,"children":641},{"style":436},[642],{"type":26,"value":643},"hi",{"type":30,"tagName":397,"properties":645,"children":646},{"style":413},[647],{"type":26,"value":374},{"type":30,"tagName":397,"properties":649,"children":650},{"style":424},[651],{"type":26,"value":448},{"type":30,"tagName":397,"properties":653,"children":654},{"style":430},[655],{"type":26,"value":243},{"type":30,"tagName":397,"properties":657,"children":658},{"style":436},[659],{"type":26,"value":660},"lo",{"type":30,"tagName":397,"properties":662,"children":663},{"style":413},[664],{"type":26,"value":374},{"type":30,"tagName":397,"properties":666,"children":667},{"style":424},[668],{"type":26,"value":448},{"type":30,"tagName":397,"properties":670,"children":671},{"style":430},[672],{"type":26,"value":487},{"type":30,"tagName":397,"properties":674,"children":675},{"style":413},[676],{"type":26,"value":374},{"type":30,"tagName":397,"properties":678,"children":679},{"style":424},[680],{"type":26,"value":448},{"type":30,"tagName":397,"properties":682,"children":683},{"style":430},[684],{"type":26,"value":500},{"type":26,"value":27},{"type":30,"tagName":397,"properties":687,"children":688},{"class":399},[689,693,698,703,708,712,717],{"type":30,"tagName":397,"properties":690,"children":691},{"style":413},[692],{"type":26,"value":509},{"type":30,"tagName":397,"properties":694,"children":695},{"style":430},[696],{"type":26,"value":697}," (z ",{"type":30,"tagName":397,"properties":699,"children":700},{"style":413},[701],{"type":26,"value":702},">",{"type":30,"tagName":397,"properties":704,"children":705},{"style":430},[706],{"type":26,"value":707}," hi) ",{"type":30,"tagName":397,"properties":709,"children":710},{"style":413},[711],{"type":26,"value":535},{"type":30,"tagName":397,"properties":713,"children":714},{"style":522},[715],{"type":26,"value":716}," 1.0",{"type":30,"tagName":397,"properties":718,"children":719},{"style":430},[720],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":723,"children":724},{"class":399},[725,729,733,738,743,747,752,757],{"type":30,"tagName":397,"properties":726,"children":727},{"style":413},[728],{"type":26,"value":509},{"type":30,"tagName":397,"properties":730,"children":731},{"style":430},[732],{"type":26,"value":697},{"type":30,"tagName":397,"properties":734,"children":735},{"style":413},[736],{"type":26,"value":737},"\u003C",{"type":30,"tagName":397,"properties":739,"children":740},{"style":430},[741],{"type":26,"value":742}," lo) ",{"type":30,"tagName":397,"properties":744,"children":745},{"style":413},[746],{"type":26,"value":535},{"type":30,"tagName":397,"properties":748,"children":749},{"style":413},[750],{"type":26,"value":751}," -",{"type":30,"tagName":397,"properties":753,"children":754},{"style":522},[755],{"type":26,"value":756},"1.0",{"type":30,"tagName":397,"properties":758,"children":759},{"style":430},[760],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":763,"children":764},{"class":399},[765,769,773],{"type":30,"tagName":397,"properties":766,"children":767},{"style":413},[768],{"type":26,"value":553},{"type":30,"tagName":397,"properties":770,"children":771},{"style":522},[772],{"type":26,"value":525},{"type":30,"tagName":397,"properties":774,"children":775},{"style":430},[776],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":779,"children":780},{"class":399},[781],{"type":30,"tagName":397,"properties":782,"children":783},{"style":430},[784],{"type":26,"value":587},{"type":26,"value":27},{"type":30,"tagName":397,"properties":787,"children":788},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":791,"children":792},{"class":399},[793,797,802,807],{"type":30,"tagName":397,"properties":794,"children":795},{"style":413},[796],{"type":26,"value":416},{"type":30,"tagName":397,"properties":798,"children":799},{"style":413},[800],{"type":26,"value":801}," class",{"type":30,"tagName":397,"properties":803,"children":804},{"style":424},[805],{"type":26,"value":806}," Band",{"type":30,"tagName":397,"properties":808,"children":809},{"style":430},[810],{"type":26,"value":500},{"type":26,"value":27},{"type":30,"tagName":397,"properties":813,"children":814},{"class":399},[815,820,824,828],{"type":30,"tagName":397,"properties":816,"children":817},{"style":436},[818],{"type":26,"value":819},"  top",{"type":30,"tagName":397,"properties":821,"children":822},{"style":413},[823],{"type":26,"value":374},{"type":30,"tagName":397,"properties":825,"children":826},{"style":424},[827],{"type":26,"value":448},{"type":30,"tagName":397,"properties":829,"children":830},{"style":430},[831],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":834,"children":835},{"class":399},[836,841,845,849],{"type":30,"tagName":397,"properties":837,"children":838},{"style":436},[839],{"type":26,"value":840},"  bottom",{"type":30,"tagName":397,"properties":842,"children":843},{"style":413},[844],{"type":26,"value":374},{"type":30,"tagName":397,"properties":846,"children":847},{"style":424},[848],{"type":26,"value":448},{"type":30,"tagName":397,"properties":850,"children":851},{"style":430},[852],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":855,"children":856},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":859,"children":860},{"class":399},[861,866,870,875,879,883,887,892,896,900],{"type":30,"tagName":397,"properties":862,"children":863},{"style":413},[864],{"type":26,"value":865},"  constructor",{"type":30,"tagName":397,"properties":867,"children":868},{"style":430},[869],{"type":26,"value":433},{"type":30,"tagName":397,"properties":871,"children":872},{"style":436},[873],{"type":26,"value":874},"top",{"type":30,"tagName":397,"properties":876,"children":877},{"style":413},[878],{"type":26,"value":374},{"type":30,"tagName":397,"properties":880,"children":881},{"style":424},[882],{"type":26,"value":448},{"type":30,"tagName":397,"properties":884,"children":885},{"style":430},[886],{"type":26,"value":243},{"type":30,"tagName":397,"properties":888,"children":889},{"style":436},[890],{"type":26,"value":891},"bottom",{"type":30,"tagName":397,"properties":893,"children":894},{"style":413},[895],{"type":26,"value":374},{"type":30,"tagName":397,"properties":897,"children":898},{"style":424},[899],{"type":26,"value":448},{"type":30,"tagName":397,"properties":901,"children":902},{"style":430},[903],{"type":26,"value":904},") {",{"type":26,"value":27},{"type":30,"tagName":397,"properties":907,"children":908},{"class":399},[909,914,919,924],{"type":30,"tagName":397,"properties":910,"children":911},{"style":522},[912],{"type":26,"value":913},"    this",{"type":30,"tagName":397,"properties":915,"children":916},{"style":430},[917],{"type":26,"value":918},".top ",{"type":30,"tagName":397,"properties":920,"children":921},{"style":413},[922],{"type":26,"value":923},"=",{"type":30,"tagName":397,"properties":925,"children":926},{"style":430},[927],{"type":26,"value":928}," top;",{"type":26,"value":27},{"type":30,"tagName":397,"properties":931,"children":932},{"class":399},[933,937,942,946],{"type":30,"tagName":397,"properties":934,"children":935},{"style":522},[936],{"type":26,"value":913},{"type":30,"tagName":397,"properties":938,"children":939},{"style":430},[940],{"type":26,"value":941},".bottom ",{"type":30,"tagName":397,"properties":943,"children":944},{"style":413},[945],{"type":26,"value":923},{"type":30,"tagName":397,"properties":947,"children":948},{"style":430},[949],{"type":26,"value":950}," bottom;",{"type":26,"value":27},{"type":30,"tagName":397,"properties":953,"children":954},{"class":399},[955],{"type":30,"tagName":397,"properties":956,"children":957},{"style":430},[958],{"type":26,"value":959},"  }",{"type":26,"value":27},{"type":30,"tagName":397,"properties":962,"children":963},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":966,"children":967},{"class":399},[968,973,977,982,986,990,994,998,1003],{"type":30,"tagName":397,"properties":969,"children":970},{"style":424},[971],{"type":26,"value":972},"  contains",{"type":30,"tagName":397,"properties":974,"children":975},{"style":430},[976],{"type":26,"value":433},{"type":30,"tagName":397,"properties":978,"children":979},{"style":436},[980],{"type":26,"value":981},"price",{"type":30,"tagName":397,"properties":983,"children":984},{"style":413},[985],{"type":26,"value":374},{"type":30,"tagName":397,"properties":987,"children":988},{"style":424},[989],{"type":26,"value":448},{"type":30,"tagName":397,"properties":991,"children":992},{"style":430},[993],{"type":26,"value":487},{"type":30,"tagName":397,"properties":995,"children":996},{"style":413},[997],{"type":26,"value":374},{"type":30,"tagName":397,"properties":999,"children":1000},{"style":424},[1001],{"type":26,"value":1002}," bool",{"type":30,"tagName":397,"properties":1004,"children":1005},{"style":430},[1006],{"type":26,"value":500},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1009,"children":1010},{"class":399},[1011,1016,1021,1026,1031,1035,1040,1044,1049,1053],{"type":30,"tagName":397,"properties":1012,"children":1013},{"style":413},[1014],{"type":26,"value":1015},"    return",{"type":30,"tagName":397,"properties":1017,"children":1018},{"style":430},[1019],{"type":26,"value":1020}," price ",{"type":30,"tagName":397,"properties":1022,"children":1023},{"style":413},[1024],{"type":26,"value":1025},"\u003C=",{"type":30,"tagName":397,"properties":1027,"children":1028},{"style":522},[1029],{"type":26,"value":1030}," this",{"type":30,"tagName":397,"properties":1032,"children":1033},{"style":430},[1034],{"type":26,"value":918},{"type":30,"tagName":397,"properties":1036,"children":1037},{"style":413},[1038],{"type":26,"value":1039},"&&",{"type":30,"tagName":397,"properties":1041,"children":1042},{"style":430},[1043],{"type":26,"value":1020},{"type":30,"tagName":397,"properties":1045,"children":1046},{"style":413},[1047],{"type":26,"value":1048},">=",{"type":30,"tagName":397,"properties":1050,"children":1051},{"style":522},[1052],{"type":26,"value":1030},{"type":30,"tagName":397,"properties":1054,"children":1055},{"style":430},[1056],{"type":26,"value":1057},".bottom;",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1060,"children":1061},{"class":399},[1062],{"type":30,"tagName":397,"properties":1063,"children":1064},{"style":430},[1065],{"type":26,"value":959},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1068,"children":1069},{"class":399},[1070],{"type":30,"tagName":397,"properties":1071,"children":1072},{"style":430},[1073],{"type":26,"value":587},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1076,"children":1077,"position":1120},{},[1078,1085,1097,1103,1115],{"type":26,"value":1079,"position":1080},"And the consumer, ",{"start":1081,"end":1083},{"line":74,"column":20,"offset":1082},2013,{"line":74,"column":185,"offset":1084},2031,{"type":30,"tagName":45,"properties":1086,"children":1087,"position":1094},{},[1088],{"type":26,"value":70,"position":1089},{"start":1090,"end":1091},{"line":74,"column":185,"offset":1084},{"line":74,"column":1092,"offset":1093},37,2049,{"start":1095,"end":1096},{"line":74,"column":185,"offset":1084},{"line":74,"column":1092,"offset":1093},{"type":26,"value":1098,"position":1099},", which owns the data, the TA\nobjects, and the declarations, and imports the shared logic beside the\nshipped ",{"start":1100,"end":1101},{"line":74,"column":1092,"offset":1093},{"line":368,"column":63,"offset":1102},2158,{"type":30,"tagName":45,"properties":1104,"children":1105,"position":1112},{},[1106],{"type":26,"value":1107,"position":1108},"./sdk/ta",{"start":1109,"end":1110},{"line":368,"column":63,"offset":1102},{"line":368,"column":185,"offset":1111},2168,{"start":1113,"end":1114},{"line":368,"column":63,"offset":1102},{"line":368,"column":185,"offset":1111},{"type":26,"value":374,"position":1116},{"start":1117,"end":1118},{"line":368,"column":185,"offset":1111},{"line":368,"column":208,"offset":1119},2169,{"start":1121,"end":1122},{"line":74,"column":20,"offset":1082},{"line":368,"column":208,"offset":1119},{"type":26,"value":27},{"type":13,"children":1125},[1126],{"type":30,"tagName":387,"properties":1127,"children":1128,"data":-1},{"class":389,"style":390,"tabindex":391},[1129],{"type":30,"tagName":45,"properties":1130,"children":1131},{},[1132,1160,1161,1186,1187,1212,1213,1238,1239,1264,1265,1290,1291,1294,1295,1345,1346,1367,1368,1408,1409,1447,1448,1451,1452,1492,1493,1530,1531,1565,1566,1611,1612,1615,1616,1650,1651,1694,1695,1735,1736,1743,1744,1747,1748,1781,1782,1809,1810,1841,1842,1871,1872,1893,1894,1938,1939,1994,1995,2002,2003,2006,2007,2039,2040,2053,2054,2120,2121,2133,2134,2141,2142,2145,2146,2178,2179,2196,2197,2213,2214,2233,2234],{"type":30,"tagName":397,"properties":1133,"children":1134},{"class":399},[1135,1140,1145,1150,1156],{"type":30,"tagName":397,"properties":1136,"children":1137},{"style":413},[1138],{"type":26,"value":1139},"import",{"type":30,"tagName":397,"properties":1141,"children":1142},{"style":430},[1143],{"type":26,"value":1144}," { input, line, lower, ohlcv, output, param } ",{"type":30,"tagName":397,"properties":1146,"children":1147},{"style":413},[1148],{"type":26,"value":1149},"from",{"type":30,"tagName":397,"properties":1151,"children":1153},{"style":1152},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[1154],{"type":26,"value":1155}," \"./sdk/declare\"",{"type":30,"tagName":397,"properties":1157,"children":1158},{"style":430},[1159],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1162,"children":1163},{"class":399},[1164,1168,1173,1177,1182],{"type":30,"tagName":397,"properties":1165,"children":1166},{"style":413},[1167],{"type":26,"value":1139},{"type":30,"tagName":397,"properties":1169,"children":1170},{"style":430},[1171],{"type":26,"value":1172}," { in_close } ",{"type":30,"tagName":397,"properties":1174,"children":1175},{"style":413},[1176],{"type":26,"value":1149},{"type":30,"tagName":397,"properties":1178,"children":1179},{"style":1152},[1180],{"type":26,"value":1181}," \"./gen/inputs\"",{"type":30,"tagName":397,"properties":1183,"children":1184},{"style":430},[1185],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1188,"children":1189},{"class":399},[1190,1194,1199,1203,1208],{"type":30,"tagName":397,"properties":1191,"children":1192},{"style":413},[1193],{"type":26,"value":1139},{"type":30,"tagName":397,"properties":1195,"children":1196},{"style":430},[1197],{"type":26,"value":1198}," { emitRow, out_regime, out_z } ",{"type":30,"tagName":397,"properties":1200,"children":1201},{"style":413},[1202],{"type":26,"value":1149},{"type":30,"tagName":397,"properties":1204,"children":1205},{"style":1152},[1206],{"type":26,"value":1207}," \"./gen/outputs\"",{"type":30,"tagName":397,"properties":1209,"children":1210},{"style":430},[1211],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1214,"children":1215},{"class":399},[1216,1220,1225,1229,1234],{"type":30,"tagName":397,"properties":1217,"children":1218},{"style":413},[1219],{"type":26,"value":1139},{"type":30,"tagName":397,"properties":1221,"children":1222},{"style":430},[1223],{"type":26,"value":1224}," { p_period } ",{"type":30,"tagName":397,"properties":1226,"children":1227},{"style":413},[1228],{"type":26,"value":1149},{"type":30,"tagName":397,"properties":1230,"children":1231},{"style":1152},[1232],{"type":26,"value":1233}," \"./gen/params\"",{"type":30,"tagName":397,"properties":1235,"children":1236},{"style":430},[1237],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1240,"children":1241},{"class":399},[1242,1246,1251,1255,1260],{"type":30,"tagName":397,"properties":1243,"children":1244},{"style":413},[1245],{"type":26,"value":1139},{"type":30,"tagName":397,"properties":1247,"children":1248},{"style":430},[1249],{"type":26,"value":1250}," { Sma, Stdev } ",{"type":30,"tagName":397,"properties":1252,"children":1253},{"style":413},[1254],{"type":26,"value":1149},{"type":30,"tagName":397,"properties":1256,"children":1257},{"style":1152},[1258],{"type":26,"value":1259}," \"./sdk/ta\"",{"type":30,"tagName":397,"properties":1261,"children":1262},{"style":430},[1263],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1266,"children":1267},{"class":399},[1268,1272,1277,1281,1286],{"type":30,"tagName":397,"properties":1269,"children":1270},{"style":413},[1271],{"type":26,"value":1139},{"type":30,"tagName":397,"properties":1273,"children":1274},{"style":430},[1275],{"type":26,"value":1276}," { Band, regime, zscore } ",{"type":30,"tagName":397,"properties":1278,"children":1279},{"style":413},[1280],{"type":26,"value":1149},{"type":30,"tagName":397,"properties":1282,"children":1283},{"style":1152},[1284],{"type":26,"value":1285}," \"./lib/norm\"",{"type":30,"tagName":397,"properties":1287,"children":1288},{"style":430},[1289],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1292,"children":1293},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":1296,"children":1297},{"class":399},[1298,1302,1306,1311,1315,1320,1325,1330,1335,1340],{"type":30,"tagName":397,"properties":1299,"children":1300},{"style":424},[1301],{"type":26,"value":233},{"type":30,"tagName":397,"properties":1303,"children":1304},{"style":430},[1305],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1307,"children":1308},{"style":1152},[1309],{"type":26,"value":1310},"\"period\"",{"type":30,"tagName":397,"properties":1312,"children":1313},{"style":430},[1314],{"type":26,"value":243},{"type":30,"tagName":397,"properties":1316,"children":1317},{"style":522},[1318],{"type":26,"value":1319},"20",{"type":30,"tagName":397,"properties":1321,"children":1322},{"style":430},[1323],{"type":26,"value":1324},", { min: ",{"type":30,"tagName":397,"properties":1326,"children":1327},{"style":522},[1328],{"type":26,"value":1329},"2",{"type":30,"tagName":397,"properties":1331,"children":1332},{"style":430},[1333],{"type":26,"value":1334},", max: ",{"type":30,"tagName":397,"properties":1336,"children":1337},{"style":522},[1338],{"type":26,"value":1339},"400",{"type":30,"tagName":397,"properties":1341,"children":1342},{"style":430},[1343],{"type":26,"value":1344}," });",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1347,"children":1348},{"class":399},[1349,1353,1357,1362],{"type":30,"tagName":397,"properties":1350,"children":1351},{"style":424},[1352],{"type":26,"value":253},{"type":30,"tagName":397,"properties":1354,"children":1355},{"style":430},[1356],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1358,"children":1359},{"style":1152},[1360],{"type":26,"value":1361},"\"close\"",{"type":30,"tagName":397,"properties":1363,"children":1364},{"style":430},[1365],{"type":26,"value":1366},", ohlcv.close);",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1369,"children":1370},{"class":399},[1371,1375,1379,1384,1389,1394,1399,1404],{"type":30,"tagName":397,"properties":1372,"children":1373},{"style":424},[1374],{"type":26,"value":271},{"type":30,"tagName":397,"properties":1376,"children":1377},{"style":430},[1378],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1380,"children":1381},{"style":1152},[1382],{"type":26,"value":1383},"\"z\"",{"type":30,"tagName":397,"properties":1385,"children":1386},{"style":430},[1387],{"type":26,"value":1388},", line, lower, { color: ",{"type":30,"tagName":397,"properties":1390,"children":1391},{"style":1152},[1392],{"type":26,"value":1393},"\"#4f8cff\"",{"type":30,"tagName":397,"properties":1395,"children":1396},{"style":430},[1397],{"type":26,"value":1398},", description: ",{"type":30,"tagName":397,"properties":1400,"children":1401},{"style":1152},[1402],{"type":26,"value":1403},"\"Z-score of the close\"",{"type":30,"tagName":397,"properties":1405,"children":1406},{"style":430},[1407],{"type":26,"value":1344},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1410,"children":1411},{"class":399},[1412,1416,1420,1425,1429,1434,1438,1443],{"type":30,"tagName":397,"properties":1413,"children":1414},{"style":424},[1415],{"type":26,"value":271},{"type":30,"tagName":397,"properties":1417,"children":1418},{"style":430},[1419],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1421,"children":1422},{"style":1152},[1423],{"type":26,"value":1424},"\"regime\"",{"type":30,"tagName":397,"properties":1426,"children":1427},{"style":430},[1428],{"type":26,"value":1388},{"type":30,"tagName":397,"properties":1430,"children":1431},{"style":1152},[1432],{"type":26,"value":1433},"\"#f59e0b\"",{"type":30,"tagName":397,"properties":1435,"children":1436},{"style":430},[1437],{"type":26,"value":1398},{"type":30,"tagName":397,"properties":1439,"children":1440},{"style":1152},[1441],{"type":26,"value":1442},"\"+1 stretched up, -1 down, 0 inside the band\"",{"type":30,"tagName":397,"properties":1444,"children":1445},{"style":430},[1446],{"type":26,"value":1344},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1449,"children":1450},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":1453,"children":1454},{"class":399},[1455,1460,1465,1469,1474,1479,1483,1487],{"type":30,"tagName":397,"properties":1456,"children":1457},{"style":413},[1458],{"type":26,"value":1459},"let",{"type":30,"tagName":397,"properties":1461,"children":1462},{"style":430},[1463],{"type":26,"value":1464}," sma ",{"type":30,"tagName":397,"properties":1466,"children":1467},{"style":413},[1468],{"type":26,"value":923},{"type":30,"tagName":397,"properties":1470,"children":1471},{"style":413},[1472],{"type":26,"value":1473}," new",{"type":30,"tagName":397,"properties":1475,"children":1476},{"style":424},[1477],{"type":26,"value":1478}," Sma",{"type":30,"tagName":397,"properties":1480,"children":1481},{"style":430},[1482],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1484,"children":1485},{"style":522},[1486],{"type":26,"value":1319},{"type":30,"tagName":397,"properties":1488,"children":1489},{"style":430},[1490],{"type":26,"value":1491},");",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1494,"children":1495},{"class":399},[1496,1500,1505,1509,1513,1518,1522,1526],{"type":30,"tagName":397,"properties":1497,"children":1498},{"style":413},[1499],{"type":26,"value":1459},{"type":30,"tagName":397,"properties":1501,"children":1502},{"style":430},[1503],{"type":26,"value":1504}," stdev ",{"type":30,"tagName":397,"properties":1506,"children":1507},{"style":413},[1508],{"type":26,"value":923},{"type":30,"tagName":397,"properties":1510,"children":1511},{"style":413},[1512],{"type":26,"value":1473},{"type":30,"tagName":397,"properties":1514,"children":1515},{"style":424},[1516],{"type":26,"value":1517}," Stdev",{"type":30,"tagName":397,"properties":1519,"children":1520},{"style":430},[1521],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1523,"children":1524},{"style":522},[1525],{"type":26,"value":1319},{"type":30,"tagName":397,"properties":1527,"children":1528},{"style":430},[1529],{"type":26,"value":1491},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1532,"children":1533},{"class":399},[1534,1538,1543,1547,1551,1556,1561],{"type":30,"tagName":397,"properties":1535,"children":1536},{"style":413},[1537],{"type":26,"value":1459},{"type":30,"tagName":397,"properties":1539,"children":1540},{"style":430},[1541],{"type":26,"value":1542}," z",{"type":30,"tagName":397,"properties":1544,"children":1545},{"style":413},[1546],{"type":26,"value":374},{"type":30,"tagName":397,"properties":1548,"children":1549},{"style":424},[1550],{"type":26,"value":448},{"type":30,"tagName":397,"properties":1552,"children":1553},{"style":413},[1554],{"type":26,"value":1555}," =",{"type":30,"tagName":397,"properties":1557,"children":1558},{"style":522},[1559],{"type":26,"value":1560}," NaN",{"type":30,"tagName":397,"properties":1562,"children":1563},{"style":430},[1564],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1567,"children":1568},{"class":399},[1569,1573,1578,1582,1586,1590,1594,1599,1603,1607],{"type":30,"tagName":397,"properties":1570,"children":1571},{"style":413},[1572],{"type":26,"value":1459},{"type":30,"tagName":397,"properties":1574,"children":1575},{"style":430},[1576],{"type":26,"value":1577}," band ",{"type":30,"tagName":397,"properties":1579,"children":1580},{"style":413},[1581],{"type":26,"value":923},{"type":30,"tagName":397,"properties":1583,"children":1584},{"style":413},[1585],{"type":26,"value":1473},{"type":30,"tagName":397,"properties":1587,"children":1588},{"style":424},[1589],{"type":26,"value":806},{"type":30,"tagName":397,"properties":1591,"children":1592},{"style":430},[1593],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1595,"children":1596},{"style":522},[1597],{"type":26,"value":1598},"0.0",{"type":30,"tagName":397,"properties":1600,"children":1601},{"style":430},[1602],{"type":26,"value":243},{"type":30,"tagName":397,"properties":1604,"children":1605},{"style":522},[1606],{"type":26,"value":1598},{"type":30,"tagName":397,"properties":1608,"children":1609},{"style":430},[1610],{"type":26,"value":1491},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1613,"children":1614},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":1617,"children":1618},{"class":399},[1619,1623,1627,1632,1637,1641,1646],{"type":30,"tagName":397,"properties":1620,"children":1621},{"style":413},[1622],{"type":26,"value":416},{"type":30,"tagName":397,"properties":1624,"children":1625},{"style":413},[1626],{"type":26,"value":421},{"type":30,"tagName":397,"properties":1628,"children":1629},{"style":424},[1630],{"type":26,"value":1631}," init",{"type":30,"tagName":397,"properties":1633,"children":1634},{"style":430},[1635],{"type":26,"value":1636},"()",{"type":30,"tagName":397,"properties":1638,"children":1639},{"style":413},[1640],{"type":26,"value":374},{"type":30,"tagName":397,"properties":1642,"children":1643},{"style":522},[1644],{"type":26,"value":1645}," void",{"type":30,"tagName":397,"properties":1647,"children":1648},{"style":430},[1649],{"type":26,"value":500},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1652,"children":1653},{"class":399},[1654,1659,1663,1667,1671,1675,1680,1684,1689],{"type":30,"tagName":397,"properties":1655,"children":1656},{"style":430},[1657],{"type":26,"value":1658},"  sma ",{"type":30,"tagName":397,"properties":1660,"children":1661},{"style":413},[1662],{"type":26,"value":923},{"type":30,"tagName":397,"properties":1664,"children":1665},{"style":413},[1666],{"type":26,"value":1473},{"type":30,"tagName":397,"properties":1668,"children":1669},{"style":424},[1670],{"type":26,"value":1478},{"type":30,"tagName":397,"properties":1672,"children":1673},{"style":430},[1674],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1676,"children":1677},{"style":424},[1678],{"type":26,"value":1679},"i32",{"type":30,"tagName":397,"properties":1681,"children":1682},{"style":430},[1683],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1685,"children":1686},{"style":424},[1687],{"type":26,"value":1688},"p_period",{"type":30,"tagName":397,"properties":1690,"children":1691},{"style":430},[1692],{"type":26,"value":1693},"()));",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1696,"children":1697},{"class":399},[1698,1703,1707,1711,1715,1719,1723,1727,1731],{"type":30,"tagName":397,"properties":1699,"children":1700},{"style":430},[1701],{"type":26,"value":1702},"  stdev ",{"type":30,"tagName":397,"properties":1704,"children":1705},{"style":413},[1706],{"type":26,"value":923},{"type":30,"tagName":397,"properties":1708,"children":1709},{"style":413},[1710],{"type":26,"value":1473},{"type":30,"tagName":397,"properties":1712,"children":1713},{"style":424},[1714],{"type":26,"value":1517},{"type":30,"tagName":397,"properties":1716,"children":1717},{"style":430},[1718],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1720,"children":1721},{"style":424},[1722],{"type":26,"value":1679},{"type":30,"tagName":397,"properties":1724,"children":1725},{"style":430},[1726],{"type":26,"value":433},{"type":30,"tagName":397,"properties":1728,"children":1729},{"style":424},[1730],{"type":26,"value":1688},{"type":30,"tagName":397,"properties":1732,"children":1733},{"style":430},[1734],{"type":26,"value":1693},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1737,"children":1738},{"class":399},[1739],{"type":30,"tagName":397,"properties":1740,"children":1741},{"style":430},[1742],{"type":26,"value":587},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1745,"children":1746},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":1749,"children":1750},{"class":399},[1751,1755,1759,1764,1768,1772,1777],{"type":30,"tagName":397,"properties":1752,"children":1753},{"style":413},[1754],{"type":26,"value":416},{"type":30,"tagName":397,"properties":1756,"children":1757},{"style":413},[1758],{"type":26,"value":421},{"type":30,"tagName":397,"properties":1760,"children":1761},{"style":424},[1762],{"type":26,"value":1763}," state",{"type":30,"tagName":397,"properties":1765,"children":1766},{"style":430},[1767],{"type":26,"value":1636},{"type":30,"tagName":397,"properties":1769,"children":1770},{"style":413},[1771],{"type":26,"value":374},{"type":30,"tagName":397,"properties":1773,"children":1774},{"style":424},[1775],{"type":26,"value":1776}," i32",{"type":30,"tagName":397,"properties":1778,"children":1779},{"style":430},[1780],{"type":26,"value":500},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1783,"children":1784},{"class":399},[1785,1790,1795,1799,1804],{"type":30,"tagName":397,"properties":1786,"children":1787},{"style":413},[1788],{"type":26,"value":1789},"  const",{"type":30,"tagName":397,"properties":1791,"children":1792},{"style":522},[1793],{"type":26,"value":1794}," close",{"type":30,"tagName":397,"properties":1796,"children":1797},{"style":413},[1798],{"type":26,"value":1555},{"type":30,"tagName":397,"properties":1800,"children":1801},{"style":424},[1802],{"type":26,"value":1803}," in_close",{"type":30,"tagName":397,"properties":1805,"children":1806},{"style":430},[1807],{"type":26,"value":1808},"();",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1811,"children":1812},{"class":399},[1813,1817,1822,1826,1831,1836],{"type":30,"tagName":397,"properties":1814,"children":1815},{"style":413},[1816],{"type":26,"value":1789},{"type":30,"tagName":397,"properties":1818,"children":1819},{"style":522},[1820],{"type":26,"value":1821}," mean",{"type":30,"tagName":397,"properties":1823,"children":1824},{"style":413},[1825],{"type":26,"value":1555},{"type":30,"tagName":397,"properties":1827,"children":1828},{"style":430},[1829],{"type":26,"value":1830}," sma.",{"type":30,"tagName":397,"properties":1832,"children":1833},{"style":424},[1834],{"type":26,"value":1835},"update",{"type":30,"tagName":397,"properties":1837,"children":1838},{"style":430},[1839],{"type":26,"value":1840},"(close);",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1843,"children":1844},{"class":399},[1845,1849,1854,1858,1863,1867],{"type":30,"tagName":397,"properties":1846,"children":1847},{"style":413},[1848],{"type":26,"value":1789},{"type":30,"tagName":397,"properties":1850,"children":1851},{"style":522},[1852],{"type":26,"value":1853}," dev",{"type":30,"tagName":397,"properties":1855,"children":1856},{"style":413},[1857],{"type":26,"value":1555},{"type":30,"tagName":397,"properties":1859,"children":1860},{"style":430},[1861],{"type":26,"value":1862}," stdev.",{"type":30,"tagName":397,"properties":1864,"children":1865},{"style":424},[1866],{"type":26,"value":1835},{"type":30,"tagName":397,"properties":1868,"children":1869},{"style":430},[1870],{"type":26,"value":1840},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1873,"children":1874},{"class":399},[1875,1880,1884,1888],{"type":30,"tagName":397,"properties":1876,"children":1877},{"style":430},[1878],{"type":26,"value":1879},"  z ",{"type":30,"tagName":397,"properties":1881,"children":1882},{"style":413},[1883],{"type":26,"value":923},{"type":30,"tagName":397,"properties":1885,"children":1886},{"style":424},[1887],{"type":26,"value":427},{"type":30,"tagName":397,"properties":1889,"children":1890},{"style":430},[1891],{"type":26,"value":1892},"(close, mean, dev);",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1895,"children":1896},{"class":399},[1897,1902,1906,1910,1914,1919,1924,1929,1933],{"type":30,"tagName":397,"properties":1898,"children":1899},{"style":430},[1900],{"type":26,"value":1901},"  band ",{"type":30,"tagName":397,"properties":1903,"children":1904},{"style":413},[1905],{"type":26,"value":923},{"type":30,"tagName":397,"properties":1907,"children":1908},{"style":413},[1909],{"type":26,"value":1473},{"type":30,"tagName":397,"properties":1911,"children":1912},{"style":424},[1913],{"type":26,"value":806},{"type":30,"tagName":397,"properties":1915,"children":1916},{"style":430},[1917],{"type":26,"value":1918},"(mean ",{"type":30,"tagName":397,"properties":1920,"children":1921},{"style":413},[1922],{"type":26,"value":1923},"+",{"type":30,"tagName":397,"properties":1925,"children":1926},{"style":430},[1927],{"type":26,"value":1928}," dev, mean ",{"type":30,"tagName":397,"properties":1930,"children":1931},{"style":413},[1932],{"type":26,"value":563},{"type":30,"tagName":397,"properties":1934,"children":1935},{"style":430},[1936],{"type":26,"value":1937}," dev);",{"type":26,"value":27},{"type":30,"tagName":397,"properties":1940,"children":1941},{"class":399},[1942,1946,1951,1956,1961,1965,1970,1975,1980,1985,1990],{"type":30,"tagName":397,"properties":1943,"children":1944},{"style":413},[1945],{"type":26,"value":553},{"type":30,"tagName":397,"properties":1947,"children":1948},{"style":424},[1949],{"type":26,"value":1950}," isNaN",{"type":30,"tagName":397,"properties":1952,"children":1953},{"style":430},[1954],{"type":26,"value":1955},"(mean) ",{"type":30,"tagName":397,"properties":1957,"children":1958},{"style":413},[1959],{"type":26,"value":1960},"||",{"type":30,"tagName":397,"properties":1962,"children":1963},{"style":424},[1964],{"type":26,"value":1950},{"type":30,"tagName":397,"properties":1966,"children":1967},{"style":430},[1968],{"type":26,"value":1969},"(dev) ",{"type":30,"tagName":397,"properties":1971,"children":1972},{"style":413},[1973],{"type":26,"value":1974},"?",{"type":30,"tagName":397,"properties":1976,"children":1977},{"style":522},[1978],{"type":26,"value":1979}," 0",{"type":30,"tagName":397,"properties":1981,"children":1982},{"style":413},[1983],{"type":26,"value":1984}," :",{"type":30,"tagName":397,"properties":1986,"children":1987},{"style":522},[1988],{"type":26,"value":1989}," 1",{"type":30,"tagName":397,"properties":1991,"children":1992},{"style":430},[1993],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":1996,"children":1997},{"class":399},[1998],{"type":30,"tagName":397,"properties":1999,"children":2000},{"style":430},[2001],{"type":26,"value":587},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2004,"children":2005},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":2008,"children":2009},{"class":399},[2010,2014,2018,2023,2027,2031,2035],{"type":30,"tagName":397,"properties":2011,"children":2012},{"style":413},[2013],{"type":26,"value":416},{"type":30,"tagName":397,"properties":2015,"children":2016},{"style":413},[2017],{"type":26,"value":421},{"type":30,"tagName":397,"properties":2019,"children":2020},{"style":424},[2021],{"type":26,"value":2022}," finalize",{"type":30,"tagName":397,"properties":2024,"children":2025},{"style":430},[2026],{"type":26,"value":1636},{"type":30,"tagName":397,"properties":2028,"children":2029},{"style":413},[2030],{"type":26,"value":374},{"type":30,"tagName":397,"properties":2032,"children":2033},{"style":522},[2034],{"type":26,"value":1645},{"type":30,"tagName":397,"properties":2036,"children":2037},{"style":430},[2038],{"type":26,"value":500},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2041,"children":2042},{"class":399},[2043,2048],{"type":30,"tagName":397,"properties":2044,"children":2045},{"style":424},[2046],{"type":26,"value":2047},"  out_z",{"type":30,"tagName":397,"properties":2049,"children":2050},{"style":430},[2051],{"type":26,"value":2052},"(z);",{"type":26,"value":27},{"type":30,"tagName":397,"properties":2055,"children":2056},{"class":399},[2057,2062,2067,2072,2077,2081,2085,2089,2093,2098,2103,2107,2111,2115],{"type":30,"tagName":397,"properties":2058,"children":2059},{"style":424},[2060],{"type":26,"value":2061},"  out_regime",{"type":30,"tagName":397,"properties":2063,"children":2064},{"style":430},[2065],{"type":26,"value":2066},"(band.",{"type":30,"tagName":397,"properties":2068,"children":2069},{"style":424},[2070],{"type":26,"value":2071},"contains",{"type":30,"tagName":397,"properties":2073,"children":2074},{"style":430},[2075],{"type":26,"value":2076},"(z) ",{"type":30,"tagName":397,"properties":2078,"children":2079},{"style":413},[2080],{"type":26,"value":1974},{"type":30,"tagName":397,"properties":2082,"children":2083},{"style":522},[2084],{"type":26,"value":525},{"type":30,"tagName":397,"properties":2086,"children":2087},{"style":413},[2088],{"type":26,"value":1984},{"type":30,"tagName":397,"properties":2090,"children":2091},{"style":424},[2092],{"type":26,"value":617},{"type":30,"tagName":397,"properties":2094,"children":2095},{"style":430},[2096],{"type":26,"value":2097},"(z, ",{"type":30,"tagName":397,"properties":2099,"children":2100},{"style":522},[2101],{"type":26,"value":2102},"2.0",{"type":30,"tagName":397,"properties":2104,"children":2105},{"style":430},[2106],{"type":26,"value":243},{"type":30,"tagName":397,"properties":2108,"children":2109},{"style":413},[2110],{"type":26,"value":563},{"type":30,"tagName":397,"properties":2112,"children":2113},{"style":522},[2114],{"type":26,"value":2102},{"type":30,"tagName":397,"properties":2116,"children":2117},{"style":430},[2118],{"type":26,"value":2119},"));",{"type":26,"value":27},{"type":30,"tagName":397,"properties":2122,"children":2123},{"class":399},[2124,2129],{"type":30,"tagName":397,"properties":2125,"children":2126},{"style":424},[2127],{"type":26,"value":2128},"  emitRow",{"type":30,"tagName":397,"properties":2130,"children":2131},{"style":430},[2132],{"type":26,"value":1808},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2135,"children":2136},{"class":399},[2137],{"type":30,"tagName":397,"properties":2138,"children":2139},{"style":430},[2140],{"type":26,"value":587},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2143,"children":2144},{"class":399},[],{"type":26,"value":27},{"type":30,"tagName":397,"properties":2147,"children":2148},{"class":399},[2149,2153,2157,2162,2166,2170,2174],{"type":30,"tagName":397,"properties":2150,"children":2151},{"style":413},[2152],{"type":26,"value":416},{"type":30,"tagName":397,"properties":2154,"children":2155},{"style":413},[2156],{"type":26,"value":421},{"type":30,"tagName":397,"properties":2158,"children":2159},{"style":424},[2160],{"type":26,"value":2161}," reset",{"type":30,"tagName":397,"properties":2163,"children":2164},{"style":430},[2165],{"type":26,"value":1636},{"type":30,"tagName":397,"properties":2167,"children":2168},{"style":413},[2169],{"type":26,"value":374},{"type":30,"tagName":397,"properties":2171,"children":2172},{"style":522},[2173],{"type":26,"value":1645},{"type":30,"tagName":397,"properties":2175,"children":2176},{"style":430},[2177],{"type":26,"value":500},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2180,"children":2181},{"class":399},[2182,2187,2192],{"type":30,"tagName":397,"properties":2183,"children":2184},{"style":430},[2185],{"type":26,"value":2186},"  sma.",{"type":30,"tagName":397,"properties":2188,"children":2189},{"style":424},[2190],{"type":26,"value":2191},"reset",{"type":30,"tagName":397,"properties":2193,"children":2194},{"style":430},[2195],{"type":26,"value":1808},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2198,"children":2199},{"class":399},[2200,2205,2209],{"type":30,"tagName":397,"properties":2201,"children":2202},{"style":430},[2203],{"type":26,"value":2204},"  stdev.",{"type":30,"tagName":397,"properties":2206,"children":2207},{"style":424},[2208],{"type":26,"value":2191},{"type":30,"tagName":397,"properties":2210,"children":2211},{"style":430},[2212],{"type":26,"value":1808},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2215,"children":2216},{"class":399},[2217,2221,2225,2229],{"type":30,"tagName":397,"properties":2218,"children":2219},{"style":430},[2220],{"type":26,"value":1879},{"type":30,"tagName":397,"properties":2222,"children":2223},{"style":413},[2224],{"type":26,"value":923},{"type":30,"tagName":397,"properties":2226,"children":2227},{"style":522},[2228],{"type":26,"value":1560},{"type":30,"tagName":397,"properties":2230,"children":2231},{"style":430},[2232],{"type":26,"value":544},{"type":26,"value":27},{"type":30,"tagName":397,"properties":2235,"children":2236},{"class":399},[2237],{"type":30,"tagName":397,"properties":2238,"children":2239},{"style":430},[2240],{"type":26,"value":587},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2243,"children":2244,"position":2348},{},[2245,2253,2266,2273,2284,2291,2303,2310,2322,2329,2341],{"type":26,"value":2246,"position":2247},"Both files build with ",{"start":2248,"end":2251},{"line":2249,"column":20,"offset":2250},106,3425,{"line":2249,"column":286,"offset":2252},3447,{"type":30,"tagName":45,"properties":2254,"children":2255,"position":2263},{},[2256],{"type":26,"value":2257,"position":2258},"om indicator build",{"start":2259,"end":2260},{"line":2249,"column":286,"offset":2252},{"line":2249,"column":2261,"offset":2262},43,3467,{"start":2264,"end":2265},{"line":2249,"column":286,"offset":2252},{"line":2249,"column":2261,"offset":2262},{"type":26,"value":2267,"position":2268},", and the exported package\ncarries the compiled module and the sheet, not the source: the helper is\npart of your workspace, kept beside ",{"start":2269,"end":2270},{"line":2249,"column":2261,"offset":2262},{"line":2271,"column":1092,"offset":2272},108,3603,{"type":30,"tagName":45,"properties":2274,"children":2275,"position":2281},{},[2276],{"type":26,"value":70,"position":2277},{"start":2278,"end":2279},{"line":2271,"column":1092,"offset":2272},{"line":2271,"column":247,"offset":2280},3621,{"start":2282,"end":2283},{"line":2271,"column":1092,"offset":2272},{"line":2271,"column":247,"offset":2280},{"type":26,"value":2285,"position":2286},". Types travel too:\n",{"start":2287,"end":2288},{"line":2271,"column":247,"offset":2280},{"line":2289,"column":20,"offset":2290},109,3641,{"type":30,"tagName":45,"properties":2292,"children":2293,"position":2300},{},[2294],{"type":26,"value":2295,"position":2296},"Band",{"start":2297,"end":2298},{"line":2289,"column":20,"offset":2290},{"line":2289,"column":306,"offset":2299},3647,{"start":2301,"end":2302},{"line":2289,"column":20,"offset":2290},{"line":2289,"column":306,"offset":2299},{"type":26,"value":2304,"position":2305}," is a class the consumer constructs, the port of a kScript shared\n",{"start":2306,"end":2307},{"line":2289,"column":306,"offset":2299},{"line":2308,"column":20,"offset":2309},110,3713,{"type":30,"tagName":45,"properties":2311,"children":2312,"position":2319},{},[2313],{"type":26,"value":2314,"position":2315},"type",{"start":2316,"end":2317},{"line":2308,"column":20,"offset":2309},{"line":2308,"column":306,"offset":2318},3719,{"start":2320,"end":2321},{"line":2308,"column":20,"offset":2309},{"line":2308,"column":306,"offset":2318},{"type":26,"value":2323,"position":2324},". What the kScript placement rules were for (aliased calls inside a\n",{"start":2325,"end":2326},{"line":2308,"column":306,"offset":2318},{"line":2327,"column":20,"offset":2328},111,3787,{"type":30,"tagName":45,"properties":2330,"children":2331,"position":2338},{},[2332],{"type":26,"value":2333,"position":2334},"timeseries",{"start":2335,"end":2336},{"line":2327,"column":20,"offset":2328},{"line":2327,"column":106,"offset":2337},3799,{"start":2339,"end":2340},{"line":2327,"column":20,"offset":2328},{"line":2327,"column":106,"offset":2337},{"type":26,"value":2342,"position":2343}," initializer) has no counterpart, because there are no series\nexpressions: a function is a function everywhere.",{"start":2344,"end":2345},{"line":2327,"column":106,"offset":2337},{"line":2346,"column":209,"offset":2347},112,3910,{"start":2349,"end":2350},{"line":2249,"column":20,"offset":2250},{"line":2346,"column":209,"offset":2347},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2353,"children":2354,"position":2421},{},[2355,2363,2375,2382,2393,2400,2416],{"type":26,"value":2356,"position":2357},"The ",{"start":2358,"end":2361},{"line":2359,"column":20,"offset":2360},114,3912,{"line":2359,"column":38,"offset":2362},3916,{"type":30,"tagName":45,"properties":2364,"children":2365,"position":2372},{},[2366],{"type":26,"value":2367,"position":2368},"new Band(...)",{"start":2369,"end":2370},{"line":2359,"column":38,"offset":2362},{"line":2359,"column":208,"offset":2371},3931,{"start":2373,"end":2374},{"line":2359,"column":38,"offset":2362},{"line":2359,"column":208,"offset":2371},{"type":26,"value":2376,"position":2377}," on every bar allocates, and the module's runtime\nnever frees; keep one ",{"start":2378,"end":2379},{"line":2359,"column":208,"offset":2371},{"line":2380,"column":286,"offset":2381},115,4003,{"type":30,"tagName":45,"properties":2383,"children":2384,"position":2390},{},[2385],{"type":26,"value":2295,"position":2386},{"start":2387,"end":2388},{"line":2380,"column":286,"offset":2381},{"line":2380,"column":152,"offset":2389},4009,{"start":2391,"end":2392},{"line":2380,"column":286,"offset":2381},{"line":2380,"column":152,"offset":2389},{"type":26,"value":2394,"position":2395}," and update its fields when the history is\nlong (",{"start":2396,"end":2397},{"line":2380,"column":152,"offset":2389},{"line":2398,"column":306,"offset":2399},116,4058,{"type":30,"tagName":129,"properties":2401,"children":2403,"position":2412},{"href":2402},"../core-concepts/collections.md",[2404],{"type":26,"value":2405,"position":2406},"Collections",{"start":2407,"end":2410},{"line":2398,"column":2408,"offset":2409},8,4059,{"line":2398,"column":185,"offset":2411},4070,{"start":2413,"end":2414},{"line":2398,"column":306,"offset":2399},{"line":2398,"column":237,"offset":2415},4104,{"type":26,"value":321,"position":2417},{"start":2418,"end":2419},{"line":2398,"column":237,"offset":2415},{"line":2398,"column":247,"offset":2420},4106,{"start":2422,"end":2423},{"line":2359,"column":20,"offset":2360},{"line":2398,"column":247,"offset":2420},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2426,"children":2427,"position":2437},{},[2428],{"type":26,"value":2429,"position":2430},"Two shared-module rules the compiler enforces for you: an import that\ncollides with a local name is a compile error (no silent precedence), and\na shared function calling its sibling always gets its own sibling. Errors\ninside the helper carry the helper's own file, line, and column.",{"start":2431,"end":2434},{"line":2432,"column":20,"offset":2433},118,4108,{"line":2435,"column":95,"offset":2436},121,4390,{"start":2438,"end":2439},{"line":2432,"column":20,"offset":2433},{"line":2435,"column":95,"offset":2436},{"type":26,"value":27},{"type":30,"tagName":159,"properties":2442,"children":2444,"position":2454},{"id":2443},"what-a-library-was-for-as-a-package",[2445],{"type":26,"value":2446,"position":2447},"What a library was for, as a package",{"start":2448,"end":2451},{"line":2449,"column":168,"offset":2450},123,4395,{"line":2449,"column":2452,"offset":2453},40,4431,{"start":2455,"end":2457},{"line":2449,"column":20,"offset":2456},4392,{"line":2449,"column":2452,"offset":2453},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2460,"children":2461,"position":2470},{},[2462],{"type":26,"value":2463,"position":2464},"The rest of what a kScript library offered maps onto packages:",{"start":2465,"end":2467},{"line":24,"column":20,"offset":2466},4433,{"line":24,"column":2468,"offset":2469},63,4495,{"start":2471,"end":2472},{"line":24,"column":20,"offset":2466},{"line":24,"column":2468,"offset":2469},{"type":26,"value":2474},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":30,"tagName":2476,"properties":2477,"children":2478,"position":2914},"table",{},[2479,2527],{"type":30,"tagName":2480,"properties":2481,"children":2482,"position":2524},"thead",{},[2483],{"type":30,"tagName":2484,"properties":2485,"children":2486,"position":2521},"tr",{},[2487,2506],{"type":30,"tagName":2488,"properties":2489,"children":2490,"position":2501},"th",{},[2491],{"type":26,"value":2492,"position":2493},"kScript library",{"start":2494,"end":2498},{"line":2495,"column":2496,"offset":2497},127,3,4499,{"line":2495,"column":2499,"offset":2500},18,4514,{"start":2502,"end":2504},{"line":2495,"column":20,"offset":2503},4497,{"line":2495,"column":185,"offset":2505},4515,{"type":30,"tagName":2488,"properties":2507,"children":2508,"position":2517},{},[2509],{"type":26,"value":2510,"position":2511},"Indicator package",{"start":2512,"end":2514},{"line":2495,"column":227,"offset":2513},4517,{"line":2495,"column":2515,"offset":2516},38,4534,{"start":2518,"end":2519},{"line":2495,"column":185,"offset":2505},{"line":2495,"column":2452,"offset":2520},4536,{"start":2522,"end":2523},{"line":2495,"column":20,"offset":2503},{"line":2495,"column":2452,"offset":2520},{"start":2525,"end":2526},{"line":2495,"column":20,"offset":2503},{"line":2495,"column":2452,"offset":2520},{"type":30,"tagName":2528,"properties":2529,"children":2530,"position":2911},"tbody",{},[2531,2589,2640,2689,2789,2838],{"type":30,"tagName":2484,"properties":2532,"children":2533,"position":2586},{},[2534,2557],{"type":30,"tagName":2535,"properties":2536,"children":2537,"position":2552},"td",{},[2538],{"type":30,"tagName":45,"properties":2539,"children":2540,"position":2549},{},[2541],{"type":26,"value":2542,"position":2543},"import \"@you/norm\"",{"start":2544,"end":2547},{"line":2545,"column":2496,"offset":2546},129,4553,{"line":2545,"column":286,"offset":2548},4573,{"start":2550,"end":2551},{"line":2545,"column":2496,"offset":2546},{"line":2545,"column":286,"offset":2548},{"start":2553,"end":2555},{"line":2545,"column":20,"offset":2554},4551,{"line":2545,"column":305,"offset":2556},4574,{"type":30,"tagName":2535,"properties":2558,"children":2559,"position":2581},{},[2560,2574],{"type":30,"tagName":45,"properties":2561,"children":2562,"position":2571},{},[2563],{"type":26,"value":2564,"position":2565},"om install @you/norm",{"start":2566,"end":2568},{"line":2545,"column":116,"offset":2567},4576,{"line":2545,"column":2569,"offset":2570},48,4598,{"start":2572,"end":2573},{"line":2545,"column":116,"offset":2567},{"line":2545,"column":2569,"offset":2570},{"type":26,"value":2575,"position":2576},", then mount it or read its metric",{"start":2577,"end":2578},{"line":2545,"column":2569,"offset":2570},{"line":2545,"column":2579,"offset":2580},82,4632,{"start":2582,"end":2583},{"line":2545,"column":305,"offset":2556},{"line":2545,"column":2584,"offset":2585},84,4634,{"start":2587,"end":2588},{"line":2545,"column":20,"offset":2554},{"line":2545,"column":2584,"offset":2585},{"type":30,"tagName":2484,"properties":2590,"children":2591,"position":2637},{},[2592,2622],{"type":30,"tagName":2535,"properties":2593,"children":2594,"position":2616},{},[2595,2609],{"type":30,"tagName":45,"properties":2596,"children":2597,"position":2606},{},[2598],{"type":26,"value":2599,"position":2600},"import \"@you/norm@1.0.0\"",{"start":2601,"end":2604},{"line":2602,"column":2496,"offset":2603},130,4637,{"line":2602,"column":152,"offset":2605},4663,{"start":2607,"end":2608},{"line":2602,"column":2496,"offset":2603},{"line":2602,"column":152,"offset":2605},{"type":26,"value":2610,"position":2611}," pin",{"start":2612,"end":2613},{"line":2602,"column":152,"offset":2605},{"line":2602,"column":2614,"offset":2615},33,4667,{"start":2617,"end":2619},{"line":2602,"column":20,"offset":2618},4635,{"line":2602,"column":2620,"offset":2621},34,4668,{"type":30,"tagName":2535,"properties":2623,"children":2624,"position":2632},{},[2625],{"type":26,"value":2626,"position":2627},"installs pin the exact version and hash; alerts lock to what they were armed on",{"start":2628,"end":2630},{"line":2602,"column":171,"offset":2629},4670,{"line":2602,"column":2380,"offset":2631},4749,{"start":2633,"end":2634},{"line":2602,"column":2620,"offset":2621},{"line":2602,"column":2635,"offset":2636},117,4751,{"start":2638,"end":2639},{"line":2602,"column":20,"offset":2618},{"line":2602,"column":2635,"offset":2636},{"type":30,"tagName":2484,"properties":2641,"children":2642,"position":2686},{},[2643,2670],{"type":30,"tagName":2535,"properties":2644,"children":2645,"position":2665},{},[2646,2654],{"type":26,"value":2647,"position":2648},"a shared ",{"start":2649,"end":2652},{"line":2650,"column":2496,"offset":2651},131,4754,{"line":2650,"column":140,"offset":2653},4763,{"type":30,"tagName":45,"properties":2655,"children":2656,"position":2662},{},[2657],{"type":26,"value":2314,"position":2658},{"start":2659,"end":2660},{"line":2650,"column":140,"offset":2653},{"line":2650,"column":2499,"offset":2661},4769,{"start":2663,"end":2664},{"line":2650,"column":140,"offset":2653},{"line":2650,"column":2499,"offset":2661},{"start":2666,"end":2668},{"line":2650,"column":20,"offset":2667},4752,{"line":2650,"column":185,"offset":2669},4770,{"type":30,"tagName":2535,"properties":2671,"children":2672,"position":2681},{},[2673],{"type":26,"value":2674,"position":2675},"a class in a workspace module; across packages, values travel as metrics",{"start":2676,"end":2678},{"line":2650,"column":227,"offset":2677},4772,{"line":2650,"column":2679,"offset":2680},93,4844,{"start":2682,"end":2683},{"line":2650,"column":185,"offset":2669},{"line":2650,"column":2684,"offset":2685},95,4846,{"start":2687,"end":2688},{"line":2650,"column":20,"offset":2667},{"line":2650,"column":2684,"offset":2685},{"type":30,"tagName":2484,"properties":2690,"children":2691,"position":2786},{},[2692,2708],{"type":30,"tagName":2535,"properties":2693,"children":2694,"position":2703},{},[2695],{"type":26,"value":2696,"position":2697},"a consumer reusing a computed series",{"start":2698,"end":2701},{"line":2699,"column":2496,"offset":2700},132,4849,{"line":2699,"column":64,"offset":2702},4885,{"start":2704,"end":2706},{"line":2699,"column":20,"offset":2705},4847,{"line":2699,"column":2452,"offset":2707},4886,{"type":30,"tagName":2535,"properties":2709,"children":2710,"position":2781},{},[2711,2719,2732,2738,2750,2757,2775],{"type":26,"value":2712,"position":2713},"a ",{"start":2714,"end":2716},{"line":2699,"column":358,"offset":2715},4888,{"line":2699,"column":2717,"offset":2718},44,4890,{"type":30,"tagName":45,"properties":2720,"children":2721,"position":2729},{},[2722],{"type":26,"value":2723,"position":2724},"metric",{"start":2725,"end":2726},{"line":2699,"column":2717,"offset":2718},{"line":2699,"column":2727,"offset":2728},52,4898,{"start":2730,"end":2731},{"line":2699,"column":2717,"offset":2718},{"line":2699,"column":2727,"offset":2728},{"type":26,"value":2733,"position":2734}," composition input: ",{"start":2735,"end":2736},{"line":2699,"column":2727,"offset":2728},{"line":2699,"column":275,"offset":2737},4918,{"type":30,"tagName":45,"properties":2739,"children":2740,"position":2747},{},[2741],{"type":26,"value":2742,"position":2743},"{ \"source\": \"metric\", \"metric\": \"wrun/@you/norm/z\" }",{"start":2744,"end":2745},{"line":2699,"column":275,"offset":2737},{"line":2699,"column":23,"offset":2746},4972,{"start":2748,"end":2749},{"line":2699,"column":275,"offset":2737},{"line":2699,"column":23,"offset":2746},{"type":26,"value":2751,"position":2752}," in a hand-written sheet feeds one package's output into another (",{"start":2753,"end":2754},{"line":2699,"column":23,"offset":2746},{"line":2699,"column":2755,"offset":2756},192,5038,{"type":30,"tagName":129,"properties":2758,"children":2760,"position":2770},{"href":2759},"script-definition.md",[2761],{"type":26,"value":2762,"position":2763},"Script definition",{"start":2764,"end":2767},{"line":2699,"column":2765,"offset":2766},193,5039,{"line":2699,"column":2768,"offset":2769},210,5056,{"start":2771,"end":2772},{"line":2699,"column":2755,"offset":2756},{"line":2699,"column":2773,"offset":2774},233,5079,{"type":26,"value":487,"position":2776},{"start":2777,"end":2778},{"line":2699,"column":2773,"offset":2774},{"line":2699,"column":2779,"offset":2780},234,5080,{"start":2782,"end":2783},{"line":2699,"column":2452,"offset":2707},{"line":2699,"column":2784,"offset":2785},236,5082,{"start":2787,"end":2788},{"line":2699,"column":20,"offset":2705},{"line":2699,"column":2784,"offset":2785},{"type":30,"tagName":2484,"properties":2790,"children":2791,"position":2835},{},[2792,2808],{"type":30,"tagName":2535,"properties":2793,"children":2794,"position":2803},{},[2795],{"type":26,"value":2796,"position":2797},"draft resolves live in the editor",{"start":2798,"end":2801},{"line":2799,"column":2496,"offset":2800},133,5085,{"line":2799,"column":171,"offset":2802},5118,{"start":2804,"end":2806},{"line":2799,"column":20,"offset":2805},5083,{"line":2799,"column":1092,"offset":2807},5119,{"type":30,"tagName":2535,"properties":2809,"children":2810,"position":2831},{},[2811,2824],{"type":30,"tagName":45,"properties":2812,"children":2813,"position":2821},{},[2814],{"type":26,"value":2815,"position":2816},"om indicator install --replace",{"start":2817,"end":2819},{"line":2799,"column":64,"offset":2818},5121,{"line":2799,"column":53,"offset":2820},5153,{"start":2822,"end":2823},{"line":2799,"column":64,"offset":2818},{"line":2799,"column":53,"offset":2820},{"type":26,"value":2825,"position":2826}," and the editor's Run rebuild from the current source",{"start":2827,"end":2828},{"line":2799,"column":53,"offset":2820},{"line":2799,"column":2829,"offset":2830},124,5206,{"start":2832,"end":2833},{"line":2799,"column":1092,"offset":2807},{"line":2799,"column":23,"offset":2834},5208,{"start":2836,"end":2837},{"line":2799,"column":20,"offset":2805},{"line":2799,"column":23,"offset":2834},{"type":30,"tagName":2484,"properties":2839,"children":2840,"position":2908},{},[2841,2859],{"type":30,"tagName":2535,"properties":2842,"children":2843,"position":2853},{},[2844],{"type":26,"value":2845,"position":2846},"publish an immutable version",{"start":2847,"end":2850},{"line":2848,"column":2496,"offset":2849},134,5211,{"line":2848,"column":2851,"offset":2852},31,5239,{"start":2854,"end":2856},{"line":2848,"column":20,"offset":2855},5209,{"line":2848,"column":2857,"offset":2858},32,5240,{"type":30,"tagName":2535,"properties":2860,"children":2861,"position":2903},{},[2862,2875,2881,2897],{"type":30,"tagName":45,"properties":2863,"children":2864,"position":2872},{},[2865],{"type":26,"value":2866,"position":2867},"om publish",{"start":2868,"end":2870},{"line":2848,"column":2620,"offset":2869},5242,{"line":2848,"column":9,"offset":2871},5254,{"start":2873,"end":2874},{"line":2848,"column":2620,"offset":2869},{"line":2848,"column":9,"offset":2871},{"type":26,"value":2876,"position":2877},"; versions are permanent (",{"start":2878,"end":2879},{"line":2848,"column":9,"offset":2871},{"line":2848,"column":275,"offset":2880},5280,{"type":30,"tagName":129,"properties":2882,"children":2883,"position":2892},{"href":131},[2884],{"type":26,"value":134,"position":2885},{"start":2886,"end":2889},{"line":2848,"column":2887,"offset":2888},73,5281,{"line":2848,"column":2890,"offset":2891},83,5291,{"start":2893,"end":2894},{"line":2848,"column":275,"offset":2880},{"line":2848,"column":2895,"offset":2896},99,5307,{"type":26,"value":487,"position":2898},{"start":2899,"end":2900},{"line":2848,"column":2895,"offset":2896},{"line":2848,"column":2901,"offset":2902},100,5308,{"start":2904,"end":2905},{"line":2848,"column":2857,"offset":2858},{"line":2848,"column":2906,"offset":2907},102,5310,{"start":2909,"end":2910},{"line":2848,"column":20,"offset":2855},{"line":2848,"column":2906,"offset":2907},{"start":2912,"end":2913},{"line":2545,"column":20,"offset":2554},{"line":2848,"column":2906,"offset":2907},{"start":2915,"end":2916},{"line":2495,"column":20,"offset":2503},{"line":2848,"column":2906,"offset":2907},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2919,"children":2920,"position":2984},{},[2921,2940,2946,2959,2966,2978],{"type":30,"tagName":2922,"properties":2923,"children":2924,"position":2934},"strong",{},[2925],{"type":26,"value":2926,"position":2927},"Not in Indicators yet.",{"start":2928,"end":2931},{"line":2929,"column":2496,"offset":2930},136,5314,{"line":2929,"column":2932,"offset":2933},25,5336,{"start":2935,"end":2937},{"line":2929,"column":20,"offset":2936},5312,{"line":2929,"column":2938,"offset":2939},27,5338,{"type":26,"value":2941,"position":2942}," ",{"start":2943,"end":2944},{"line":2929,"column":2938,"offset":2939},{"line":2929,"column":145,"offset":2945},5339,{"type":30,"tagName":45,"properties":2947,"children":2948,"position":2956},{},[2949],{"type":26,"value":2950,"position":2951},"import \"@scope/lib\"",{"start":2952,"end":2953},{"line":2929,"column":145,"offset":2945},{"line":2929,"column":2954,"offset":2955},49,5360,{"start":2957,"end":2958},{"line":2929,"column":145,"offset":2945},{"line":2929,"column":2954,"offset":2955},{"type":26,"value":2960,"position":2961}," from another package's\nsource at build time. Cross-package reuse is a metric today (the\nconsumer reads the published package's computed output) or a copy of the\nmodule into ",{"start":2962,"end":2963},{"line":2929,"column":2954,"offset":2955},{"line":2964,"column":106,"offset":2965},139,5534,{"type":30,"tagName":45,"properties":2967,"children":2968,"position":2975},{},[2969],{"type":26,"value":2970,"position":2971},"src/lib",{"start":2972,"end":2973},{"line":2964,"column":106,"offset":2965},{"line":2964,"column":285,"offset":2974},5543,{"start":2976,"end":2977},{"line":2964,"column":106,"offset":2965},{"line":2964,"column":285,"offset":2974},{"type":26,"value":2979,"position":2980},"; package-to-package source imports are product\nwork.",{"start":2981,"end":2982},{"line":2964,"column":285,"offset":2974},{"line":39,"column":41,"offset":2983},5596,{"start":2985,"end":2986},{"line":2929,"column":20,"offset":2936},{"line":39,"column":41,"offset":2983},{"type":26,"value":27},{"type":13,"children":2989},[2990],{"type":30,"tagName":387,"properties":2991,"children":2992,"data":-1},{"class":389,"style":390,"tabindex":391},[2993],{"type":30,"tagName":45,"properties":2994,"children":2995},{},[2996,3014,3015],{"type":30,"tagName":397,"properties":2997,"children":2998},{"class":399},[2999,3004,3009],{"type":30,"tagName":397,"properties":3000,"children":3001},{"style":424},[3002],{"type":26,"value":3003},"om",{"type":30,"tagName":397,"properties":3005,"children":3006},{"style":1152},[3007],{"type":26,"value":3008}," install",{"type":30,"tagName":397,"properties":3010,"children":3011},{"style":1152},[3012],{"type":26,"value":3013}," @you/norm",{"type":26,"value":27},{"type":30,"tagName":397,"properties":3016,"children":3017},{"class":399},[3018,3022,3027,3031,3036],{"type":30,"tagName":397,"properties":3019,"children":3020},{"style":424},[3021],{"type":26,"value":3003},{"type":30,"tagName":397,"properties":3023,"children":3024},{"style":1152},[3025],{"type":26,"value":3026}," indicator",{"type":30,"tagName":397,"properties":3028,"children":3029},{"style":1152},[3030],{"type":26,"value":3008},{"type":30,"tagName":397,"properties":3032,"children":3033},{"style":1152},[3034],{"type":26,"value":3035}," ./my-indicator",{"type":30,"tagName":397,"properties":3037,"children":3038},{"style":522},[3039],{"type":26,"value":3040}," --replace",{"quirksMode":3042},false,{"start":3044,"end":3045},{"line":20,"column":20,"offset":21},{"line":3046,"column":20,"offset":3047},146,5677,1790157157860]