[{"data":1,"prerenderedAt":2667},["ShallowReactive",2],{"page-\u002Fcontributing\u002Fcomponents":3,"navigation":2284},{"collection":4,"page":5},"docs_en",{"id":6,"title":7,"body":8,"description":2277,"extension":552,"meta":2278,"navigation":264,"path":2279,"rawbody":2280,"seo":2281,"stem":2282,"__hash__":2283},"docs_en\u002Fcontributing\u002Fcomponents.md","Content components",{"type":9,"value":10,"toc":2258},"minimark",[11,15,19,24,27,38,48,58,68,113,127,131,134,237,387,391,402,453,507,512,554,654,658,661,691,810,814,824,852,919,923,929,965,997,1001,1008,1012,1023,1027,1056,1060,1066,2106,2138,2142,2148,2254],[12,13,7],"h1",{"id":14},"content-components",[16,17,18],"p",{},"This page is the reference for writers. Every block below is shown as it renders, followed by the Markdown (MDC) that produces it. Prefer these over raw HTML.",[20,21,23],"h2",{"id":22},"callouts","Callouts",[16,25,26],{},"Four kinds, from the mildest to the strongest. Keep them short: one or two sentences.",[28,29,30],"note",{},[16,31,32,33,37],{},"A ",[34,35,36],"code",{},".well"," file is plain JSON. Any text editor can open it.",[39,40,41],"tip",{},[16,42,43,44,47],{},"Start from an example in ",[34,45,46],{},"packages\u002Fcore\u002Fexamples"," instead of an empty file.",[49,50,51],"warning",{},[16,52,53,54,57],{},"Depths are in metres from the ground surface. A negative ",[34,55,56],{},"from"," means above ground.",[59,60,61],"caution",{},[16,62,63,64,67],{},"Do not edit files in ",[34,65,66],{},"spec\u002F"," to suit the site. The spec is canonical.",[69,70,75],"pre",{"className":71,"code":72,"language":73,"meta":74,"style":74},"language-mdc shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","::note\nA `.well` file is plain JSON. Any text editor can open it.\n::\n","mdc","",[34,76,77,90,107],{"__ignoreMap":74},[78,79,82,86],"span",{"class":80,"line":81},"line",1,[78,83,85],{"class":84},"sMK4o","::",[78,87,89],{"class":88},"swJcz","note\n",[78,91,93,96,99,102,104],{"class":80,"line":92},2,[78,94,32],{"class":95},"sTEyZ",[78,97,98],{"class":84},"`",[78,100,36],{"class":101},"sfazB",[78,103,98],{"class":84},[78,105,106],{"class":95}," file is plain JSON. Any text editor can open it.\n",[78,108,110],{"class":80,"line":109},3,[78,111,112],{"class":84},"::\n",[16,114,115,118,119,122,123,126],{},[34,116,117],{},"::tip",", ",[34,120,121],{},"::warning"," and ",[34,124,125],{},"::caution"," take the same form.",[20,128,130],{"id":129},"do-and-dont","Do and Don't",[16,132,133],{},"Pair a recommended form with the one to avoid. Each side takes text and an optional fenced block.",[135,136,137,189],"do-dont",{},[138,139,140,143],"template",{"v-slot:do":74},[16,141,142],{},"Give depths as numbers, in metres.",[69,144,148],{"className":145,"code":146,"language":147,"meta":74,"style":74},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"from\": 0, \"to\": 12.5 }\n","json",[34,149,150],{"__ignoreMap":74},[78,151,152,155,158,161,164,167,171,174,176,179,181,183,186],{"class":80,"line":81},[78,153,154],{"class":84},"{",[78,156,157],{"class":84}," \"",[78,159,56],{"class":160},"spNyl",[78,162,163],{"class":84},"\"",[78,165,166],{"class":84},":",[78,168,170],{"class":169},"sbssI"," 0",[78,172,173],{"class":84},",",[78,175,157],{"class":84},[78,177,178],{"class":160},"to",[78,180,163],{"class":84},[78,182,166],{"class":84},[78,184,185],{"class":169}," 12.5",[78,187,188],{"class":84}," }\n",[138,190,191,194],{"v-slot:dont":74},[16,192,193],{},"Put units inside the value.",[69,195,197],{"className":145,"code":196,"language":147,"meta":74,"style":74},"{ \"from\": \"0 m\", \"to\": \"12.5 m\" }\n",[34,198,199],{"__ignoreMap":74},[78,200,201,203,205,207,209,211,213,216,218,220,222,224,226,228,230,233,235],{"class":80,"line":81},[78,202,154],{"class":84},[78,204,157],{"class":84},[78,206,56],{"class":160},[78,208,163],{"class":84},[78,210,166],{"class":84},[78,212,157],{"class":84},[78,214,215],{"class":101},"0 m",[78,217,163],{"class":84},[78,219,173],{"class":84},[78,221,157],{"class":84},[78,223,178],{"class":160},[78,225,163],{"class":84},[78,227,166],{"class":84},[78,229,157],{"class":84},[78,231,232],{"class":101},"12.5 m",[78,234,163],{"class":84},[78,236,188],{"class":84},[69,238,240],{"className":71,"code":239,"language":73,"meta":74,"style":74},"::do-dont\n#do\nGive depths as numbers, in metres.\n\n```json\n{ \"from\": 0, \"to\": 12.5 }\n```\n\n#dont\nPut units inside the value.\n\n```json\n{ \"from\": \"0 m\", \"to\": \"12.5 m\" }\n```\n::\n",[34,241,242,249,254,259,266,276,305,311,316,322,328,333,340,377,382],{"__ignoreMap":74},[78,243,244,246],{"class":80,"line":81},[78,245,85],{"class":84},[78,247,248],{"class":88},"do-dont\n",[78,250,251],{"class":80,"line":92},[78,252,253],{"class":160},"#do\n",[78,255,256],{"class":80,"line":109},[78,257,258],{"class":95},"Give depths as numbers, in metres.\n",[78,260,262],{"class":80,"line":261},4,[78,263,265],{"emptyLinePlaceholder":264},true,"\n",[78,267,269,272],{"class":80,"line":268},5,[78,270,271],{"class":101},"```",[78,273,275],{"class":274},"sJsPd","json\n",[78,277,279,281,283,285,287,289,291,293,295,297,299,301,303],{"class":80,"line":278},6,[78,280,154],{"class":84},[78,282,157],{"class":84},[78,284,56],{"class":160},[78,286,163],{"class":84},[78,288,166],{"class":84},[78,290,170],{"class":169},[78,292,173],{"class":84},[78,294,157],{"class":84},[78,296,178],{"class":160},[78,298,163],{"class":84},[78,300,166],{"class":84},[78,302,185],{"class":169},[78,304,188],{"class":84},[78,306,308],{"class":80,"line":307},7,[78,309,310],{"class":101},"```\n",[78,312,314],{"class":80,"line":313},8,[78,315,265],{"emptyLinePlaceholder":264},[78,317,319],{"class":80,"line":318},9,[78,320,321],{"class":160},"#dont\n",[78,323,325],{"class":80,"line":324},10,[78,326,327],{"class":95},"Put units inside the value.\n",[78,329,331],{"class":80,"line":330},11,[78,332,265],{"emptyLinePlaceholder":264},[78,334,336,338],{"class":80,"line":335},12,[78,337,271],{"class":101},[78,339,275],{"class":274},[78,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375],{"class":80,"line":342},13,[78,344,154],{"class":84},[78,346,157],{"class":84},[78,348,56],{"class":160},[78,350,163],{"class":84},[78,352,166],{"class":84},[78,354,157],{"class":84},[78,356,215],{"class":101},[78,358,163],{"class":84},[78,360,173],{"class":84},[78,362,157],{"class":84},[78,364,178],{"class":160},[78,366,163],{"class":84},[78,368,166],{"class":84},[78,370,157],{"class":84},[78,372,232],{"class":101},[78,374,163],{"class":84},[78,376,188],{"class":84},[78,378,380],{"class":80,"line":379},14,[78,381,310],{"class":101},[78,383,385],{"class":80,"line":384},15,[78,386,112],{"class":84},[20,388,390],{"id":389},"code-blocks-and-code-groups","Code blocks and code groups",[16,392,393,394,397,398,401],{},"A fence takes a language and an optional ",[34,395,396],{},"[filename]",". Group alternatives, such as package managers, with ",[34,399,400],{},"::code-group",". The bracketed name becomes the tab label.",[403,404,405,424,439],"code-group",{},[69,406,411],{"className":407,"code":408,"filename":409,"language":410,"meta":74,"style":74},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @welldot\u002Fcore\n","pnpm","bash",[34,412,413],{"__ignoreMap":74},[78,414,415,418,421],{"class":80,"line":81},[78,416,409],{"class":417},"sBMFI",[78,419,420],{"class":101}," add",[78,422,423],{"class":101}," @welldot\u002Fcore\n",[69,425,428],{"className":407,"code":426,"filename":427,"language":410,"meta":74,"style":74},"npm i @welldot\u002Fcore\n","npm",[34,429,430],{"__ignoreMap":74},[78,431,432,434,437],{"class":80,"line":81},[78,433,427],{"class":417},[78,435,436],{"class":101}," i",[78,438,423],{"class":101},[69,440,443],{"className":407,"code":441,"filename":442,"language":410,"meta":74,"style":74},"yarn add @welldot\u002Fcore\n","yarn",[34,444,445],{"__ignoreMap":74},[78,446,447,449,451],{"class":80,"line":81},[78,448,442],{"class":417},[78,450,420],{"class":101},[78,452,423],{"class":101},[69,454,456],{"className":71,"code":455,"language":73,"meta":74,"style":74},"::code-group\n```bash [pnpm]\npnpm add @welldot\u002Fcore\n```\n```bash [npm]\nnpm i @welldot\u002Fcore\n```\n::\n",[34,457,458,465,472,480,484,491,499,503],{"__ignoreMap":74},[78,459,460,462],{"class":80,"line":81},[78,461,85],{"class":84},[78,463,464],{"class":88},"code-group\n",[78,466,467,469],{"class":80,"line":92},[78,468,271],{"class":101},[78,470,471],{"class":274},"bash [pnpm]\n",[78,473,474,476,478],{"class":80,"line":109},[78,475,409],{"class":417},[78,477,420],{"class":101},[78,479,423],{"class":101},[78,481,482],{"class":80,"line":261},[78,483,310],{"class":101},[78,485,486,488],{"class":80,"line":268},[78,487,271],{"class":101},[78,489,490],{"class":274},"bash [npm]\n",[78,492,493,495,497],{"class":80,"line":278},[78,494,427],{"class":417},[78,496,436],{"class":101},[78,498,423],{"class":101},[78,500,501],{"class":80,"line":307},[78,502,310],{"class":101},[78,504,505],{"class":80,"line":313},[78,506,112],{"class":84},[508,509,511],"h3",{"id":510},"fence-languages","Fence languages",[513,514,515,532,537],"ul",{},[516,517,518,521,522,524,525,527,528,531],"li",{},[34,519,520],{},"well",": a complete ",[34,523,36],{}," document. CI validates every ",[34,526,520],{}," fence with ",[34,529,530],{},"parseWell",", so it must be valid as written. It is highlighted as JSON.",[516,533,534,536],{},[34,535,147],{},": a fragment, such as a single object or a field. Not validated.",[516,538,539,118,542,118,544,118,547,118,550,553],{},[34,540,541],{},"ts",[34,543,410],{},[34,545,546],{},"vue",[34,548,549],{},"yaml",[34,551,552],{},"md",": as usual.",[69,555,559],{"className":556,"code":557,"filename":558,"language":541,"meta":74,"style":74},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { parseWell } from '@welldot\u002Fcore';\n\nconst well = parseWell(await file.text());\nconsole.log(well.bore_hole.length);\n","read.ts",[34,560,561,591,595,629],{"__ignoreMap":74},[78,562,563,567,570,573,576,579,582,585,588],{"class":80,"line":81},[78,564,566],{"class":565},"s7zQu","import",[78,568,569],{"class":84}," {",[78,571,572],{"class":95}," parseWell",[78,574,575],{"class":84}," }",[78,577,578],{"class":565}," from",[78,580,581],{"class":84}," '",[78,583,584],{"class":101},"@welldot\u002Fcore",[78,586,587],{"class":84},"'",[78,589,590],{"class":84},";\n",[78,592,593],{"class":80,"line":92},[78,594,265],{"emptyLinePlaceholder":264},[78,596,597,600,603,606,609,612,615,618,621,624,627],{"class":80,"line":109},[78,598,599],{"class":160},"const",[78,601,602],{"class":95}," well ",[78,604,605],{"class":84},"=",[78,607,572],{"class":608},"s2Zo4",[78,610,611],{"class":95},"(",[78,613,614],{"class":565},"await",[78,616,617],{"class":95}," file",[78,619,620],{"class":84},".",[78,622,623],{"class":608},"text",[78,625,626],{"class":95},"())",[78,628,590],{"class":84},[78,630,631,634,636,639,642,644,647,649,652],{"class":80,"line":261},[78,632,633],{"class":95},"console",[78,635,620],{"class":84},[78,637,638],{"class":608},"log",[78,640,641],{"class":95},"(well",[78,643,620],{"class":84},[78,645,646],{"class":95},"bore_hole",[78,648,620],{"class":84},[78,650,651],{"class":95},"length)",[78,653,590],{"class":84},[20,655,657],{"id":656},"tabs","Tabs",[16,659,660],{},"Use tabs for content that differs by context but not by language (code alternatives go in a code group).",[656,662,663,679],{},[664,665,668],"tabs-item",{"icon":666,"label":667},"i-lucide-globe","Browser",[16,669,670,671,678],{},"Open ",[672,673,677],"a",{"href":674,"rel":675},"https:\u002F\u002Fwelldot.org",[676],"nofollow","welldot.org"," and drop the file on the editor.",[664,680,683],{"icon":681,"label":682},"i-lucide-terminal","Node",[16,684,685,686,688,689,620],{},"Read the file and call ",[34,687,530],{}," from ",[34,690,584],{},[69,692,694],{"className":71,"code":693,"language":73,"meta":74,"style":74},"::tabs\n:::tabs-item{label=\"Browser\" icon=\"i-lucide-globe\"}\nOpen welldot.org and drop the file on the editor.\n:::\n\n:::tabs-item{label=\"Node\" icon=\"i-lucide-terminal\"}\nRead the file and call `parseWell` from `@welldot\u002Fcore`.\n:::\n::\n",[34,695,696,703,737,742,747,751,781,802,806],{"__ignoreMap":74},[78,697,698,700],{"class":80,"line":81},[78,699,85],{"class":84},[78,701,702],{"class":88},"tabs\n",[78,704,705,708,710,712,715,717,719,721,723,726,728,730,732,734],{"class":80,"line":92},[78,706,707],{"class":84},":::",[78,709,664],{"class":88},[78,711,154],{"class":84},[78,713,714],{"class":160},"label",[78,716,605],{"class":84},[78,718,163],{"class":84},[78,720,667],{"class":101},[78,722,163],{"class":84},[78,724,725],{"class":160}," icon",[78,727,605],{"class":84},[78,729,163],{"class":84},[78,731,666],{"class":101},[78,733,163],{"class":84},[78,735,736],{"class":84},"}\n",[78,738,739],{"class":80,"line":109},[78,740,741],{"class":95},"Open welldot.org and drop the file on the editor.\n",[78,743,744],{"class":80,"line":261},[78,745,746],{"class":84},":::\n",[78,748,749],{"class":80,"line":268},[78,750,265],{"emptyLinePlaceholder":264},[78,752,753,755,757,759,761,763,765,767,769,771,773,775,777,779],{"class":80,"line":278},[78,754,707],{"class":84},[78,756,664],{"class":88},[78,758,154],{"class":84},[78,760,714],{"class":160},[78,762,605],{"class":84},[78,764,163],{"class":84},[78,766,682],{"class":101},[78,768,163],{"class":84},[78,770,725],{"class":160},[78,772,605],{"class":84},[78,774,163],{"class":84},[78,776,681],{"class":101},[78,778,163],{"class":84},[78,780,736],{"class":84},[78,782,783,785,787,789,791,793,795,797,799],{"class":80,"line":307},[78,784,685],{"class":95},[78,786,98],{"class":84},[78,788,530],{"class":101},[78,790,98],{"class":84},[78,792,688],{"class":95},[78,794,98],{"class":84},[78,796,584],{"class":101},[78,798,98],{"class":84},[78,800,801],{"class":95},".\n",[78,803,804],{"class":80,"line":313},[78,805,746],{"class":84},[78,807,808],{"class":80,"line":318},[78,809,112],{"class":84},[20,811,813],{"id":812},"steps","Steps",[16,815,816,817,820,821,620],{},"Number a procedure by wrapping its ",[34,818,819],{},"###"," headings in ",[34,822,823],{},"::steps",[812,825,826,830,836,840,845,849],{},[508,827,829],{"id":828},"install-the-package","Install the package",[16,831,832,833,835],{},"Add ",[34,834,584],{}," to your project.",[508,837,839],{"id":838},"parse-the-file","Parse the file",[16,841,842,844],{},[34,843,530],{}," validates the JSON and upgrades a v1 file to v2.",[508,846,848],{"id":847},"use-the-data","Use the data",[16,850,851],{},"Every field is typed; see the format reference.",[69,853,855],{"className":71,"code":854,"language":73,"meta":74,"style":74},"::steps\n### Install the package\n\nAdd `@welldot\u002Fcore` to your project.\n\n### Parse the file\n\n`parseWell` validates the JSON and upgrades a v1 file to v2.\n::\n",[34,856,857,864,872,876,889,893,900,904,915],{"__ignoreMap":74},[78,858,859,861],{"class":80,"line":81},[78,860,85],{"class":84},[78,862,863],{"class":88},"steps\n",[78,865,866,869],{"class":80,"line":92},[78,867,868],{"class":84},"### ",[78,870,871],{"class":417},"Install the package\n",[78,873,874],{"class":80,"line":109},[78,875,265],{"emptyLinePlaceholder":264},[78,877,878,880,882,884,886],{"class":80,"line":261},[78,879,832],{"class":95},[78,881,98],{"class":84},[78,883,584],{"class":101},[78,885,98],{"class":84},[78,887,888],{"class":95}," to your project.\n",[78,890,891],{"class":80,"line":268},[78,892,265],{"emptyLinePlaceholder":264},[78,894,895,897],{"class":80,"line":278},[78,896,868],{"class":84},[78,898,899],{"class":417},"Parse the file\n",[78,901,902],{"class":80,"line":307},[78,903,265],{"emptyLinePlaceholder":264},[78,905,906,908,910,912],{"class":80,"line":313},[78,907,98],{"class":84},[78,909,530],{"class":101},[78,911,98],{"class":84},[78,913,914],{"class":95}," validates the JSON and upgrades a v1 file to v2.\n",[78,916,917],{"class":80,"line":318},[78,918,112],{"class":84},[20,920,922],{"id":921},"diagrams","Diagrams",[16,924,32,925,928],{},[34,926,927],{},"mermaid"," fence renders as a diagram that follows the light and dark theme.",[69,930,933],{"className":931,"code":932,"language":927,"meta":74,"style":74},"language-mermaid shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","flowchart LR\n  A[.well file] --> B{parseWell}\n  B -->|valid| C[Well object]\n  B -->|invalid| D[ZodError with paths]\n  C --> E[WellRenderer]\n  C --> F[\"@welldot\u002Futils\"]\n",[34,934,935,940,945,950,955,960],{"__ignoreMap":74},[78,936,937],{"class":80,"line":81},[78,938,939],{},"flowchart LR\n",[78,941,942],{"class":80,"line":92},[78,943,944],{},"  A[.well file] --> B{parseWell}\n",[78,946,947],{"class":80,"line":109},[78,948,949],{},"  B -->|valid| C[Well object]\n",[78,951,952],{"class":80,"line":261},[78,953,954],{},"  B -->|invalid| D[ZodError with paths]\n",[78,956,957],{"class":80,"line":268},[78,958,959],{},"  C --> E[WellRenderer]\n",[78,961,962],{"class":80,"line":278},[78,963,964],{},"  C --> F[\"@welldot\u002Futils\"]\n",[69,966,968],{"className":71,"code":967,"language":73,"meta":74,"style":74},"```mermaid\nflowchart LR\n  A[.well file] --> B{parseWell}\n  B -->|valid| C[Well object]\n  B -->|invalid| D[ZodError with paths]\n```\n",[34,969,970,977,981,985,989,993],{"__ignoreMap":74},[78,971,972,974],{"class":80,"line":81},[78,973,271],{"class":101},[78,975,976],{"class":274},"mermaid\n",[78,978,979],{"class":80,"line":92},[78,980,939],{"class":274},[78,982,983],{"class":80,"line":109},[78,984,944],{"class":274},[78,986,987],{"class":80,"line":261},[78,988,949],{"class":274},[78,990,991],{"class":80,"line":268},[78,992,954],{"class":274},[78,994,995],{"class":80,"line":278},[78,996,310],{"class":101},[20,998,1000],{"id":999},"live-well-preview","Live well preview",[16,1002,1003,1004,1007],{},"Draws a profile with ",[34,1005,1006],{},"@welldot\u002Frender",", next to its source. It runs in the browser only.",[508,1009,1011],{"id":1010},"from-a-bundled-example","From a bundled example",[16,1013,1014,1017,1018,1020,1021,620],{},[34,1015,1016],{},"example"," is the name of a file in ",[34,1019,46],{},", without ",[34,1022,36],{},[1024,1025],"well-preview",{"example":1026},"irece-ba-carste-bambui",[69,1028,1030],{"className":71,"code":1029,"language":73,"meta":74,"style":74},"::well-preview{example=\"irece-ba-carste-bambui\"}\n::\n",[34,1031,1032,1052],{"__ignoreMap":74},[78,1033,1034,1036,1038,1040,1042,1044,1046,1048,1050],{"class":80,"line":81},[78,1035,85],{"class":84},[78,1037,1024],{"class":88},[78,1039,154],{"class":84},[78,1041,1016],{"class":160},[78,1043,605],{"class":84},[78,1045,163],{"class":84},[78,1047,1026],{"class":101},[78,1049,163],{"class":84},[78,1051,736],{"class":84},[78,1053,1054],{"class":80,"line":92},[78,1055,112],{"class":84},[508,1057,1059],{"id":1058},"from-an-inline-document","From an inline document",[16,1061,1062,1063,1065],{},"Put a complete document in a ",[34,1064,520],{}," fence inside the component.",[1024,1067,1068],{},[69,1069,1072],{"className":1070,"code":1071,"language":520,"meta":74,"style":74},"language-well shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"version\": \"2.4\",\n  \"name\": \"Demo well, sandstone aquifer\",\n  \"well_type\": \"tubular\",\n  \"bore_hole\": [\n    { \"from\": 0, \"to\": 12, \"diameter\": 304.8 },\n    { \"from\": 12, \"to\": 60, \"diameter\": 254 }\n  ],\n  \"surface_case\": [{ \"from\": 0, \"to\": 12, \"diameter\": 254 }],\n  \"well_case\": [{ \"from\": -0.5, \"to\": 36, \"type\": \"pvc\", \"diameter\": 152.4 }],\n  \"reduction\": [],\n  \"well_screen\": [\n    { \"from\": 36, \"to\": 54, \"type\": \"pvc\", \"diameter\": 152.4, \"screen_slot\": 0.75 }\n  ],\n  \"hole_fill\": [\n    { \"from\": 0, \"to\": 12, \"type\": \"seal\", \"diameter\": 254, \"description\": \"Cement seal\" },\n    { \"from\": 12, \"to\": 60, \"type\": \"gravel_pack\", \"diameter\": 254, \"description\": \"Gravel pack, 2–4 mm\" }\n  ],\n  \"lithology\": [\n    { \"from\": 0, \"to\": 8, \"description\": \"Red clayey soil\", \"color\": \"#9c5a3c\", \"texture\": { \"code\": 620, \"vocabulary\": \"fgdc\" }, \"geologic_unit\": \"Cover\", \"aquifer_unit\": \"Aquitard\" },\n    { \"from\": 8, \"to\": 30, \"description\": \"Silty sandstone\", \"color\": \"#c9a27a\", \"texture\": { \"code\": 612, \"vocabulary\": \"fgdc\" }, \"geologic_unit\": \"Botucatu Formation\", \"aquifer_unit\": \"Guarani\" },\n    { \"from\": 30, \"to\": 60, \"description\": \"Medium-grained sandstone\", \"color\": \"#e0c48f\", \"texture\": { \"code\": 607, \"vocabulary\": \"fgdc\" }, \"geologic_unit\": \"Botucatu Formation\", \"aquifer_unit\": \"Guarani\" }\n  ],\n  \"fractures\": [],\n  \"caves\": []\n}\n",[34,1073,1074,1079,1101,1121,1141,1154,1199,1241,1246,1297,1367,1381,1394,1465,1469,1482,1558,1633,1638,1652,1796,1933,2067,2072,2086,2101],{"__ignoreMap":74},[78,1075,1076],{"class":80,"line":81},[78,1077,1078],{"class":84},"{\n",[78,1080,1081,1084,1087,1089,1091,1093,1096,1098],{"class":80,"line":92},[78,1082,1083],{"class":84},"  \"",[78,1085,1086],{"class":160},"version",[78,1088,163],{"class":84},[78,1090,166],{"class":84},[78,1092,157],{"class":84},[78,1094,1095],{"class":101},"2.4",[78,1097,163],{"class":84},[78,1099,1100],{"class":84},",\n",[78,1102,1103,1105,1108,1110,1112,1114,1117,1119],{"class":80,"line":109},[78,1104,1083],{"class":84},[78,1106,1107],{"class":160},"name",[78,1109,163],{"class":84},[78,1111,166],{"class":84},[78,1113,157],{"class":84},[78,1115,1116],{"class":101},"Demo well, sandstone aquifer",[78,1118,163],{"class":84},[78,1120,1100],{"class":84},[78,1122,1123,1125,1128,1130,1132,1134,1137,1139],{"class":80,"line":261},[78,1124,1083],{"class":84},[78,1126,1127],{"class":160},"well_type",[78,1129,163],{"class":84},[78,1131,166],{"class":84},[78,1133,157],{"class":84},[78,1135,1136],{"class":101},"tubular",[78,1138,163],{"class":84},[78,1140,1100],{"class":84},[78,1142,1143,1145,1147,1149,1151],{"class":80,"line":268},[78,1144,1083],{"class":84},[78,1146,646],{"class":160},[78,1148,163],{"class":84},[78,1150,166],{"class":84},[78,1152,1153],{"class":84}," [\n",[78,1155,1156,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1182,1184,1186,1189,1191,1193,1196],{"class":80,"line":278},[78,1157,1158],{"class":84},"    {",[78,1160,157],{"class":84},[78,1162,56],{"class":417},[78,1164,163],{"class":84},[78,1166,166],{"class":84},[78,1168,170],{"class":169},[78,1170,173],{"class":84},[78,1172,157],{"class":84},[78,1174,178],{"class":417},[78,1176,163],{"class":84},[78,1178,166],{"class":84},[78,1180,1181],{"class":169}," 12",[78,1183,173],{"class":84},[78,1185,157],{"class":84},[78,1187,1188],{"class":417},"diameter",[78,1190,163],{"class":84},[78,1192,166],{"class":84},[78,1194,1195],{"class":169}," 304.8",[78,1197,1198],{"class":84}," },\n",[78,1200,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1226,1228,1230,1232,1234,1236,1239],{"class":80,"line":307},[78,1202,1158],{"class":84},[78,1204,157],{"class":84},[78,1206,56],{"class":417},[78,1208,163],{"class":84},[78,1210,166],{"class":84},[78,1212,1181],{"class":169},[78,1214,173],{"class":84},[78,1216,157],{"class":84},[78,1218,178],{"class":417},[78,1220,163],{"class":84},[78,1222,166],{"class":84},[78,1224,1225],{"class":169}," 60",[78,1227,173],{"class":84},[78,1229,157],{"class":84},[78,1231,1188],{"class":417},[78,1233,163],{"class":84},[78,1235,166],{"class":84},[78,1237,1238],{"class":169}," 254",[78,1240,188],{"class":84},[78,1242,1243],{"class":80,"line":313},[78,1244,1245],{"class":84},"  ],\n",[78,1247,1248,1250,1253,1255,1257,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294],{"class":80,"line":318},[78,1249,1083],{"class":84},[78,1251,1252],{"class":160},"surface_case",[78,1254,163],{"class":84},[78,1256,166],{"class":84},[78,1258,1259],{"class":84}," [{",[78,1261,157],{"class":84},[78,1263,56],{"class":417},[78,1265,163],{"class":84},[78,1267,166],{"class":84},[78,1269,170],{"class":169},[78,1271,173],{"class":84},[78,1273,157],{"class":84},[78,1275,178],{"class":417},[78,1277,163],{"class":84},[78,1279,166],{"class":84},[78,1281,1181],{"class":169},[78,1283,173],{"class":84},[78,1285,157],{"class":84},[78,1287,1188],{"class":417},[78,1289,163],{"class":84},[78,1291,166],{"class":84},[78,1293,1238],{"class":169},[78,1295,1296],{"class":84}," }],\n",[78,1298,1299,1301,1304,1306,1308,1310,1312,1314,1316,1318,1321,1323,1325,1327,1329,1331,1334,1336,1338,1341,1343,1345,1347,1350,1352,1354,1356,1358,1360,1362,1365],{"class":80,"line":324},[78,1300,1083],{"class":84},[78,1302,1303],{"class":160},"well_case",[78,1305,163],{"class":84},[78,1307,166],{"class":84},[78,1309,1259],{"class":84},[78,1311,157],{"class":84},[78,1313,56],{"class":417},[78,1315,163],{"class":84},[78,1317,166],{"class":84},[78,1319,1320],{"class":169}," -0.5",[78,1322,173],{"class":84},[78,1324,157],{"class":84},[78,1326,178],{"class":417},[78,1328,163],{"class":84},[78,1330,166],{"class":84},[78,1332,1333],{"class":169}," 36",[78,1335,173],{"class":84},[78,1337,157],{"class":84},[78,1339,1340],{"class":417},"type",[78,1342,163],{"class":84},[78,1344,166],{"class":84},[78,1346,157],{"class":84},[78,1348,1349],{"class":101},"pvc",[78,1351,163],{"class":84},[78,1353,173],{"class":84},[78,1355,157],{"class":84},[78,1357,1188],{"class":417},[78,1359,163],{"class":84},[78,1361,166],{"class":84},[78,1363,1364],{"class":169}," 152.4",[78,1366,1296],{"class":84},[78,1368,1369,1371,1374,1376,1378],{"class":80,"line":330},[78,1370,1083],{"class":84},[78,1372,1373],{"class":160},"reduction",[78,1375,163],{"class":84},[78,1377,166],{"class":84},[78,1379,1380],{"class":84}," [],\n",[78,1382,1383,1385,1388,1390,1392],{"class":80,"line":335},[78,1384,1083],{"class":84},[78,1386,1387],{"class":160},"well_screen",[78,1389,163],{"class":84},[78,1391,166],{"class":84},[78,1393,1153],{"class":84},[78,1395,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1456,1458,1460,1463],{"class":80,"line":342},[78,1397,1158],{"class":84},[78,1399,157],{"class":84},[78,1401,56],{"class":417},[78,1403,163],{"class":84},[78,1405,166],{"class":84},[78,1407,1333],{"class":169},[78,1409,173],{"class":84},[78,1411,157],{"class":84},[78,1413,178],{"class":417},[78,1415,163],{"class":84},[78,1417,166],{"class":84},[78,1419,1420],{"class":169}," 54",[78,1422,173],{"class":84},[78,1424,157],{"class":84},[78,1426,1340],{"class":417},[78,1428,163],{"class":84},[78,1430,166],{"class":84},[78,1432,157],{"class":84},[78,1434,1349],{"class":101},[78,1436,163],{"class":84},[78,1438,173],{"class":84},[78,1440,157],{"class":84},[78,1442,1188],{"class":417},[78,1444,163],{"class":84},[78,1446,166],{"class":84},[78,1448,1364],{"class":169},[78,1450,173],{"class":84},[78,1452,157],{"class":84},[78,1454,1455],{"class":417},"screen_slot",[78,1457,163],{"class":84},[78,1459,166],{"class":84},[78,1461,1462],{"class":169}," 0.75",[78,1464,188],{"class":84},[78,1466,1467],{"class":80,"line":379},[78,1468,1245],{"class":84},[78,1470,1471,1473,1476,1478,1480],{"class":80,"line":384},[78,1472,1083],{"class":84},[78,1474,1475],{"class":160},"hole_fill",[78,1477,163],{"class":84},[78,1479,166],{"class":84},[78,1481,1153],{"class":84},[78,1483,1485,1487,1489,1491,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1545,1547,1549,1551,1554,1556],{"class":80,"line":1484},16,[78,1486,1158],{"class":84},[78,1488,157],{"class":84},[78,1490,56],{"class":417},[78,1492,163],{"class":84},[78,1494,166],{"class":84},[78,1496,170],{"class":169},[78,1498,173],{"class":84},[78,1500,157],{"class":84},[78,1502,178],{"class":417},[78,1504,163],{"class":84},[78,1506,166],{"class":84},[78,1508,1181],{"class":169},[78,1510,173],{"class":84},[78,1512,157],{"class":84},[78,1514,1340],{"class":417},[78,1516,163],{"class":84},[78,1518,166],{"class":84},[78,1520,157],{"class":84},[78,1522,1523],{"class":101},"seal",[78,1525,163],{"class":84},[78,1527,173],{"class":84},[78,1529,157],{"class":84},[78,1531,1188],{"class":417},[78,1533,163],{"class":84},[78,1535,166],{"class":84},[78,1537,1238],{"class":169},[78,1539,173],{"class":84},[78,1541,157],{"class":84},[78,1543,1544],{"class":417},"description",[78,1546,163],{"class":84},[78,1548,166],{"class":84},[78,1550,157],{"class":84},[78,1552,1553],{"class":101},"Cement seal",[78,1555,163],{"class":84},[78,1557,1198],{"class":84},[78,1559,1561,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1629,1631],{"class":80,"line":1560},17,[78,1562,1158],{"class":84},[78,1564,157],{"class":84},[78,1566,56],{"class":417},[78,1568,163],{"class":84},[78,1570,166],{"class":84},[78,1572,1181],{"class":169},[78,1574,173],{"class":84},[78,1576,157],{"class":84},[78,1578,178],{"class":417},[78,1580,163],{"class":84},[78,1582,166],{"class":84},[78,1584,1225],{"class":169},[78,1586,173],{"class":84},[78,1588,157],{"class":84},[78,1590,1340],{"class":417},[78,1592,163],{"class":84},[78,1594,166],{"class":84},[78,1596,157],{"class":84},[78,1598,1599],{"class":101},"gravel_pack",[78,1601,163],{"class":84},[78,1603,173],{"class":84},[78,1605,157],{"class":84},[78,1607,1188],{"class":417},[78,1609,163],{"class":84},[78,1611,166],{"class":84},[78,1613,1238],{"class":169},[78,1615,173],{"class":84},[78,1617,157],{"class":84},[78,1619,1544],{"class":417},[78,1621,163],{"class":84},[78,1623,166],{"class":84},[78,1625,157],{"class":84},[78,1627,1628],{"class":101},"Gravel pack, 2–4 mm",[78,1630,163],{"class":84},[78,1632,188],{"class":84},[78,1634,1636],{"class":80,"line":1635},18,[78,1637,1245],{"class":84},[78,1639,1641,1643,1646,1648,1650],{"class":80,"line":1640},19,[78,1642,1083],{"class":84},[78,1644,1645],{"class":160},"lithology",[78,1647,163],{"class":84},[78,1649,166],{"class":84},[78,1651,1153],{"class":84},[78,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1680,1682,1684,1686,1688,1690,1692,1695,1697,1699,1701,1704,1706,1708,1710,1713,1715,1717,1719,1722,1724,1726,1728,1730,1732,1734,1736,1739,1741,1743,1746,1748,1750,1752,1755,1757,1760,1762,1765,1767,1769,1771,1774,1776,1778,1780,1783,1785,1787,1789,1792,1794],{"class":80,"line":1654},20,[78,1656,1158],{"class":84},[78,1658,157],{"class":84},[78,1660,56],{"class":417},[78,1662,163],{"class":84},[78,1664,166],{"class":84},[78,1666,170],{"class":169},[78,1668,173],{"class":84},[78,1670,157],{"class":84},[78,1672,178],{"class":417},[78,1674,163],{"class":84},[78,1676,166],{"class":84},[78,1678,1679],{"class":169}," 8",[78,1681,173],{"class":84},[78,1683,157],{"class":84},[78,1685,1544],{"class":417},[78,1687,163],{"class":84},[78,1689,166],{"class":84},[78,1691,157],{"class":84},[78,1693,1694],{"class":101},"Red clayey soil",[78,1696,163],{"class":84},[78,1698,173],{"class":84},[78,1700,157],{"class":84},[78,1702,1703],{"class":417},"color",[78,1705,163],{"class":84},[78,1707,166],{"class":84},[78,1709,157],{"class":84},[78,1711,1712],{"class":101},"#9c5a3c",[78,1714,163],{"class":84},[78,1716,173],{"class":84},[78,1718,157],{"class":84},[78,1720,1721],{"class":417},"texture",[78,1723,163],{"class":84},[78,1725,166],{"class":84},[78,1727,569],{"class":84},[78,1729,157],{"class":84},[78,1731,34],{"class":169},[78,1733,163],{"class":84},[78,1735,166],{"class":84},[78,1737,1738],{"class":169}," 620",[78,1740,173],{"class":84},[78,1742,157],{"class":84},[78,1744,1745],{"class":169},"vocabulary",[78,1747,163],{"class":84},[78,1749,166],{"class":84},[78,1751,157],{"class":84},[78,1753,1754],{"class":101},"fgdc",[78,1756,163],{"class":84},[78,1758,1759],{"class":84}," },",[78,1761,157],{"class":84},[78,1763,1764],{"class":417},"geologic_unit",[78,1766,163],{"class":84},[78,1768,166],{"class":84},[78,1770,157],{"class":84},[78,1772,1773],{"class":101},"Cover",[78,1775,163],{"class":84},[78,1777,173],{"class":84},[78,1779,157],{"class":84},[78,1781,1782],{"class":417},"aquifer_unit",[78,1784,163],{"class":84},[78,1786,166],{"class":84},[78,1788,157],{"class":84},[78,1790,1791],{"class":101},"Aquitard",[78,1793,163],{"class":84},[78,1795,1198],{"class":84},[78,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1824,1826,1828,1830,1832,1834,1836,1839,1841,1843,1845,1847,1849,1851,1853,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1912,1914,1916,1918,1920,1922,1924,1926,1929,1931],{"class":80,"line":1798},21,[78,1800,1158],{"class":84},[78,1802,157],{"class":84},[78,1804,56],{"class":417},[78,1806,163],{"class":84},[78,1808,166],{"class":84},[78,1810,1679],{"class":169},[78,1812,173],{"class":84},[78,1814,157],{"class":84},[78,1816,178],{"class":417},[78,1818,163],{"class":84},[78,1820,166],{"class":84},[78,1822,1823],{"class":169}," 30",[78,1825,173],{"class":84},[78,1827,157],{"class":84},[78,1829,1544],{"class":417},[78,1831,163],{"class":84},[78,1833,166],{"class":84},[78,1835,157],{"class":84},[78,1837,1838],{"class":101},"Silty sandstone",[78,1840,163],{"class":84},[78,1842,173],{"class":84},[78,1844,157],{"class":84},[78,1846,1703],{"class":417},[78,1848,163],{"class":84},[78,1850,166],{"class":84},[78,1852,157],{"class":84},[78,1854,1855],{"class":101},"#c9a27a",[78,1857,163],{"class":84},[78,1859,173],{"class":84},[78,1861,157],{"class":84},[78,1863,1721],{"class":417},[78,1865,163],{"class":84},[78,1867,166],{"class":84},[78,1869,569],{"class":84},[78,1871,157],{"class":84},[78,1873,34],{"class":169},[78,1875,163],{"class":84},[78,1877,166],{"class":84},[78,1879,1880],{"class":169}," 612",[78,1882,173],{"class":84},[78,1884,157],{"class":84},[78,1886,1745],{"class":169},[78,1888,163],{"class":84},[78,1890,166],{"class":84},[78,1892,157],{"class":84},[78,1894,1754],{"class":101},[78,1896,163],{"class":84},[78,1898,1759],{"class":84},[78,1900,157],{"class":84},[78,1902,1764],{"class":417},[78,1904,163],{"class":84},[78,1906,166],{"class":84},[78,1908,157],{"class":84},[78,1910,1911],{"class":101},"Botucatu Formation",[78,1913,163],{"class":84},[78,1915,173],{"class":84},[78,1917,157],{"class":84},[78,1919,1782],{"class":417},[78,1921,163],{"class":84},[78,1923,166],{"class":84},[78,1925,157],{"class":84},[78,1927,1928],{"class":101},"Guarani",[78,1930,163],{"class":84},[78,1932,1198],{"class":84},[78,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1975,1977,1979,1981,1983,1985,1987,1989,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2065],{"class":80,"line":1935},22,[78,1937,1158],{"class":84},[78,1939,157],{"class":84},[78,1941,56],{"class":417},[78,1943,163],{"class":84},[78,1945,166],{"class":84},[78,1947,1823],{"class":169},[78,1949,173],{"class":84},[78,1951,157],{"class":84},[78,1953,178],{"class":417},[78,1955,163],{"class":84},[78,1957,166],{"class":84},[78,1959,1225],{"class":169},[78,1961,173],{"class":84},[78,1963,157],{"class":84},[78,1965,1544],{"class":417},[78,1967,163],{"class":84},[78,1969,166],{"class":84},[78,1971,157],{"class":84},[78,1973,1974],{"class":101},"Medium-grained sandstone",[78,1976,163],{"class":84},[78,1978,173],{"class":84},[78,1980,157],{"class":84},[78,1982,1703],{"class":417},[78,1984,163],{"class":84},[78,1986,166],{"class":84},[78,1988,157],{"class":84},[78,1990,1991],{"class":101},"#e0c48f",[78,1993,163],{"class":84},[78,1995,173],{"class":84},[78,1997,157],{"class":84},[78,1999,1721],{"class":417},[78,2001,163],{"class":84},[78,2003,166],{"class":84},[78,2005,569],{"class":84},[78,2007,157],{"class":84},[78,2009,34],{"class":169},[78,2011,163],{"class":84},[78,2013,166],{"class":84},[78,2015,2016],{"class":169}," 607",[78,2018,173],{"class":84},[78,2020,157],{"class":84},[78,2022,1745],{"class":169},[78,2024,163],{"class":84},[78,2026,166],{"class":84},[78,2028,157],{"class":84},[78,2030,1754],{"class":101},[78,2032,163],{"class":84},[78,2034,1759],{"class":84},[78,2036,157],{"class":84},[78,2038,1764],{"class":417},[78,2040,163],{"class":84},[78,2042,166],{"class":84},[78,2044,157],{"class":84},[78,2046,1911],{"class":101},[78,2048,163],{"class":84},[78,2050,173],{"class":84},[78,2052,157],{"class":84},[78,2054,1782],{"class":417},[78,2056,163],{"class":84},[78,2058,166],{"class":84},[78,2060,157],{"class":84},[78,2062,1928],{"class":101},[78,2064,163],{"class":84},[78,2066,188],{"class":84},[78,2068,2070],{"class":80,"line":2069},23,[78,2071,1245],{"class":84},[78,2073,2075,2077,2080,2082,2084],{"class":80,"line":2074},24,[78,2076,1083],{"class":84},[78,2078,2079],{"class":160},"fractures",[78,2081,163],{"class":84},[78,2083,166],{"class":84},[78,2085,1380],{"class":84},[78,2087,2089,2091,2094,2096,2098],{"class":80,"line":2088},25,[78,2090,1083],{"class":84},[78,2092,2093],{"class":160},"caves",[78,2095,163],{"class":84},[78,2097,166],{"class":84},[78,2099,2100],{"class":84}," []\n",[78,2102,2104],{"class":80,"line":2103},26,[78,2105,736],{"class":84},[69,2107,2109],{"className":71,"code":2108,"language":73,"meta":74,"style":74},"::well-preview\n```well\n{ \"version\": \"2.4\", \"name\": \"…\", … }\n```\n::\n",[34,2110,2111,2118,2125,2130,2134],{"__ignoreMap":74},[78,2112,2113,2115],{"class":80,"line":81},[78,2114,85],{"class":84},[78,2116,2117],{"class":88},"well-preview\n",[78,2119,2120,2122],{"class":80,"line":92},[78,2121,271],{"class":101},[78,2123,2124],{"class":274},"well\n",[78,2126,2127],{"class":80,"line":109},[78,2128,2129],{"class":274},"{ \"version\": \"2.4\", \"name\": \"…\", … }\n",[78,2131,2132],{"class":80,"line":261},[78,2133,310],{"class":101},[78,2135,2136],{"class":80,"line":268},[78,2137,112],{"class":84},[508,2139,2141],{"id":2140},"invalid-input","Invalid input",[16,2143,2144,2145,2147],{},"When the source does not validate, the preview lists the errors with their paths instead of drawing. This snippet is incomplete on purpose, so it uses a ",[34,2146,147],{}," fence, which CI does not validate.",[1024,2149,2150],{},[69,2151,2153],{"className":145,"code":2152,"language":147,"meta":74,"style":74},"{\n  \"version\": \"2.4\",\n  \"name\": \"Half-written well\",\n  \"bore_hole\": [{ \"from\": 0, \"to\": \"sixty\", \"diameter\": 254 }]\n}\n",[34,2154,2155,2159,2177,2196,2250],{"__ignoreMap":74},[78,2156,2157],{"class":80,"line":81},[78,2158,1078],{"class":84},[78,2160,2161,2163,2165,2167,2169,2171,2173,2175],{"class":80,"line":92},[78,2162,1083],{"class":84},[78,2164,1086],{"class":160},[78,2166,163],{"class":84},[78,2168,166],{"class":84},[78,2170,157],{"class":84},[78,2172,1095],{"class":101},[78,2174,163],{"class":84},[78,2176,1100],{"class":84},[78,2178,2179,2181,2183,2185,2187,2189,2192,2194],{"class":80,"line":109},[78,2180,1083],{"class":84},[78,2182,1107],{"class":160},[78,2184,163],{"class":84},[78,2186,166],{"class":84},[78,2188,157],{"class":84},[78,2190,2191],{"class":101},"Half-written well",[78,2193,163],{"class":84},[78,2195,1100],{"class":84},[78,2197,2198,2200,2202,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2233,2235,2237,2239,2241,2243,2245,2247],{"class":80,"line":261},[78,2199,1083],{"class":84},[78,2201,646],{"class":160},[78,2203,163],{"class":84},[78,2205,166],{"class":84},[78,2207,1259],{"class":84},[78,2209,157],{"class":84},[78,2211,56],{"class":417},[78,2213,163],{"class":84},[78,2215,166],{"class":84},[78,2217,170],{"class":169},[78,2219,173],{"class":84},[78,2221,157],{"class":84},[78,2223,178],{"class":417},[78,2225,163],{"class":84},[78,2227,166],{"class":84},[78,2229,157],{"class":84},[78,2231,2232],{"class":101},"sixty",[78,2234,163],{"class":84},[78,2236,173],{"class":84},[78,2238,157],{"class":84},[78,2240,1188],{"class":417},[78,2242,163],{"class":84},[78,2244,166],{"class":84},[78,2246,1238],{"class":169},[78,2248,2249],{"class":84}," }]\n",[78,2251,2252],{"class":80,"line":268},[78,2253,736],{"class":84},[2255,2256,2257],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sJsPd, html code.shiki .sJsPd{--shiki-light:#90A4AE90;--shiki-default:#EEFFFF90;--shiki-dark:#BABED890}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":74,"searchDepth":92,"depth":92,"links":2259},[2260,2261,2262,2265,2266,2271,2272],{"id":22,"depth":92,"text":23},{"id":129,"depth":92,"text":130},{"id":389,"depth":92,"text":390,"children":2263},[2264],{"id":510,"depth":109,"text":511},{"id":656,"depth":92,"text":657},{"id":812,"depth":92,"text":813,"children":2267},[2268,2269,2270],{"id":828,"depth":109,"text":829},{"id":838,"depth":109,"text":839},{"id":847,"depth":109,"text":848},{"id":921,"depth":92,"text":922},{"id":999,"depth":92,"text":1000,"children":2273},[2274,2275,2276],{"id":1010,"depth":109,"text":1011},{"id":1058,"depth":109,"text":1059},{"id":2140,"depth":109,"text":2141},"The components a docs page can use, with the MDC syntax that produces each one.",{},"\u002Fcontributing\u002Fcomponents","---\ntitle: Content components\ndescription: The components a docs page can use, with the MDC syntax that produces each one.\n---\n\n# Content components\n\nThis page is the reference for writers. Every block below is shown as it renders, followed by the Markdown (MDC) that produces it. Prefer these over raw HTML.\n\n## Callouts\n\nFour kinds, from the mildest to the strongest. Keep them short: one or two sentences.\n\n::note\nA `.well` file is plain JSON. Any text editor can open it.\n::\n\n::tip\nStart from an example in `packages\u002Fcore\u002Fexamples` instead of an empty file.\n::\n\n::warning\nDepths are in metres from the ground surface. A negative `from` means above ground.\n::\n\n::caution\nDo not edit files in `spec\u002F` to suit the site. The spec is canonical.\n::\n\n```mdc\n::note\nA `.well` file is plain JSON. Any text editor can open it.\n::\n```\n\n`::tip`, `::warning` and `::caution` take the same form.\n\n## Do and Don't\n\nPair a recommended form with the one to avoid. Each side takes text and an optional fenced block.\n\n::do-dont\n#do\nGive depths as numbers, in metres.\n\n```json\n{ \"from\": 0, \"to\": 12.5 }\n```\n\n#dont\nPut units inside the value.\n\n```json\n{ \"from\": \"0 m\", \"to\": \"12.5 m\" }\n```\n\n::\n\n````mdc\n::do-dont\n#do\nGive depths as numbers, in metres.\n\n```json\n{ \"from\": 0, \"to\": 12.5 }\n```\n\n#dont\nPut units inside the value.\n\n```json\n{ \"from\": \"0 m\", \"to\": \"12.5 m\" }\n```\n::\n````\n\n## Code blocks and code groups\n\nA fence takes a language and an optional `[filename]`. Group alternatives, such as package managers, with `::code-group`. The bracketed name becomes the tab label.\n\n::code-group\n\n```bash [pnpm]\npnpm add @welldot\u002Fcore\n```\n\n```bash [npm]\nnpm i @welldot\u002Fcore\n```\n\n```bash [yarn]\nyarn add @welldot\u002Fcore\n```\n\n::\n\n````mdc\n::code-group\n```bash [pnpm]\npnpm add @welldot\u002Fcore\n```\n```bash [npm]\nnpm i @welldot\u002Fcore\n```\n::\n````\n\n### Fence languages\n\n- `well`: a complete `.well` document. CI validates every `well` fence with `parseWell`, so it must be valid as written. It is highlighted as JSON.\n- `json`: a fragment, such as a single object or a field. Not validated.\n- `ts`, `bash`, `vue`, `yaml`, `md`: as usual.\n\n```ts [read.ts]\nimport { parseWell } from '@welldot\u002Fcore';\n\nconst well = parseWell(await file.text());\nconsole.log(well.bore_hole.length);\n```\n\n## Tabs\n\nUse tabs for content that differs by context but not by language (code alternatives go in a code group).\n\n::tabs\n:::tabs-item{label=\"Browser\" icon=\"i-lucide-globe\"}\nOpen [welldot.org](https:\u002F\u002Fwelldot.org) and drop the file on the editor.\n:::\n\n:::tabs-item{label=\"Node\" icon=\"i-lucide-terminal\"}\nRead the file and call `parseWell` from `@welldot\u002Fcore`.\n:::\n::\n\n```mdc\n::tabs\n:::tabs-item{label=\"Browser\" icon=\"i-lucide-globe\"}\nOpen welldot.org and drop the file on the editor.\n:::\n\n:::tabs-item{label=\"Node\" icon=\"i-lucide-terminal\"}\nRead the file and call `parseWell` from `@welldot\u002Fcore`.\n:::\n::\n```\n\n## Steps\n\nNumber a procedure by wrapping its `###` headings in `::steps`.\n\n::steps\n\n### Install the package\n\nAdd `@welldot\u002Fcore` to your project.\n\n### Parse the file\n\n`parseWell` validates the JSON and upgrades a v1 file to v2.\n\n### Use the data\n\nEvery field is typed; see the format reference.\n::\n\n```mdc\n::steps\n### Install the package\n\nAdd `@welldot\u002Fcore` to your project.\n\n### Parse the file\n\n`parseWell` validates the JSON and upgrades a v1 file to v2.\n::\n```\n\n## Diagrams\n\nA `mermaid` fence renders as a diagram that follows the light and dark theme.\n\n```mermaid\nflowchart LR\n  A[.well file] --> B{parseWell}\n  B -->|valid| C[Well object]\n  B -->|invalid| D[ZodError with paths]\n  C --> E[WellRenderer]\n  C --> F[\"@welldot\u002Futils\"]\n```\n\n````mdc\n```mermaid\nflowchart LR\n  A[.well file] --> B{parseWell}\n  B -->|valid| C[Well object]\n  B -->|invalid| D[ZodError with paths]\n```\n````\n\n## Live well preview\n\nDraws a profile with `@welldot\u002Frender`, next to its source. It runs in the browser only.\n\n### From a bundled example\n\n`example` is the name of a file in `packages\u002Fcore\u002Fexamples`, without `.well`.\n\n::well-preview{example=\"irece-ba-carste-bambui\"}\n::\n\n```mdc\n::well-preview{example=\"irece-ba-carste-bambui\"}\n::\n```\n\n### From an inline document\n\nPut a complete document in a `well` fence inside the component.\n\n::well-preview\n\n```well\n{\n  \"version\": \"2.4\",\n  \"name\": \"Demo well, sandstone aquifer\",\n  \"well_type\": \"tubular\",\n  \"bore_hole\": [\n    { \"from\": 0, \"to\": 12, \"diameter\": 304.8 },\n    { \"from\": 12, \"to\": 60, \"diameter\": 254 }\n  ],\n  \"surface_case\": [{ \"from\": 0, \"to\": 12, \"diameter\": 254 }],\n  \"well_case\": [{ \"from\": -0.5, \"to\": 36, \"type\": \"pvc\", \"diameter\": 152.4 }],\n  \"reduction\": [],\n  \"well_screen\": [\n    { \"from\": 36, \"to\": 54, \"type\": \"pvc\", \"diameter\": 152.4, \"screen_slot\": 0.75 }\n  ],\n  \"hole_fill\": [\n    { \"from\": 0, \"to\": 12, \"type\": \"seal\", \"diameter\": 254, \"description\": \"Cement seal\" },\n    { \"from\": 12, \"to\": 60, \"type\": \"gravel_pack\", \"diameter\": 254, \"description\": \"Gravel pack, 2–4 mm\" }\n  ],\n  \"lithology\": [\n    { \"from\": 0, \"to\": 8, \"description\": \"Red clayey soil\", \"color\": \"#9c5a3c\", \"texture\": { \"code\": 620, \"vocabulary\": \"fgdc\" }, \"geologic_unit\": \"Cover\", \"aquifer_unit\": \"Aquitard\" },\n    { \"from\": 8, \"to\": 30, \"description\": \"Silty sandstone\", \"color\": \"#c9a27a\", \"texture\": { \"code\": 612, \"vocabulary\": \"fgdc\" }, \"geologic_unit\": \"Botucatu Formation\", \"aquifer_unit\": \"Guarani\" },\n    { \"from\": 30, \"to\": 60, \"description\": \"Medium-grained sandstone\", \"color\": \"#e0c48f\", \"texture\": { \"code\": 607, \"vocabulary\": \"fgdc\" }, \"geologic_unit\": \"Botucatu Formation\", \"aquifer_unit\": \"Guarani\" }\n  ],\n  \"fractures\": [],\n  \"caves\": []\n}\n```\n\n::\n\n````mdc\n::well-preview\n```well\n{ \"version\": \"2.4\", \"name\": \"…\", … }\n```\n::\n````\n\n### Invalid input\n\nWhen the source does not validate, the preview lists the errors with their paths instead of drawing. This snippet is incomplete on purpose, so it uses a `json` fence, which CI does not validate.\n\n::well-preview\n\n```json\n{\n  \"version\": \"2.4\",\n  \"name\": \"Half-written well\",\n  \"bore_hole\": [{ \"from\": 0, \"to\": \"sixty\", \"diameter\": 254 }]\n}\n```\n\n::\n",{"title":7,"description":2277},"contributing\u002Fcomponents","DqJ1WbfRQsOgo7fJUXFfW54ac9JRdwJ5FFfHQ0iRALI",{"docs_en":2285,"spec":2600,"changelogs":2650},[2286,2306,2322,2378,2488,2542],{"title":2287,"path":2288,"stem":2289,"children":2290},"Ai","\u002Fai","ai",[2291,2294,2298,2302],{"title":2292,"path":2288,"stem":2293},"Introduction","ai\u002Findex",{"title":2295,"path":2296,"stem":2297},"Converting reports with an assistant","\u002Fai\u002Fconversion-skill","ai\u002Fconversion-skill",{"title":2299,"path":2300,"stem":2301},"llms.txt and Markdown pages","\u002Fai\u002Fllms","ai\u002Fllms",{"title":2303,"path":2304,"stem":2305},"MCP server","\u002Fai\u002Fmcp","ai\u002Fmcp",{"title":2307,"path":2308,"stem":2309,"children":2310},"Contributing","\u002Fcontributing","contributing",[2311,2313,2317,2321],{"title":2292,"path":2308,"stem":2312},"contributing\u002Findex",{"title":2314,"path":2315,"stem":2316},"Writing docs","\u002Fcontributing\u002Fwriting-docs","contributing\u002F1.writing-docs",{"title":2318,"path":2319,"stem":2320},"Update rules","\u002Fcontributing\u002Fupdate-rules","contributing\u002F2.update-rules",{"title":7,"path":2279,"stem":2282},{"title":2323,"path":2324,"stem":2325,"children":2326},"Core","\u002Fcore","core",[2327,2329,2343,2372],{"title":2292,"path":2324,"stem":2328},"core\u002Findex",{"title":2330,"path":2331,"stem":2332,"children":2333,"page":2342},"Getting Started","\u002Fcore\u002Fgetting-started","core\u002F1.getting-started",[2334,2338],{"title":2335,"path":2336,"stem":2337},"Installation","\u002Fcore\u002Fgetting-started\u002Finstallation","core\u002F1.getting-started\u002F1.installation",{"title":2339,"path":2340,"stem":2341},"First use","\u002Fcore\u002Fgetting-started\u002Ffirst-use","core\u002F1.getting-started\u002F2.first-use",false,{"title":2344,"path":2345,"stem":2346,"children":2347,"page":2342},"Guides","\u002Fcore\u002Fguides","core\u002F2.guides",[2348,2352,2356,2360,2364,2368],{"title":2349,"path":2350,"stem":2351},"Parsing and validating","\u002Fcore\u002Fguides\u002Fparsing-and-validating","core\u002F2.guides\u002F1.parsing-and-validating",{"title":2353,"path":2354,"stem":2355},"Serializing and sharing","\u002Fcore\u002Fguides\u002Fserializing-and-sharing","core\u002F2.guides\u002F2.serializing-and-sharing",{"title":2357,"path":2358,"stem":2359},"Unit conversion","\u002Fcore\u002Fguides\u002Funit-conversion","core\u002F2.guides\u002F3.unit-conversion",{"title":2361,"path":2362,"stem":2363},"Vocabularies and textures","\u002Fcore\u002Fguides\u002Fvocabularies-and-textures","core\u002F2.guides\u002F4.vocabularies-and-textures",{"title":2365,"path":2366,"stem":2367},"Water quality vocabulary","\u002Fcore\u002Fguides\u002Fwater-quality-vocabulary","core\u002F2.guides\u002F5.water-quality-vocabulary",{"title":2369,"path":2370,"stem":2371},"Versions and time zones","\u002Fcore\u002Fguides\u002Fversions-and-time-zones","core\u002F2.guides\u002F6.versions-and-time-zones",{"title":2373,"path":2374,"stem":2375,"children":2376},"API reference","\u002Fcore\u002Fapi","core\u002Fapi\u002Findex",[2377],{"title":2373,"path":2374,"stem":2375},{"title":2379,"path":2380,"stem":2381,"children":2382},"Format","\u002Fformat","format",[2383,2385,2405,2434,2458,2478,2484],{"title":2292,"path":2380,"stem":2384},"format\u002Findex",{"title":2330,"path":2386,"stem":2387,"children":2388,"page":2342},"\u002Fformat\u002Fgetting-started","format\u002F1.getting-started",[2389,2393,2397,2401],{"title":2390,"path":2391,"stem":2392},"What is .well?","\u002Fformat\u002Fgetting-started\u002Fwhat-is-well","format\u002F1.getting-started\u002F1.what-is-well",{"title":2394,"path":2395,"stem":2396},"For geologists","\u002Fformat\u002Fgetting-started\u002Ffor-geologists","format\u002F1.getting-started\u002F2.for-geologists",{"title":2398,"path":2399,"stem":2400},"For developers","\u002Fformat\u002Fgetting-started\u002Ffor-developers","format\u002F1.getting-started\u002F3.for-developers",{"title":2402,"path":2403,"stem":2404},"Your first .well file","\u002Fformat\u002Fgetting-started\u002Ffirst-well-file","format\u002F1.getting-started\u002F4.first-well-file",{"title":2406,"path":2407,"stem":2408,"children":2409,"page":2342},"Concepts","\u002Fformat\u002Fconcepts","format\u002F2.concepts",[2410,2414,2418,2422,2426,2430],{"title":2411,"path":2412,"stem":2413},"Depths and intervals","\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals","format\u002F2.concepts\u002F1.depths-and-intervals",{"title":2415,"path":2416,"stem":2417},"Units and precision","\u002Fformat\u002Fconcepts\u002Funits-and-precision","format\u002F2.concepts\u002F2.units-and-precision",{"title":2419,"path":2420,"stem":2421},"Vocabularies","\u002Fformat\u002Fconcepts\u002Fvocabularies","format\u002F2.concepts\u002F3.vocabularies",{"title":2423,"path":2424,"stem":2425},"Profiles","\u002Fformat\u002Fconcepts\u002Fprofiles","format\u002F2.concepts\u002F4.profiles",{"title":2427,"path":2428,"stem":2429},"Versions and deprecation","\u002Fformat\u002Fconcepts\u002Fversions-and-deprecation","format\u002F2.concepts\u002F5.versions-and-deprecation",{"title":2431,"path":2432,"stem":2433},"Extensibility","\u002Fformat\u002Fconcepts\u002Fextensibility","format\u002F2.concepts\u002F6.extensibility",{"title":2344,"path":2435,"stem":2436,"children":2437,"page":2342},"\u002Fformat\u002Fguides","format\u002F3.guides",[2438,2442,2446,2450,2454],{"title":2439,"path":2440,"stem":2441},"Writing a .well by hand","\u002Fformat\u002Fguides\u002Fwriting-by-hand","format\u002F3.guides\u002F1.writing-by-hand",{"title":2443,"path":2444,"stem":2445},"Converting a report","\u002Fformat\u002Fguides\u002Fconverting-a-report","format\u002F3.guides\u002F2.converting-a-report",{"title":2447,"path":2448,"stem":2449},"Validating","\u002Fformat\u002Fguides\u002Fvalidating","format\u002F3.guides\u002F3.validating",{"title":2451,"path":2452,"stem":2453},"Extending for your own needs","\u002Fformat\u002Fguides\u002Fextending","format\u002F3.guides\u002F4.extending",{"title":2455,"path":2456,"stem":2457},"Building an editor or database on .well","\u002Fformat\u002Fguides\u002Fbuilding-on-well","format\u002F3.guides\u002F5.building-on-well",{"title":2459,"path":2460,"stem":2461,"children":2462},"Overview","\u002Fformat\u002Freference","format\u002F4.reference\u002Findex",[2463,2464,2468,2472],{"title":2459,"path":2460,"stem":2461},{"title":2465,"path":2466,"stem":2467},"JSON Schema","\u002Fformat\u002Freference\u002Fjson-schema","format\u002F4.reference\u002F1.json-schema",{"title":2469,"path":2470,"stem":2471},"Example wells","\u002Fformat\u002Freference\u002Fexamples","format\u002F4.reference\u002F2.examples",{"title":2473,"path":2474,"stem":2475,"children":2476},"Object reference","\u002Fformat\u002Freference\u002Fobjects","format\u002Freference\u002Fobjects\u002Findex",[2477],{"title":2473,"path":2474,"stem":2475},{"title":2479,"path":2480,"stem":2481,"children":2482},"About the spec","\u002Fformat\u002Fspec","format\u002F5.spec\u002Findex",[2483],{"title":2479,"path":2480,"stem":2481},{"title":2485,"path":2486,"stem":2487},"Changelog","\u002Fformat\u002Fchangelog","format\u002F6.changelog",{"title":2489,"path":2490,"stem":2491,"children":2492},"Render","\u002Frender","render",[2493,2495,2505,2537],{"title":2292,"path":2490,"stem":2494},"render\u002Findex",{"title":2330,"path":2496,"stem":2497,"children":2498,"page":2342},"\u002Frender\u002Fgetting-started","render\u002F1.getting-started",[2499,2502],{"title":2335,"path":2500,"stem":2501},"\u002Frender\u002Fgetting-started\u002Finstallation","render\u002F1.getting-started\u002F1.installation",{"title":2339,"path":2503,"stem":2504},"\u002Frender\u002Fgetting-started\u002Ffirst-use","render\u002F1.getting-started\u002F2.first-use",{"title":2344,"path":2506,"stem":2507,"children":2508,"page":2342},"\u002Frender\u002Fguides","render\u002F2.guides",[2509,2513,2517,2521,2525,2529,2533],{"title":2510,"path":2511,"stem":2512},"Panels and layout","\u002Frender\u002Fguides\u002Fpanels-and-layout","render\u002F2.guides\u002F1.panels-and-layout",{"title":2514,"path":2515,"stem":2516},"Layers and labels","\u002Frender\u002Fguides\u002Flayers-and-labels","render\u002F2.guides\u002F2.layers-and-labels",{"title":2518,"path":2519,"stem":2520},"Theming","\u002Frender\u002Fguides\u002Ftheming","render\u002F2.guides\u002F3.theming",{"title":2522,"path":2523,"stem":2524},"Locale and units","\u002Frender\u002Fguides\u002Flocale-and-units","render\u002F2.guides\u002F4.locale-and-units",{"title":2526,"path":2527,"stem":2528},"Legends","\u002Frender\u002Fguides\u002Flegends","render\u002F2.guides\u002F5.legends",{"title":2530,"path":2531,"stem":2532},"Zoom, pan and highlights","\u002Frender\u002Fguides\u002Finteraction","render\u002F2.guides\u002F6.interaction",{"title":2534,"path":2535,"stem":2536},"Using it in a framework","\u002Frender\u002Fguides\u002Fframeworks","render\u002F2.guides\u002F7.frameworks",{"title":2373,"path":2538,"stem":2539,"children":2540},"\u002Frender\u002Fapi","render\u002Fapi\u002Findex",[2541],{"title":2373,"path":2538,"stem":2539},{"title":2543,"path":2544,"stem":2545,"children":2546},"Utils","\u002Futils","utils",[2547,2549,2559,2595],{"title":2292,"path":2544,"stem":2548},"utils\u002Findex",{"title":2330,"path":2550,"stem":2551,"children":2552,"page":2342},"\u002Futils\u002Fgetting-started","utils\u002F1.getting-started",[2553,2556],{"title":2335,"path":2554,"stem":2555},"\u002Futils\u002Fgetting-started\u002Finstallation","utils\u002F1.getting-started\u002F1.installation",{"title":2339,"path":2557,"stem":2558},"\u002Futils\u002Fgetting-started\u002Ffirst-use","utils\u002F1.getting-started\u002F2.first-use",{"title":2344,"path":2560,"stem":2561,"children":2562,"page":2342},"\u002Futils\u002Fguides","utils\u002F2.guides",[2563,2567,2571,2575,2579,2583,2587,2591],{"title":2564,"path":2565,"stem":2566},"Geometry and volumes","\u002Futils\u002Fguides\u002Fgeometry-and-volumes","utils\u002F2.guides\u002F1.geometry-and-volumes",{"title":2568,"path":2569,"stem":2570},"Water levels and pumping tests","\u002Futils\u002Fguides\u002Fpumping-tests","utils\u002F2.guides\u002F2.pumping-tests",{"title":2572,"path":2573,"stem":2574},"Permits","\u002Futils\u002Fguides\u002Fpermits","utils\u002F2.guides\u002F3.permits",{"title":2576,"path":2577,"stem":2578},"Operation and production","\u002Futils\u002Fguides\u002Foperation","utils\u002F2.guides\u002F4.operation",{"title":2580,"path":2581,"stem":2582},"Water quality","\u002Futils\u002Fguides\u002Fwater-quality","utils\u002F2.guides\u002F5.water-quality",{"title":2584,"path":2585,"stem":2586},"Logger import","\u002Futils\u002Fguides\u002Flogger-import","utils\u002F2.guides\u002F6.logger-import",{"title":2588,"path":2589,"stem":2590},"SIAGAS import","\u002Futils\u002Fguides\u002Fsiagas-import","utils\u002F2.guides\u002F7.siagas-import",{"title":2592,"path":2593,"stem":2594},"Formatting","\u002Futils\u002Fguides\u002Fformatting","utils\u002F2.guides\u002F8.formatting",{"title":2373,"path":2596,"stem":2597,"children":2598},"\u002Futils\u002Fapi","utils\u002Fapi\u002Findex",[2599],{"title":2373,"path":2596,"stem":2597},[2601],{"title":2379,"path":2380,"stem":2381,"children":2602,"page":2342},[2603],{"title":2604,"path":2480,"stem":2605,"children":2606,"page":2342},"Spec","format\u002Fspec",[2607,2616,2625],{"title":2608,"path":2609,"stem":2610,"children":2611,"page":2342},"Reference","\u002Fformat\u002Fspec\u002Freference","format\u002Fspec\u002Freference",[2612],{"title":2613,"path":2614,"stem":2615},"FGDC Texture Patterns Reference","\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures","format\u002Fspec\u002Freference\u002Ffgdc-textures",{"title":2617,"path":2618,"stem":2619,"children":2620,"page":2342},"V1","\u002Fformat\u002Fspec\u002Fv1","format\u002Fspec\u002Fv1",[2621],{"title":2622,"path":2623,"stem":2624},".well File Format Specification","\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format","format\u002Fspec\u002Fv1\u002Fwell-format",{"title":2626,"path":2627,"stem":2628,"children":2629,"page":2342},"V2","\u002Fformat\u002Fspec\u002Fv2","format\u002Fspec\u002Fv2",[2630,2634,2638,2642,2646],{"title":2631,"path":2632,"stem":2633},".well File Format Specification — Version 2.4: Format Reference","\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference","format\u002Fspec\u002Fv2\u002Fformat-reference",{"title":2635,"path":2636,"stem":2637},".well File Format Specification — Version 2.4: Interoperability","\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability","format\u002Fspec\u002Fv2\u002Finteroperability",{"title":2639,"path":2640,"stem":2641},".well File Format Specification — Version 2.4: Object Schemas","\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas","format\u002Fspec\u002Fv2\u002Fobject-schemas",{"title":2643,"path":2644,"stem":2645},".well File Format Specification — Version 2.4: Overview","\u002Fformat\u002Fspec\u002Fv2\u002Foverview","format\u002Fspec\u002Fv2\u002Foverview",{"title":2647,"path":2648,"stem":2649},".well File Format Specification — Version 2.4: Water Quality","\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality","format\u002Fspec\u002Fv2\u002Fwater-quality",[2651,2656,2661],{"title":2323,"path":2324,"stem":2325,"children":2652,"page":2342},[2653],{"title":584,"path":2654,"stem":2655},"\u002Fcore\u002Fchangelog","core\u002FCHANGELOG",{"title":2489,"path":2490,"stem":2491,"children":2657,"page":2342},[2658],{"title":1006,"path":2659,"stem":2660},"\u002Frender\u002Fchangelog","render\u002FCHANGELOG",{"title":2543,"path":2544,"stem":2545,"children":2662,"page":2342},[2663],{"title":2664,"path":2665,"stem":2666},"@welldot\u002Futils","\u002Futils\u002Fchangelog","utils\u002FCHANGELOG",1793050494396]