[{"data":1,"prerenderedAt":7017},["ShallowReactive",2],{"navigation":3,"page-\u002Fdocs\u002Flearn\u002Fnotes":3396,"surround-\u002Fdocs\u002Flearn\u002Fnotes":7012},[4,30,34,38,43,3372,3376,3380,3384,3388,3392],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Blog","\u002Fblog","blog",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Rux 0.3.0 — Laying the Cross-Platform Groundwork","\u002Fblog\u002Frelease-v0.3.0","blog\u002F1.release-v0.3.0",{"title":14,"path":15,"stem":16},"Programming Language Without LLVM","\u002Fblog\u002Flanguage-without-llvm","blog\u002F2.language-without-llvm",{"title":18,"path":19,"stem":20},"Rux 0.2.0 — A Real Language","\u002Fblog\u002Frelease-v0.2.0","blog\u002F3.release-v0.2.0",{"title":22,"path":23,"stem":24},"Rux 0.1.0 — It Compiles!","\u002Fblog\u002Frelease-v0.1.0","blog\u002F4.release-v0.1.0",{"title":26,"path":27,"stem":28},"Getting Started","\u002Fblog\u002Fgetting-started","blog\u002F5.getting-started",false,{"title":31,"path":32,"stem":33},"Code of Conduct","\u002Fcode-of-conduct","code-of-conduct",{"title":35,"path":36,"stem":37},"Community","\u002Fcommunity","community",{"title":39,"path":40,"stem":41,"icon":42},"Design Kit","\u002Fdesign-kit","design-kit","i-lucide-palette",{"title":44,"path":45,"stem":46,"children":47},"Documentation","\u002Fdocs","docs",[48,51,1211,1740,1842,1888],{"title":49,"path":45,"stem":50},"Overview","docs\u002Findex",{"title":52,"path":53,"stem":54,"children":55},"Learn Rux","\u002Fdocs\u002Flearn","docs\u002F1.learn\u002F00.index",[56,57,78,82,98,102,106,110,117,121,125,129,133,137,141,145,149,153,157,161,165,172,176,180,184,188,192,199,203,207,211,215,219,223,227,231,235,239,243,247,251,258,262,266,270,274,278,282,286,293,297,301,305,309,313,317,321,325,332,336,340,344,348,352,356,360,364,368,372,376,380,384,391,395,399,403,407,411,415,422,426,430,434,438,442,446,453,457,461,465,469,473,477,481,485,489,493,497,501,505,509,513,517,524,528,532,536,540,544,551,555,559,563,567,571,575,579,583,587,591,598,602,606,610,614,618,622,626,630,634,640,644,648,655,659,663,667,671,675,679,686,690,694,698,702,706,710,714,718,722,726,730,734,738,745,749,753,757,761,765,769,773,777,781,785,789,793,797,801,808,812,816,820,824,828,832,836,840,844,848,852,859,863,867,871,875,879,883,887,894,898,902,906,910,914,921,925,929,933,937,941,945,949,953,957,961,968,972,976,980,984,988,992,996,1000,1004,1011,1015,1019,1023,1027,1031,1038,1042,1046,1050,1054,1058,1062,1066,1070,1074,1078,1085,1089,1093,1097,1101,1105,1109,1113,1120,1124,1128,1132,1136,1140,1147,1151,1155,1159,1163,1167,1171,1175,1179,1183,1187,1191,1195,1199,1203,1207],{"title":49,"path":53,"stem":54},{"title":58,"path":59,"stem":60,"children":61,"page":29},"Install","\u002Fdocs\u002Flearn\u002Finstall","docs\u002F1.learn\u002F00.start",[62,66,70,74],{"title":63,"path":64,"stem":65},"FreeBSD","\u002Fdocs\u002Flearn\u002Finstall\u002Ffreebsd","docs\u002F1.learn\u002F00.start\u002F1.install\u002F1.freebsd",{"title":67,"path":68,"stem":69},"Linux","\u002Fdocs\u002Flearn\u002Finstall\u002Flinux","docs\u002F1.learn\u002F00.start\u002F1.install\u002F2.linux",{"title":71,"path":72,"stem":73},"macOS","\u002Fdocs\u002Flearn\u002Finstall\u002Fmacos","docs\u002F1.learn\u002F00.start\u002F1.install\u002F3.macos",{"title":75,"path":76,"stem":77},"Windows","\u002Fdocs\u002Flearn\u002Finstall\u002Fwindows","docs\u002F1.learn\u002F00.start\u002F1.install\u002F4.windows",{"title":79,"path":80,"stem":81},"Build From Source","\u002Fdocs\u002Flearn\u002Fbuild","docs\u002F1.learn\u002F00.start\u002F2.build",{"title":83,"path":84,"stem":60,"children":85,"page":29},"Editors","\u002Fdocs\u002Flearn\u002Feditors",[86,90,94],{"title":87,"path":88,"stem":89},"Visual Studio Code","\u002Fdocs\u002Flearn\u002Feditors\u002Fvscode","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F1.vscode",{"title":91,"path":92,"stem":93},"Sublime Text","\u002Fdocs\u002Flearn\u002Feditors\u002Fsublime","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F2.sublime",{"title":95,"path":96,"stem":97},"Zed","\u002Fdocs\u002Flearn\u002Feditors\u002Fzed","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F3.zed",{"title":99,"path":100,"stem":101},"First project","\u002Fdocs\u002Flearn\u002Ffirst-project","docs\u002F1.learn\u002F00.start\u002F4.first-project",{"title":103,"path":104,"stem":105},"Learn with AI","\u002Fdocs\u002Flearn\u002Fai","docs\u002F1.learn\u002F00.start\u002F5.ai",{"title":107,"path":108,"stem":109},"Cheat sheet","\u002Fdocs\u002Flearn\u002Fcheatsheet","docs\u002F1.learn\u002F00.start\u002F6.cheatsheet",{"title":111,"path":112,"stem":113,"children":114,"icon":116},"Basics","\u002Fdocs\u002Flearn\u002Fbasics","docs\u002F1.learn\u002F01.basics\u002F00.index",[115],{"title":49,"path":112,"stem":113},"i-lucide-sprout",{"title":118,"path":119,"stem":120},"1.1 Hello, World","\u002Fdocs\u002Flearn\u002Fhello","docs\u002F1.learn\u002F01.basics\u002F01.hello",{"title":122,"path":123,"stem":124},"1.2 Comment","\u002Fdocs\u002Flearn\u002Fcomment","docs\u002F1.learn\u002F01.basics\u002F02.comment",{"title":126,"path":127,"stem":128},"1.3 Variable","\u002Fdocs\u002Flearn\u002Fvariable","docs\u002F1.learn\u002F01.basics\u002F03.variable",{"title":130,"path":131,"stem":132},"1.4 Mutable","\u002Fdocs\u002Flearn\u002Fmutable","docs\u002F1.learn\u002F01.basics\u002F04.mutable",{"title":134,"path":135,"stem":136},"1.5 Integer","\u002Fdocs\u002Flearn\u002Finteger","docs\u002F1.learn\u002F01.basics\u002F05.integer",{"title":138,"path":139,"stem":140},"1.6 Float","\u002Fdocs\u002Flearn\u002Ffloat","docs\u002F1.learn\u002F01.basics\u002F06.float",{"title":142,"path":143,"stem":144},"1.7 Boolean","\u002Fdocs\u002Flearn\u002Fboolean","docs\u002F1.learn\u002F01.basics\u002F07.boolean",{"title":146,"path":147,"stem":148},"1.8 Character","\u002Fdocs\u002Flearn\u002Fcharacter","docs\u002F1.learn\u002F01.basics\u002F08.character",{"title":150,"path":151,"stem":152},"1.9 Literal","\u002Fdocs\u002Flearn\u002Fliteral","docs\u002F1.learn\u002F01.basics\u002F09.literal",{"title":154,"path":155,"stem":156},"1.10 Console","\u002Fdocs\u002Flearn\u002Fconsole","docs\u002F1.learn\u002F01.basics\u002F10.console",{"title":158,"path":159,"stem":160},"1.11 Const","\u002Fdocs\u002Flearn\u002Fconst","docs\u002F1.learn\u002F01.basics\u002F11.const",{"title":162,"path":163,"stem":164},"1.12 Convert","\u002Fdocs\u002Flearn\u002Fconvert","docs\u002F1.learn\u002F01.basics\u002F12.convert",{"title":166,"path":167,"stem":168,"children":169,"icon":171},"Operators","\u002Fdocs\u002Flearn\u002Foperators","docs\u002F1.learn\u002F02.operators\u002F00.index",[170],{"title":49,"path":167,"stem":168},"i-lucide-plus",{"title":173,"path":174,"stem":175},"2.1 Arithmetic","\u002Fdocs\u002Flearn\u002Farithmetic","docs\u002F1.learn\u002F02.operators\u002F01.arithmetic",{"title":177,"path":178,"stem":179},"2.2 Comparison","\u002Fdocs\u002Flearn\u002Fcomparison","docs\u002F1.learn\u002F02.operators\u002F02.comparison",{"title":181,"path":182,"stem":183},"2.3 Logical","\u002Fdocs\u002Flearn\u002Flogical","docs\u002F1.learn\u002F02.operators\u002F03.logical",{"title":185,"path":186,"stem":187},"2.4 Assignment","\u002Fdocs\u002Flearn\u002Fassignment","docs\u002F1.learn\u002F02.operators\u002F04.assignment",{"title":189,"path":190,"stem":191},"2.5 Precedence","\u002Fdocs\u002Flearn\u002Fprecedence","docs\u002F1.learn\u002F02.operators\u002F05.precedence",{"title":193,"path":194,"stem":195,"children":196,"icon":198},"Control flow","\u002Fdocs\u002Flearn\u002Fcontrol-flow","docs\u002F1.learn\u002F03.control-flow\u002F00.index",[197],{"title":49,"path":194,"stem":195},"i-lucide-git-branch",{"title":200,"path":201,"stem":202},"3.1 If","\u002Fdocs\u002Flearn\u002Fif","docs\u002F1.learn\u002F03.control-flow\u002F01.if",{"title":204,"path":205,"stem":206},"3.2 Else if","\u002Fdocs\u002Flearn\u002Felse-if","docs\u002F1.learn\u002F03.control-flow\u002F02.else-if",{"title":208,"path":209,"stem":210},"3.3 Ternary","\u002Fdocs\u002Flearn\u002Fternary","docs\u002F1.learn\u002F03.control-flow\u002F03.ternary",{"title":212,"path":213,"stem":214},"3.4 While","\u002Fdocs\u002Flearn\u002Fwhile","docs\u002F1.learn\u002F03.control-flow\u002F04.while",{"title":216,"path":217,"stem":218},"3.5 Do-while","\u002Fdocs\u002Flearn\u002Fdo-while","docs\u002F1.learn\u002F03.control-flow\u002F05.do-while",{"title":220,"path":221,"stem":222},"3.6 Loop","\u002Fdocs\u002Flearn\u002Floop","docs\u002F1.learn\u002F03.control-flow\u002F06.loop",{"title":224,"path":225,"stem":226},"3.7 Break","\u002Fdocs\u002Flearn\u002Fbreak","docs\u002F1.learn\u002F03.control-flow\u002F07.break",{"title":228,"path":229,"stem":230},"3.8 Continue","\u002Fdocs\u002Flearn\u002Fcontinue","docs\u002F1.learn\u002F03.control-flow\u002F08.continue",{"title":232,"path":233,"stem":234},"3.9 Range","\u002Fdocs\u002Flearn\u002Frange","docs\u002F1.learn\u002F03.control-flow\u002F09.range",{"title":236,"path":237,"stem":238},"3.10 For","\u002Fdocs\u002Flearn\u002Ffor","docs\u002F1.learn\u002F03.control-flow\u002F10.for",{"title":240,"path":241,"stem":242},"3.11 Label","\u002Fdocs\u002Flearn\u002Flabel","docs\u002F1.learn\u002F03.control-flow\u002F11.label",{"title":244,"path":245,"stem":246},"3.12 Match","\u002Fdocs\u002Flearn\u002Fmatch","docs\u002F1.learn\u002F03.control-flow\u002F12.match",{"title":248,"path":249,"stem":250},"3.13 Match expression","\u002Fdocs\u002Flearn\u002Fmatch-expression","docs\u002F1.learn\u002F03.control-flow\u002F13.match-expression",{"title":252,"path":253,"stem":254,"children":255,"icon":257},"Functions","\u002Fdocs\u002Flearn\u002Ffunctions","docs\u002F1.learn\u002F04.functions\u002F00.index",[256],{"title":49,"path":253,"stem":254},"i-lucide-square-function",{"title":259,"path":260,"stem":261},"4.1 Function","\u002Fdocs\u002Flearn\u002Ffunction","docs\u002F1.learn\u002F04.functions\u002F01.function",{"title":263,"path":264,"stem":265},"4.2 Return","\u002Fdocs\u002Flearn\u002Freturn","docs\u002F1.learn\u002F04.functions\u002F02.return",{"title":267,"path":268,"stem":269},"4.3 Recursion","\u002Fdocs\u002Flearn\u002Frecursion","docs\u002F1.learn\u002F04.functions\u002F03.recursion",{"title":271,"path":272,"stem":273},"4.4 Overload","\u002Fdocs\u002Flearn\u002Foverload","docs\u002F1.learn\u002F04.functions\u002F04.overload",{"title":275,"path":276,"stem":277},"4.5 Default argument","\u002Fdocs\u002Flearn\u002Fdefault-argument","docs\u002F1.learn\u002F04.functions\u002F05.default-argument",{"title":279,"path":280,"stem":281},"4.6 Generic","\u002Fdocs\u002Flearn\u002Fgeneric","docs\u002F1.learn\u002F04.functions\u002F06.generic",{"title":283,"path":284,"stem":285},"4.7 Callback","\u002Fdocs\u002Flearn\u002Fcallback","docs\u002F1.learn\u002F04.functions\u002F07.callback",{"title":287,"path":288,"stem":289,"children":290,"icon":292},"Sequences","\u002Fdocs\u002Flearn\u002Fsequences","docs\u002F1.learn\u002F05.sequences\u002F00.index",[291],{"title":49,"path":288,"stem":289},"i-lucide-brackets",{"title":294,"path":295,"stem":296},"5.1 Array","\u002Fdocs\u002Flearn\u002Farray","docs\u002F1.learn\u002F05.sequences\u002F01.array",{"title":298,"path":299,"stem":300},"5.2 Array repeat","\u002Fdocs\u002Flearn\u002Farray-repeat","docs\u002F1.learn\u002F05.sequences\u002F02.array-repeat",{"title":302,"path":303,"stem":304},"5.3 Array nested","\u002Fdocs\u002Flearn\u002Farray-nested","docs\u002F1.learn\u002F05.sequences\u002F03.array-nested",{"title":306,"path":307,"stem":308},"5.4 Slice","\u002Fdocs\u002Flearn\u002Fslice","docs\u002F1.learn\u002F05.sequences\u002F04.slice",{"title":310,"path":311,"stem":312},"5.5 Writable slice","\u002Fdocs\u002Flearn\u002Fwritable-slice","docs\u002F1.learn\u002F05.sequences\u002F05.writable-slice",{"title":314,"path":315,"stem":316},"5.6 Variadic","\u002Fdocs\u002Flearn\u002Fvariadic","docs\u002F1.learn\u002F05.sequences\u002F06.variadic",{"title":318,"path":319,"stem":320},"5.7 Tuple","\u002Fdocs\u002Flearn\u002Ftuple","docs\u002F1.learn\u002F05.sequences\u002F07.tuple",{"title":322,"path":323,"stem":324},"5.8 Destructure","\u002Fdocs\u002Flearn\u002Fdestructure","docs\u002F1.learn\u002F05.sequences\u002F08.destructure",{"title":326,"path":327,"stem":328,"children":329,"icon":331},"Types","\u002Fdocs\u002Flearn\u002Ftypes","docs\u002F1.learn\u002F06.types\u002F00.index",[330],{"title":49,"path":327,"stem":328},"i-lucide-shapes",{"title":333,"path":334,"stem":335},"6.1 Struct","\u002Fdocs\u002Flearn\u002Fstruct","docs\u002F1.learn\u002F06.types\u002F01.struct",{"title":337,"path":338,"stem":339},"6.2 Reference","\u002Fdocs\u002Flearn\u002Freference","docs\u002F1.learn\u002F06.types\u002F02.reference",{"title":341,"path":342,"stem":343},"6.3 Mutable reference","\u002Fdocs\u002Flearn\u002Fmutable-reference","docs\u002F1.learn\u002F06.types\u002F03.mutable-reference",{"title":345,"path":346,"stem":347},"6.4 Method","\u002Fdocs\u002Flearn\u002Fmethod","docs\u002F1.learn\u002F06.types\u002F04.method",{"title":349,"path":350,"stem":351},"6.5 Mutating method","\u002Fdocs\u002Flearn\u002Fmutating-method","docs\u002F1.learn\u002F06.types\u002F05.mutating-method",{"title":353,"path":354,"stem":355},"6.6 Constructor","\u002Fdocs\u002Flearn\u002Fconstructor","docs\u002F1.learn\u002F06.types\u002F06.constructor",{"title":357,"path":358,"stem":359},"6.7 Extension","\u002Fdocs\u002Flearn\u002Fextension","docs\u002F1.learn\u002F06.types\u002F07.extension",{"title":361,"path":362,"stem":363},"6.8 Enum","\u002Fdocs\u002Flearn\u002Fenum","docs\u002F1.learn\u002F06.types\u002F08.enum",{"title":365,"path":366,"stem":367},"6.9 Enum value","\u002Fdocs\u002Flearn\u002Fenum-value","docs\u002F1.learn\u002F06.types\u002F09.enum-value",{"title":369,"path":370,"stem":371},"6.10 Variant","\u002Fdocs\u002Flearn\u002Fvariant","docs\u002F1.learn\u002F06.types\u002F10.variant",{"title":373,"path":374,"stem":375},"6.11 Variant match","\u002Fdocs\u002Flearn\u002Fvariant-match","docs\u002F1.learn\u002F06.types\u002F11.variant-match",{"title":377,"path":378,"stem":379},"6.12 Type alias","\u002Fdocs\u002Flearn\u002Ftype-alias","docs\u002F1.learn\u002F06.types\u002F12.type-alias",{"title":381,"path":382,"stem":383},"6.13 Function field","\u002Fdocs\u002Flearn\u002Ffunction-field","docs\u002F1.learn\u002F06.types\u002F13.function-field",{"title":385,"path":386,"stem":387,"children":388,"icon":390},"Patterns","\u002Fdocs\u002Flearn\u002Fpatterns","docs\u002F1.learn\u002F07.patterns\u002F00.index",[389],{"title":49,"path":386,"stem":387},"i-lucide-scan-search",{"title":392,"path":393,"stem":394},"7.1 Guard","\u002Fdocs\u002Flearn\u002Fguard","docs\u002F1.learn\u002F07.patterns\u002F01.guard",{"title":396,"path":397,"stem":398},"7.2 Range pattern","\u002Fdocs\u002Flearn\u002Frange-pattern","docs\u002F1.learn\u002F07.patterns\u002F02.range-pattern",{"title":400,"path":401,"stem":402},"7.3 Tuple pattern","\u002Fdocs\u002Flearn\u002Ftuple-pattern","docs\u002F1.learn\u002F07.patterns\u002F03.tuple-pattern",{"title":404,"path":405,"stem":406},"7.4 Struct pattern","\u002Fdocs\u002Flearn\u002Fstruct-pattern","docs\u002F1.learn\u002F07.patterns\u002F04.struct-pattern",{"title":408,"path":409,"stem":410},"7.5 Character pattern","\u002Fdocs\u002Flearn\u002Fcharacter-pattern","docs\u002F1.learn\u002F07.patterns\u002F05.character-pattern",{"title":412,"path":413,"stem":414},"7.6 Exhaustive","\u002Fdocs\u002Flearn\u002Fexhaustive","docs\u002F1.learn\u002F07.patterns\u002F06.exhaustive",{"title":416,"path":417,"stem":418,"children":419,"icon":421},"Optionals","\u002Fdocs\u002Flearn\u002Foptionals","docs\u002F1.learn\u002F08.optionals\u002F00.index",[420],{"title":49,"path":417,"stem":418},"i-lucide-circle-dashed",{"title":423,"path":424,"stem":425},"8.1 Optional","\u002Fdocs\u002Flearn\u002Foptional","docs\u002F1.learn\u002F08.optionals\u002F01.optional",{"title":427,"path":428,"stem":429},"8.2 Presence","\u002Fdocs\u002Flearn\u002Fpresence","docs\u002F1.learn\u002F08.optionals\u002F02.presence",{"title":431,"path":432,"stem":433},"8.3 Coalesce","\u002Fdocs\u002Flearn\u002Fcoalesce","docs\u002F1.learn\u002F08.optionals\u002F03.coalesce",{"title":435,"path":436,"stem":437},"8.4 Coalesce exit","\u002Fdocs\u002Flearn\u002Fcoalesce-exit","docs\u002F1.learn\u002F08.optionals\u002F04.coalesce-exit",{"title":439,"path":440,"stem":441},"8.5 Optional propagate","\u002Fdocs\u002Flearn\u002Foptional-propagate","docs\u002F1.learn\u002F08.optionals\u002F05.optional-propagate",{"title":443,"path":444,"stem":445},"8.6 Nested optional","\u002Fdocs\u002Flearn\u002Fnested-optional","docs\u002F1.learn\u002F08.optionals\u002F06.nested-optional",{"title":447,"path":448,"stem":449,"children":450,"icon":452},"Errors","\u002Fdocs\u002Flearn\u002Ferrors","docs\u002F1.learn\u002F09.errors\u002F00.index",[451],{"title":49,"path":448,"stem":449},"i-lucide-triangle-alert",{"title":454,"path":455,"stem":456},"9.1 Fallible","\u002Fdocs\u002Flearn\u002Ffallible","docs\u002F1.learn\u002F09.errors\u002F01.fallible",{"title":458,"path":459,"stem":460},"9.2 Fail","\u002Fdocs\u002Flearn\u002Ffail","docs\u002F1.learn\u002F09.errors\u002F02.fail",{"title":462,"path":463,"stem":464},"9.3 Unit fallible","\u002Fdocs\u002Flearn\u002Funit-fallible","docs\u002F1.learn\u002F09.errors\u002F03.unit-fallible",{"title":466,"path":467,"stem":468},"9.4 Outcome","\u002Fdocs\u002Flearn\u002Foutcome","docs\u002F1.learn\u002F09.errors\u002F04.outcome",{"title":470,"path":471,"stem":472},"9.5 Discard","\u002Fdocs\u002Flearn\u002Fdiscard","docs\u002F1.learn\u002F09.errors\u002F05.discard",{"title":474,"path":475,"stem":476},"9.6 Catch","\u002Fdocs\u002Flearn\u002Fcatch","docs\u002F1.learn\u002F09.errors\u002F06.catch",{"title":478,"path":479,"stem":480},"9.7 Catch fallback","\u002Fdocs\u002Flearn\u002Fcatch-fallback","docs\u002F1.learn\u002F09.errors\u002F07.catch-fallback",{"title":482,"path":483,"stem":484},"9.8 Propagate","\u002Fdocs\u002Flearn\u002Fpropagate","docs\u002F1.learn\u002F09.errors\u002F08.propagate",{"title":486,"path":487,"stem":488},"9.9 Error variant","\u002Fdocs\u002Flearn\u002Ferror-variant","docs\u002F1.learn\u002F09.errors\u002F09.error-variant",{"title":490,"path":491,"stem":492},"9.10 Error mapping","\u002Fdocs\u002Flearn\u002Ferror-mapping","docs\u002F1.learn\u002F09.errors\u002F10.error-mapping",{"title":494,"path":495,"stem":496},"9.11 Error sum","\u002Fdocs\u002Flearn\u002Ferror-sum","docs\u002F1.learn\u002F09.errors\u002F11.error-sum",{"title":498,"path":499,"stem":500},"9.12 Fallible main","\u002Fdocs\u002Flearn\u002Ffallible-main","docs\u002F1.learn\u002F09.errors\u002F12.fallible-main",{"title":502,"path":503,"stem":504},"9.13 Absence to error","\u002Fdocs\u002Flearn\u002Fabsence-to-error","docs\u002F1.learn\u002F09.errors\u002F13.absence-to-error",{"title":506,"path":507,"stem":508},"9.14 Nested fallible","\u002Fdocs\u002Flearn\u002Fnested-fallible","docs\u002F1.learn\u002F09.errors\u002F14.nested-fallible",{"title":510,"path":511,"stem":512},"9.15 Panic","\u002Fdocs\u002Flearn\u002Fpanic","docs\u002F1.learn\u002F09.errors\u002F15.panic",{"title":514,"path":515,"stem":516},"9.16 Assert","\u002Fdocs\u002Flearn\u002Fassert","docs\u002F1.learn\u002F09.errors\u002F16.assert",{"title":518,"path":519,"stem":520,"children":521,"icon":523},"Sum types","\u002Fdocs\u002Flearn\u002Fsum-types","docs\u002F1.learn\u002F10.sum-types\u002F00.index",[522],{"title":49,"path":519,"stem":520},"i-lucide-combine",{"title":525,"path":526,"stem":527},"10.1 Sum type","\u002Fdocs\u002Flearn\u002Fsum-type","docs\u002F1.learn\u002F10.sum-types\u002F01.sum-type",{"title":529,"path":530,"stem":531},"10.2 Typed pattern","\u002Fdocs\u002Flearn\u002Ftyped-pattern","docs\u002F1.learn\u002F10.sum-types\u002F02.typed-pattern",{"title":533,"path":534,"stem":535},"10.3 Subset pattern","\u002Fdocs\u002Flearn\u002Fsubset-pattern","docs\u002F1.learn\u002F10.sum-types\u002F03.subset-pattern",{"title":537,"path":538,"stem":539},"10.4 The is operator","\u002Fdocs\u002Flearn\u002Fis","docs\u002F1.learn\u002F10.sum-types\u002F04.is",{"title":541,"path":542,"stem":543},"10.5 Sum widening","\u002Fdocs\u002Flearn\u002Fsum-widening","docs\u002F1.learn\u002F10.sum-types\u002F05.sum-widening",{"title":545,"path":546,"stem":547,"children":548,"icon":550},"Ownership","\u002Fdocs\u002Flearn\u002Fownership","docs\u002F1.learn\u002F11.ownership\u002F00.index",[549],{"title":49,"path":546,"stem":547},"i-lucide-key-round",{"title":552,"path":553,"stem":554},"11.1 Exclusivity","\u002Fdocs\u002Flearn\u002Fexclusivity","docs\u002F1.learn\u002F11.ownership\u002F01.exclusivity",{"title":556,"path":557,"stem":558},"11.2 Copy","\u002Fdocs\u002Flearn\u002Fcopy","docs\u002F1.learn\u002F11.ownership\u002F02.copy",{"title":560,"path":561,"stem":562},"11.3 Move","\u002Fdocs\u002Flearn\u002Fmove","docs\u002F1.learn\u002F11.ownership\u002F03.move",{"title":564,"path":565,"stem":566},"11.4 Destructor","\u002Fdocs\u002Flearn\u002Fdestructor","docs\u002F1.learn\u002F11.ownership\u002F04.destructor",{"title":568,"path":569,"stem":570},"11.5 Non-copyable types","\u002Fdocs\u002Flearn\u002Fno-copy","docs\u002F1.learn\u002F11.ownership\u002F05.no-copy",{"title":572,"path":573,"stem":574},"11.6 Custom copy","\u002Fdocs\u002Flearn\u002Fcustom-copy","docs\u002F1.learn\u002F11.ownership\u002F06.custom-copy",{"title":576,"path":577,"stem":578},"11.7 Partial move","\u002Fdocs\u002Flearn\u002Fpartial-move","docs\u002F1.learn\u002F11.ownership\u002F07.partial-move",{"title":580,"path":581,"stem":582},"11.8 Defer","\u002Fdocs\u002Flearn\u002Fdefer","docs\u002F1.learn\u002F11.ownership\u002F08.defer",{"title":584,"path":585,"stem":586},"11.9 Defer return","\u002Fdocs\u002Flearn\u002Fdefer-return","docs\u002F1.learn\u002F11.ownership\u002F09.defer-return",{"title":588,"path":589,"stem":590},"11.10 Initialization","\u002Fdocs\u002Flearn\u002Finitialization","docs\u002F1.learn\u002F11.ownership\u002F10.initialization",{"title":592,"path":593,"stem":594,"children":595,"icon":597},"Interfaces","\u002Fdocs\u002Flearn\u002Finterfaces","docs\u002F1.learn\u002F12.interfaces\u002F00.index",[596],{"title":49,"path":593,"stem":594},"i-lucide-plug",{"title":599,"path":600,"stem":601},"12.1 Interface","\u002Fdocs\u002Flearn\u002Finterface","docs\u002F1.learn\u002F12.interfaces\u002F01.interface",{"title":603,"path":604,"stem":605},"12.2 Interface value","\u002Fdocs\u002Flearn\u002Finterface-value","docs\u002F1.learn\u002F12.interfaces\u002F02.interface-value",{"title":607,"path":608,"stem":609},"12.3 Interface parameter","\u002Fdocs\u002Flearn\u002Finterface-parameter","docs\u002F1.learn\u002F12.interfaces\u002F03.interface-parameter",{"title":611,"path":612,"stem":613},"12.4 Display","\u002Fdocs\u002Flearn\u002Fdisplay","docs\u002F1.learn\u002F12.interfaces\u002F04.display",{"title":615,"path":616,"stem":617},"12.5 Equatable","\u002Fdocs\u002Flearn\u002Fequatable","docs\u002F1.learn\u002F12.interfaces\u002F05.equatable",{"title":619,"path":620,"stem":621},"12.6 Comparable","\u002Fdocs\u002Flearn\u002Fcomparable","docs\u002F1.learn\u002F12.interfaces\u002F06.comparable",{"title":623,"path":624,"stem":625},"12.7 Structural equality","\u002Fdocs\u002Flearn\u002Fstructural-equality","docs\u002F1.learn\u002F12.interfaces\u002F07.structural-equality",{"title":627,"path":628,"stem":629},"12.8 Operator overload","\u002Fdocs\u002Flearn\u002Foperator-overload","docs\u002F1.learn\u002F12.interfaces\u002F08.operator-overload",{"title":631,"path":632,"stem":633},"12.9 Derived operator","\u002Fdocs\u002Flearn\u002Fderived-operator","docs\u002F1.learn\u002F12.interfaces\u002F09.derived-operator",{"title":635,"path":636,"stem":637,"children":638},"12.10 Indexer","\u002Fdocs\u002Flearn\u002Findexer","docs\u002F1.learn\u002F12.interfaces\u002F10.indexer",[639],{"title":635,"path":636,"stem":637},{"title":641,"path":642,"stem":643},"12.11 Iterator","\u002Fdocs\u002Flearn\u002Fiterator","docs\u002F1.learn\u002F12.interfaces\u002F11.iterator",{"title":645,"path":646,"stem":647},"12.12 Iterable","\u002Fdocs\u002Flearn\u002Fiterable","docs\u002F1.learn\u002F12.interfaces\u002F12.iterable",{"title":649,"path":650,"stem":651,"children":652,"icon":654},"Generics","\u002Fdocs\u002Flearn\u002Fgenerics","docs\u002F1.learn\u002F13.generics\u002F00.index",[653],{"title":49,"path":650,"stem":651},"i-lucide-boxes",{"title":656,"path":657,"stem":658},"13.1 Generic type","\u002Fdocs\u002Flearn\u002Fgeneric-type","docs\u002F1.learn\u002F13.generics\u002F01.generic-type",{"title":660,"path":661,"stem":662},"13.2 Generic method","\u002Fdocs\u002Flearn\u002Fgeneric-method","docs\u002F1.learn\u002F13.generics\u002F02.generic-method",{"title":664,"path":665,"stem":666},"13.3 Generic bound","\u002Fdocs\u002Flearn\u002Fgeneric-bound","docs\u002F1.learn\u002F13.generics\u002F03.generic-bound",{"title":668,"path":669,"stem":670},"13.4 Multiple bounds","\u002Fdocs\u002Flearn\u002Fmultiple-bounds","docs\u002F1.learn\u002F13.generics\u002F04.multiple-bounds",{"title":672,"path":673,"stem":674},"13.5 Generic outcome","\u002Fdocs\u002Flearn\u002Fgeneric-outcome","docs\u002F1.learn\u002F13.generics\u002F05.generic-outcome",{"title":676,"path":677,"stem":678},"13.6 Generic sum","\u002Fdocs\u002Flearn\u002Fgeneric-sum","docs\u002F1.learn\u002F13.generics\u002F06.generic-sum",{"title":680,"path":681,"stem":682,"children":683,"icon":685},"Text","\u002Fdocs\u002Flearn\u002Ftext","docs\u002F1.learn\u002F14.text\u002F00.index",[684],{"title":49,"path":681,"stem":682},"i-lucide-type",{"title":687,"path":688,"stem":689},"14.1 String literal","\u002Fdocs\u002Flearn\u002Fstring-literal","docs\u002F1.learn\u002F14.text\u002F01.string-literal",{"title":691,"path":692,"stem":693},"14.2 Encoding","\u002Fdocs\u002Flearn\u002Fencoding","docs\u002F1.learn\u002F14.text\u002F02.encoding",{"title":695,"path":696,"stem":697},"14.3 String view","\u002Fdocs\u002Flearn\u002Fstring-view","docs\u002F1.learn\u002F14.text\u002F03.string-view",{"title":699,"path":700,"stem":701},"14.4 String","\u002Fdocs\u002Flearn\u002Fstring","docs\u002F1.learn\u002F14.text\u002F04.string",{"title":703,"path":704,"stem":705},"14.5 String builder","\u002Fdocs\u002Flearn\u002Fstring-builder","docs\u002F1.learn\u002F14.text\u002F05.string-builder",{"title":707,"path":708,"stem":709},"14.6 UTF-8","\u002Fdocs\u002Flearn\u002Futf8","docs\u002F1.learn\u002F14.text\u002F06.utf8",{"title":711,"path":712,"stem":713},"14.7 Unicode","\u002Fdocs\u002Flearn\u002Funicode","docs\u002F1.learn\u002F14.text\u002F07.unicode",{"title":715,"path":716,"stem":717},"14.8 Unicode case","\u002Fdocs\u002Flearn\u002Funicode-case","docs\u002F1.learn\u002F14.text\u002F08.unicode-case",{"title":719,"path":720,"stem":721},"14.9 Format","\u002Fdocs\u002Flearn\u002Fformat","docs\u002F1.learn\u002F14.text\u002F09.format",{"title":723,"path":724,"stem":725},"14.10 Format number","\u002Fdocs\u002Flearn\u002Fformat-number","docs\u002F1.learn\u002F14.text\u002F10.format-number",{"title":727,"path":728,"stem":729},"14.11 Render","\u002Fdocs\u002Flearn\u002Frender","docs\u002F1.learn\u002F14.text\u002F11.render",{"title":731,"path":732,"stem":733},"14.12 Parse","\u002Fdocs\u002Flearn\u002Fparse","docs\u002F1.learn\u002F14.text\u002F12.parse",{"title":735,"path":736,"stem":737},"14.13 Input","\u002Fdocs\u002Flearn\u002Finput","docs\u002F1.learn\u002F14.text\u002F13.input",{"title":739,"path":740,"stem":741,"children":742,"icon":744},"Memory","\u002Fdocs\u002Flearn\u002Fmemory","docs\u002F1.learn\u002F15.memory\u002F00.index",[743],{"title":49,"path":740,"stem":741},"i-lucide-memory-stick",{"title":746,"path":747,"stem":748},"15.1 Pointer","\u002Fdocs\u002Flearn\u002Fpointer","docs\u002F1.learn\u002F15.memory\u002F01.pointer",{"title":750,"path":751,"stem":752},"15.2 Out parameter","\u002Fdocs\u002Flearn\u002Fout-parameter","docs\u002F1.learn\u002F15.memory\u002F02.out-parameter",{"title":754,"path":755,"stem":756},"15.3 Raw memory","\u002Fdocs\u002Flearn\u002Fraw-memory","docs\u002F1.learn\u002F15.memory\u002F03.raw-memory",{"title":758,"path":759,"stem":760},"15.4 Pointer arithmetic","\u002Fdocs\u002Flearn\u002Fpointer-arithmetic","docs\u002F1.learn\u002F15.memory\u002F04.pointer-arithmetic",{"title":762,"path":763,"stem":764},"15.5 Pointer slice","\u002Fdocs\u002Flearn\u002Fpointer-slice","docs\u002F1.learn\u002F15.memory\u002F05.pointer-slice",{"title":766,"path":767,"stem":768},"15.6 Optional pointer","\u002Fdocs\u002Flearn\u002Foptional-pointer","docs\u002F1.learn\u002F15.memory\u002F06.optional-pointer",{"title":770,"path":771,"stem":772},"15.7 Layout","\u002Fdocs\u002Flearn\u002Flayout","docs\u002F1.learn\u002F15.memory\u002F07.layout",{"title":774,"path":775,"stem":776},"15.8 Union","\u002Fdocs\u002Flearn\u002Funion","docs\u002F1.learn\u002F15.memory\u002F08.union",{"title":778,"path":779,"stem":780},"15.9 Allocator","\u002Fdocs\u002Flearn\u002Fallocator","docs\u002F1.learn\u002F15.memory\u002F09.allocator",{"title":782,"path":783,"stem":784},"15.10 Box","\u002Fdocs\u002Flearn\u002Fbox","docs\u002F1.learn\u002F15.memory\u002F10.box",{"title":786,"path":787,"stem":788},"15.11 Arena","\u002Fdocs\u002Flearn\u002Farena","docs\u002F1.learn\u002F15.memory\u002F11.arena",{"title":790,"path":791,"stem":792},"15.12 Fixed buffer","\u002Fdocs\u002Flearn\u002Ffixed-buffer","docs\u002F1.learn\u002F15.memory\u002F12.fixed-buffer",{"title":794,"path":795,"stem":796},"15.13 Pool","\u002Fdocs\u002Flearn\u002Fpool","docs\u002F1.learn\u002F15.memory\u002F13.pool",{"title":798,"path":799,"stem":800},"15.14 Zeroize","\u002Fdocs\u002Flearn\u002Fzeroize","docs\u002F1.learn\u002F15.memory\u002F14.zeroize",{"title":802,"path":803,"stem":804,"children":805,"icon":807},"Numbers","\u002Fdocs\u002Flearn\u002Fnumbers","docs\u002F1.learn\u002F16.numbers\u002F00.index",[806],{"title":49,"path":803,"stem":804},"i-lucide-binary",{"title":809,"path":810,"stem":811},"16.1 Wide integer","\u002Fdocs\u002Flearn\u002Fwide-integer","docs\u002F1.learn\u002F16.numbers\u002F01.wide-integer",{"title":813,"path":814,"stem":815},"16.2 Number limit","\u002Fdocs\u002Flearn\u002Fnumber-limit","docs\u002F1.learn\u002F16.numbers\u002F02.number-limit",{"title":817,"path":818,"stem":819},"16.3 Float special","\u002Fdocs\u002Flearn\u002Ffloat-special","docs\u002F1.learn\u002F16.numbers\u002F03.float-special",{"title":821,"path":822,"stem":823},"16.4 Bitwise","\u002Fdocs\u002Flearn\u002Fbitwise","docs\u002F1.learn\u002F16.numbers\u002F04.bitwise",{"title":825,"path":826,"stem":827},"16.5 Shift","\u002Fdocs\u002Flearn\u002Fshift","docs\u002F1.learn\u002F16.numbers\u002F05.shift",{"title":829,"path":830,"stem":831},"16.6 Checked arithmetic","\u002Fdocs\u002Flearn\u002Fchecked-arithmetic","docs\u002F1.learn\u002F16.numbers\u002F06.checked-arithmetic",{"title":833,"path":834,"stem":835},"16.7 Wrapping arithmetic","\u002Fdocs\u002Flearn\u002Fwrapping-arithmetic","docs\u002F1.learn\u002F16.numbers\u002F07.wrapping-arithmetic",{"title":837,"path":838,"stem":839},"16.8 Checked convert","\u002Fdocs\u002Flearn\u002Fchecked-convert","docs\u002F1.learn\u002F16.numbers\u002F08.checked-convert",{"title":841,"path":842,"stem":843},"16.9 Bit operation","\u002Fdocs\u002Flearn\u002Fbit-operation","docs\u002F1.learn\u002F16.numbers\u002F09.bit-operation",{"title":845,"path":846,"stem":847},"16.10 Endian","\u002Fdocs\u002Flearn\u002Fendian","docs\u002F1.learn\u002F16.numbers\u002F10.endian",{"title":849,"path":850,"stem":851},"16.11 Math","\u002Fdocs\u002Flearn\u002Fmath","docs\u002F1.learn\u002F16.numbers\u002F11.math",{"title":853,"path":854,"stem":855,"children":856,"icon":858},"Collections","\u002Fdocs\u002Flearn\u002Fcollections","docs\u002F1.learn\u002F17.collections\u002F00.index",[857],{"title":49,"path":854,"stem":855},"i-lucide-layers",{"title":860,"path":861,"stem":862},"17.1 Vector","\u002Fdocs\u002Flearn\u002Fvector","docs\u002F1.learn\u002F17.collections\u002F01.vector",{"title":864,"path":865,"stem":866},"17.2 Dynamic array","\u002Fdocs\u002Flearn\u002Fdynamic-array","docs\u002F1.learn\u002F17.collections\u002F02.dynamic-array",{"title":868,"path":869,"stem":870},"17.3 Deque","\u002Fdocs\u002Flearn\u002Fdeque","docs\u002F1.learn\u002F17.collections\u002F03.deque",{"title":872,"path":873,"stem":874},"17.4 Hash map","\u002Fdocs\u002Flearn\u002Fhash-map","docs\u002F1.learn\u002F17.collections\u002F04.hash-map",{"title":876,"path":877,"stem":878},"17.5 Hash set","\u002Fdocs\u002Flearn\u002Fhash-set","docs\u002F1.learn\u002F17.collections\u002F05.hash-set",{"title":880,"path":881,"stem":882},"17.6 Tree map","\u002Fdocs\u002Flearn\u002Ftree-map","docs\u002F1.learn\u002F17.collections\u002F06.tree-map",{"title":884,"path":885,"stem":886},"17.7 Tree set","\u002Fdocs\u002Flearn\u002Ftree-set","docs\u002F1.learn\u002F17.collections\u002F07.tree-set",{"title":888,"path":889,"stem":890,"children":891,"icon":893},"Algorithms","\u002Fdocs\u002Flearn\u002Falgorithms","docs\u002F1.learn\u002F18.algorithms\u002F00.index",[892],{"title":49,"path":889,"stem":890},"i-lucide-arrow-down-wide-narrow",{"title":895,"path":896,"stem":897},"18.1 Sort","\u002Fdocs\u002Flearn\u002Fsort","docs\u002F1.learn\u002F18.algorithms\u002F01.sort",{"title":899,"path":900,"stem":901},"18.2 Search","\u002Fdocs\u002Flearn\u002Fsearch","docs\u002F1.learn\u002F18.algorithms\u002F02.search",{"title":903,"path":904,"stem":905},"18.3 Binary search","\u002Fdocs\u002Flearn\u002Fbinary-search","docs\u002F1.learn\u002F18.algorithms\u002F03.binary-search",{"title":907,"path":908,"stem":909},"18.4 Min and max","\u002Fdocs\u002Flearn\u002Fmin-max","docs\u002F1.learn\u002F18.algorithms\u002F04.min-max",{"title":911,"path":912,"stem":913},"18.5 Fold","\u002Fdocs\u002Flearn\u002Ffold","docs\u002F1.learn\u002F18.algorithms\u002F05.fold",{"title":915,"path":916,"stem":917,"children":918,"icon":920},"Files","\u002Fdocs\u002Flearn\u002Ffiles","docs\u002F1.learn\u002F19.files\u002F00.index",[919],{"title":49,"path":916,"stem":917},"i-lucide-folder-open",{"title":922,"path":923,"stem":924},"19.1 Path","\u002Fdocs\u002Flearn\u002Fpath","docs\u002F1.learn\u002F19.files\u002F01.path",{"title":926,"path":927,"stem":928},"19.2 Path join","\u002Fdocs\u002Flearn\u002Fpath-join","docs\u002F1.learn\u002F19.files\u002F02.path-join",{"title":930,"path":931,"stem":932},"19.3 Path normalize","\u002Fdocs\u002Flearn\u002Fpath-normalize","docs\u002F1.learn\u002F19.files\u002F03.path-normalize",{"title":934,"path":935,"stem":936},"19.4 File","\u002Fdocs\u002Flearn\u002Ffile","docs\u002F1.learn\u002F19.files\u002F04.file",{"title":938,"path":939,"stem":940},"19.5 Directory","\u002Fdocs\u002Flearn\u002Fdirectory","docs\u002F1.learn\u002F19.files\u002F05.directory",{"title":942,"path":943,"stem":944},"19.6 Metadata","\u002Fdocs\u002Flearn\u002Fmetadata","docs\u002F1.learn\u002F19.files\u002F06.metadata",{"title":946,"path":947,"stem":948},"19.7 Binary","\u002Fdocs\u002Flearn\u002Fbinary","docs\u002F1.learn\u002F19.files\u002F07.binary",{"title":950,"path":951,"stem":952},"19.8 Buffered I\u002FO","\u002Fdocs\u002Flearn\u002Fbuffered-io","docs\u002F1.learn\u002F19.files\u002F08.buffered-io",{"title":954,"path":955,"stem":956},"19.9 Atomic file","\u002Fdocs\u002Flearn\u002Fatomic-file","docs\u002F1.learn\u002F19.files\u002F09.atomic-file",{"title":958,"path":959,"stem":960},"19.10 Temporary file","\u002Fdocs\u002Flearn\u002Ftemporary-file","docs\u002F1.learn\u002F19.files\u002F10.temporary-file",{"title":962,"path":963,"stem":964,"children":965,"icon":967},"Utilities","\u002Fdocs\u002Flearn\u002Futilities","docs\u002F1.learn\u002F20.utilities\u002F00.index",[966],{"title":49,"path":963,"stem":964},"i-lucide-wrench",{"title":969,"path":970,"stem":971},"20.1 Duration","\u002Fdocs\u002Flearn\u002Fduration","docs\u002F1.learn\u002F20.utilities\u002F01.duration",{"title":973,"path":974,"stem":975},"20.2 Stopwatch","\u002Fdocs\u002Flearn\u002Fstopwatch","docs\u002F1.learn\u002F20.utilities\u002F02.stopwatch",{"title":977,"path":978,"stem":979},"20.3 Date","\u002Fdocs\u002Flearn\u002Fdate","docs\u002F1.learn\u002F20.utilities\u002F03.date",{"title":981,"path":982,"stem":983},"20.4 Date and time","\u002Fdocs\u002Flearn\u002Fdate-time","docs\u002F1.learn\u002F20.utilities\u002F04.date-time",{"title":985,"path":986,"stem":987},"20.5 Random","\u002Fdocs\u002Flearn\u002Frandom","docs\u002F1.learn\u002F20.utilities\u002F05.random",{"title":989,"path":990,"stem":991},"20.6 Distribution","\u002Fdocs\u002Flearn\u002Fdistribution","docs\u002F1.learn\u002F20.utilities\u002F06.distribution",{"title":993,"path":994,"stem":995},"20.7 Entropy","\u002Fdocs\u002Flearn\u002Fentropy","docs\u002F1.learn\u002F20.utilities\u002F07.entropy",{"title":997,"path":998,"stem":999},"20.8 Hash","\u002Fdocs\u002Flearn\u002Fhash","docs\u002F1.learn\u002F20.utilities\u002F08.hash",{"title":1001,"path":1002,"stem":1003},"20.9 UUID","\u002Fdocs\u002Flearn\u002Fuuid","docs\u002F1.learn\u002F20.utilities\u002F09.uuid",{"title":1005,"path":1006,"stem":1007,"children":1008,"icon":1010},"Data formats","\u002Fdocs\u002Flearn\u002Fdata-formats","docs\u002F1.learn\u002F21.data-formats\u002F00.index",[1009],{"title":49,"path":1006,"stem":1007},"i-lucide-file-json",{"title":1012,"path":1013,"stem":1014},"21.1 JSON","\u002Fdocs\u002Flearn\u002Fjson","docs\u002F1.learn\u002F21.data-formats\u002F01.json",{"title":1016,"path":1017,"stem":1018},"21.2 Writing JSON","\u002Fdocs\u002Flearn\u002Fjson-write","docs\u002F1.learn\u002F21.data-formats\u002F02.json-write",{"title":1020,"path":1021,"stem":1022},"21.3 Streaming JSON","\u002Fdocs\u002Flearn\u002Fjson-stream","docs\u002F1.learn\u002F21.data-formats\u002F03.json-stream",{"title":1024,"path":1025,"stem":1026},"21.4 TOML","\u002Fdocs\u002Flearn\u002Ftoml","docs\u002F1.learn\u002F21.data-formats\u002F04.toml",{"title":1028,"path":1029,"stem":1030},"21.5 Writing TOML","\u002Fdocs\u002Flearn\u002Ftoml-write","docs\u002F1.learn\u002F21.data-formats\u002F05.toml-write",{"title":1032,"path":1033,"stem":1034,"children":1035,"icon":1037},"Packages","\u002Fdocs\u002Flearn\u002Fpackages","docs\u002F1.learn\u002F22.packages\u002F00.index",[1036],{"title":49,"path":1033,"stem":1034},"i-lucide-package",{"title":1039,"path":1040,"stem":1041},"22.1 Module","\u002Fdocs\u002Flearn\u002Fmodule","docs\u002F1.learn\u002F22.packages\u002F01.module",{"title":1043,"path":1044,"stem":1045},"22.2 Visibility","\u002Fdocs\u002Flearn\u002Fvisibility","docs\u002F1.learn\u002F22.packages\u002F02.visibility",{"title":1047,"path":1048,"stem":1049},"22.3 Package","\u002Fdocs\u002Flearn\u002Fpackage","docs\u002F1.learn\u002F22.packages\u002F03.package",{"title":1051,"path":1052,"stem":1053},"22.4 Dependency","\u002Fdocs\u002Flearn\u002Fdependency","docs\u002F1.learn\u002F22.packages\u002F04.dependency",{"title":1055,"path":1056,"stem":1057},"22.5 Workspace","\u002Fdocs\u002Flearn\u002Fworkspace","docs\u002F1.learn\u002F22.packages\u002F05.workspace",{"title":1059,"path":1060,"stem":1061},"22.6 Source library","\u002Fdocs\u002Flearn\u002Fsource-library","docs\u002F1.learn\u002F22.packages\u002F06.source-library",{"title":1063,"path":1064,"stem":1065},"22.7 Static library","\u002Fdocs\u002Flearn\u002Fstatic-library","docs\u002F1.learn\u002F22.packages\u002F07.static-library",{"title":1067,"path":1068,"stem":1069},"22.8 Shared library","\u002Fdocs\u002Flearn\u002Fshared-library","docs\u002F1.learn\u002F22.packages\u002F08.shared-library",{"title":1071,"path":1072,"stem":1073},"22.9 Documentation","\u002Fdocs\u002Flearn\u002Fdocumentation","docs\u002F1.learn\u002F22.packages\u002F09.documentation",{"title":1075,"path":1076,"stem":1077},"22.10 Tooling","\u002Fdocs\u002Flearn\u002Ftooling","docs\u002F1.learn\u002F22.packages\u002F10.tooling",{"title":1079,"path":1080,"stem":1081,"children":1082,"icon":1084},"Compile time","\u002Fdocs\u002Flearn\u002Fcompile-time","docs\u002F1.learn\u002F23.compile-time\u002F00.index",[1083],{"title":49,"path":1080,"stem":1081},"i-lucide-cpu",{"title":1086,"path":1087,"stem":1088},"23.1 When","\u002Fdocs\u002Flearn\u002Fwhen","docs\u002F1.learn\u002F23.compile-time\u002F01.when",{"title":1090,"path":1091,"stem":1092},"23.2 Target","\u002Fdocs\u002Flearn\u002Ftarget","docs\u002F1.learn\u002F23.compile-time\u002F02.target",{"title":1094,"path":1095,"stem":1096},"23.3 Build mode","\u002Fdocs\u002Flearn\u002Fbuild-mode","docs\u002F1.learn\u002F23.compile-time\u002F03.build-mode",{"title":1098,"path":1099,"stem":1100},"23.4 Source location","\u002Fdocs\u002Flearn\u002Fsource-location","docs\u002F1.learn\u002F23.compile-time\u002F04.source-location",{"title":1102,"path":1103,"stem":1104},"23.5 Compile error","\u002Fdocs\u002Flearn\u002Fcompile-error","docs\u002F1.learn\u002F23.compile-time\u002F05.compile-error",{"title":1106,"path":1107,"stem":1108},"23.6 Define","\u002Fdocs\u002Flearn\u002Fdefine","docs\u002F1.learn\u002F23.compile-time\u002F06.define",{"title":1110,"path":1111,"stem":1112},"23.7 Intrinsic","\u002Fdocs\u002Flearn\u002Fintrinsic","docs\u002F1.learn\u002F23.compile-time\u002F07.intrinsic",{"title":1114,"path":1115,"stem":1116,"children":1117,"icon":1119},"Platform","\u002Fdocs\u002Flearn\u002Fplatform","docs\u002F1.learn\u002F24.platform\u002F00.index",[1118],{"title":49,"path":1115,"stem":1116},"i-lucide-monitor-cog",{"title":1121,"path":1122,"stem":1123},"24.1 Extern","\u002Fdocs\u002Flearn\u002Fextern","docs\u002F1.learn\u002F24.platform\u002F01.extern",{"title":1125,"path":1126,"stem":1127},"24.2 C interop","\u002Fdocs\u002Flearn\u002Fc-interop","docs\u002F1.learn\u002F24.platform\u002F02.c-interop",{"title":1129,"path":1130,"stem":1131},"24.3 ABI","\u002Fdocs\u002Flearn\u002Fabi","docs\u002F1.learn\u002F24.platform\u002F03.abi",{"title":1133,"path":1134,"stem":1135},"24.4 Assembly","\u002Fdocs\u002Flearn\u002Fasm","docs\u002F1.learn\u002F24.platform\u002F04.asm",{"title":1137,"path":1138,"stem":1139},"24.5 ARM assembly","\u002Fdocs\u002Flearn\u002Fasm-arm","docs\u002F1.learn\u002F24.platform\u002F05.asm-arm",{"title":1141,"path":1142,"stem":1143,"children":1144,"icon":1146},"Projects","\u002Fdocs\u002Flearn\u002Fprojects","docs\u002F1.learn\u002F25.projects\u002F00.index",[1145],{"title":49,"path":1142,"stem":1143},"i-lucide-hammer",{"title":1148,"path":1149,"stem":1150},"25.1 Thanks","\u002Fdocs\u002Flearn\u002Fthanks","docs\u002F1.learn\u002F25.projects\u002F01.thanks",{"title":1152,"path":1153,"stem":1154},"25.2 FizzBuzz","\u002Fdocs\u002Flearn\u002Ffizz-buzz","docs\u002F1.learn\u002F25.projects\u002F02.fizz-buzz",{"title":1156,"path":1157,"stem":1158},"25.3 Temperature","\u002Fdocs\u002Flearn\u002Ftemperature","docs\u002F1.learn\u002F25.projects\u002F03.temperature",{"title":1160,"path":1161,"stem":1162},"25.4 Prime","\u002Fdocs\u002Flearn\u002Fprime","docs\u002F1.learn\u002F25.projects\u002F04.prime",{"title":1164,"path":1165,"stem":1166},"25.5 Calculator","\u002Fdocs\u002Flearn\u002Fcalculator","docs\u002F1.learn\u002F25.projects\u002F05.calculator",{"title":1168,"path":1169,"stem":1170},"25.6 Circle","\u002Fdocs\u002Flearn\u002Fcircle","docs\u002F1.learn\u002F25.projects\u002F06.circle",{"title":1172,"path":1173,"stem":1174},"25.7 Quadratic","\u002Fdocs\u002Flearn\u002Fquadratic","docs\u002F1.learn\u002F25.projects\u002F07.quadratic",{"title":1176,"path":1177,"stem":1178},"25.8 Word count","\u002Fdocs\u002Flearn\u002Fword-count","docs\u002F1.learn\u002F25.projects\u002F08.word-count",{"title":1180,"path":1181,"stem":1182},"25.9 Inventory","\u002Fdocs\u002Flearn\u002Finventory","docs\u002F1.learn\u002F25.projects\u002F09.inventory",{"title":1184,"path":1185,"stem":1186},"25.10 Statistics","\u002Fdocs\u002Flearn\u002Fstatistics","docs\u002F1.learn\u002F25.projects\u002F10.statistics",{"title":1188,"path":1189,"stem":1190},"25.11 Guess","\u002Fdocs\u002Flearn\u002Fguess","docs\u002F1.learn\u002F25.projects\u002F11.guess",{"title":1192,"path":1193,"stem":1194},"25.12 Age","\u002Fdocs\u002Flearn\u002Fage","docs\u002F1.learn\u002F25.projects\u002F12.age",{"title":1196,"path":1197,"stem":1198},"25.13 Password","\u002Fdocs\u002Flearn\u002Fpassword","docs\u002F1.learn\u002F25.projects\u002F13.password",{"title":1200,"path":1201,"stem":1202},"25.14 Launch","\u002Fdocs\u002Flearn\u002Flaunch","docs\u002F1.learn\u002F25.projects\u002F14.launch",{"title":1204,"path":1205,"stem":1206},"25.15 Notes","\u002Fdocs\u002Flearn\u002Fnotes","docs\u002F1.learn\u002F25.projects\u002F15.notes",{"title":1208,"path":1209,"stem":1210},"25.16 Melody","\u002Fdocs\u002Flearn\u002Fmelody","docs\u002F1.learn\u002F25.projects\u002F16.melody",{"title":1212,"path":1213,"stem":1214,"children":1215},"Rux Reference","\u002Fdocs\u002Flang","docs\u002F2.lang\u002Findex",[1216,1217,1221,1249,1279,1299,1339,1363,1374,1398,1418,1426,1438,1446,1454,1462,1470,1478,1490,1505,1520,1538,1553,1572,1600,1619,1635,1663,1699,1715,1723],{"title":49,"path":1213,"stem":1214},{"title":1218,"path":1219,"stem":1220},"Introduction","\u002Fdocs\u002Flang\u002Fintroduction","docs\u002F2.lang\u002F01.introduction",{"title":1222,"path":1223,"stem":1224,"children":1225,"page":29},"Lexical Structure","\u002Fdocs\u002Flang\u002Flexical","docs\u002F2.lang\u002F02.lexical",[1226,1230,1234,1238,1242,1246],{"title":1227,"path":1228,"stem":1229},"Source Files","\u002Fdocs\u002Flang\u002Flexical\u002Fsource-files","docs\u002F2.lang\u002F02.lexical\u002F1.source-files",{"title":1231,"path":1232,"stem":1233},"Comments","\u002Fdocs\u002Flang\u002Flexical\u002Fcomments","docs\u002F2.lang\u002F02.lexical\u002F2.comments",{"title":1235,"path":1236,"stem":1237},"Identifiers","\u002Fdocs\u002Flang\u002Flexical\u002Fidentifiers","docs\u002F2.lang\u002F02.lexical\u002F3.identifiers",{"title":1239,"path":1240,"stem":1241},"Keywords","\u002Fdocs\u002Flang\u002Flexical\u002Fkeywords","docs\u002F2.lang\u002F02.lexical\u002F4.keywords",{"title":1243,"path":1244,"stem":1245},"Literals","\u002Fdocs\u002Flang\u002Flexical\u002Fliterals","docs\u002F2.lang\u002F02.lexical\u002F5.literals",{"title":166,"path":1247,"stem":1248},"\u002Fdocs\u002Flang\u002Flexical\u002Foperators","docs\u002F2.lang\u002F02.lexical\u002F6.operators",{"title":326,"path":1250,"stem":1251,"children":1252,"page":29},"\u002Fdocs\u002Flang\u002Ftypes","docs\u002F2.lang\u002F03.types",[1253,1256,1260,1264,1268,1272,1275],{"title":49,"path":1254,"stem":1255},"\u002Fdocs\u002Flang\u002Ftypes\u002Foverview","docs\u002F2.lang\u002F03.types\u002F1.overview",{"title":1257,"path":1258,"stem":1259},"Integers","\u002Fdocs\u002Flang\u002Ftypes\u002Fintegers","docs\u002F2.lang\u002F03.types\u002F2.integers",{"title":1261,"path":1262,"stem":1263},"Floating-Point","\u002Fdocs\u002Flang\u002Ftypes\u002Ffloating-point","docs\u002F2.lang\u002F03.types\u002F3.floating-point",{"title":1265,"path":1266,"stem":1267},"Booleans","\u002Fdocs\u002Flang\u002Ftypes\u002Fbooleans","docs\u002F2.lang\u002F03.types\u002F4.booleans",{"title":1269,"path":1270,"stem":1271},"Characters","\u002Fdocs\u002Flang\u002Ftypes\u002Fcharacters","docs\u002F2.lang\u002F03.types\u002F5.characters",{"title":680,"path":1273,"stem":1274},"\u002Fdocs\u002Flang\u002Ftypes\u002Ftext","docs\u002F2.lang\u002F03.types\u002F6.text",{"title":1276,"path":1277,"stem":1278},"Aliases","\u002Fdocs\u002Flang\u002Ftypes\u002Faliases","docs\u002F2.lang\u002F03.types\u002F7.aliases",{"title":1280,"path":1281,"stem":1282,"children":1283,"page":29},"Bindings","\u002Fdocs\u002Flang\u002Fbindings","docs\u002F2.lang\u002F04.bindings",[1284,1287,1291,1295],{"title":49,"path":1285,"stem":1286},"\u002Fdocs\u002Flang\u002Fbindings\u002Foverview","docs\u002F2.lang\u002F04.bindings\u002F1.overview",{"title":1288,"path":1289,"stem":1290},"Constants","\u002Fdocs\u002Flang\u002Fbindings\u002Fconstants","docs\u002F2.lang\u002F04.bindings\u002F2.constants",{"title":1292,"path":1293,"stem":1294},"Initialization","\u002Fdocs\u002Flang\u002Fbindings\u002Finitialization","docs\u002F2.lang\u002F04.bindings\u002F3.initialization",{"title":1296,"path":1297,"stem":1298},"Destructuring","\u002Fdocs\u002Flang\u002Fbindings\u002Fdestructuring","docs\u002F2.lang\u002F04.bindings\u002F4.destructuring",{"title":1300,"path":1301,"stem":1302,"children":1303,"page":29},"Expressions","\u002Fdocs\u002Flang\u002Fexpressions","docs\u002F2.lang\u002F05.expressions",[1304,1307,1311,1315,1319,1323,1327,1331,1335],{"title":49,"path":1305,"stem":1306},"\u002Fdocs\u002Flang\u002Fexpressions\u002Foverview","docs\u002F2.lang\u002F05.expressions\u002F1.overview",{"title":1308,"path":1309,"stem":1310},"Arithmetic","\u002Fdocs\u002Flang\u002Fexpressions\u002Farithmetic","docs\u002F2.lang\u002F05.expressions\u002F2.arithmetic",{"title":1312,"path":1313,"stem":1314},"Comparison","\u002Fdocs\u002Flang\u002Fexpressions\u002Fcomparison","docs\u002F2.lang\u002F05.expressions\u002F3.comparison",{"title":1316,"path":1317,"stem":1318},"Logical","\u002Fdocs\u002Flang\u002Fexpressions\u002Flogical","docs\u002F2.lang\u002F05.expressions\u002F4.logical",{"title":1320,"path":1321,"stem":1322},"Bitwise","\u002Fdocs\u002Flang\u002Fexpressions\u002Fbitwise","docs\u002F2.lang\u002F05.expressions\u002F5.bitwise",{"title":1324,"path":1325,"stem":1326},"Shift","\u002Fdocs\u002Flang\u002Fexpressions\u002Fshift","docs\u002F2.lang\u002F05.expressions\u002F6.shift",{"title":1328,"path":1329,"stem":1330},"Assignment","\u002Fdocs\u002Flang\u002Fexpressions\u002Fassignment","docs\u002F2.lang\u002F05.expressions\u002F7.assignment",{"title":1332,"path":1333,"stem":1334},"Conditional","\u002Fdocs\u002Flang\u002Fexpressions\u002Fconditional","docs\u002F2.lang\u002F05.expressions\u002F8.conditional",{"title":1336,"path":1337,"stem":1338},"Casts","\u002Fdocs\u002Flang\u002Fexpressions\u002Fcasts","docs\u002F2.lang\u002F05.expressions\u002F9.casts",{"title":1340,"path":1341,"stem":1342,"children":1343,"page":29},"Statements","\u002Fdocs\u002Flang\u002Fstatements","docs\u002F2.lang\u002F06.statements",[1344,1347,1351,1355,1359],{"title":49,"path":1345,"stem":1346},"\u002Fdocs\u002Flang\u002Fstatements\u002Foverview","docs\u002F2.lang\u002F06.statements\u002F1.overview",{"title":1348,"path":1349,"stem":1350},"if","\u002Fdocs\u002Flang\u002Fstatements\u002Fif","docs\u002F2.lang\u002F06.statements\u002F2.if",{"title":1352,"path":1353,"stem":1354},"Loops","\u002Fdocs\u002Flang\u002Fstatements\u002Floops","docs\u002F2.lang\u002F06.statements\u002F3.loops",{"title":1356,"path":1357,"stem":1358},"break \u002F continue","\u002Fdocs\u002Flang\u002Fstatements\u002Fbreak-continue","docs\u002F2.lang\u002F06.statements\u002F4.break-continue",{"title":1360,"path":1361,"stem":1362},"return","\u002Fdocs\u002Flang\u002Fstatements\u002Freturn","docs\u002F2.lang\u002F06.statements\u002F5.return",{"title":385,"path":1364,"stem":1365,"children":1366,"page":29},"\u002Fdocs\u002Flang\u002Fpatterns","docs\u002F2.lang\u002F07.patterns",[1367,1371],{"title":1368,"path":1369,"stem":1370},"match","\u002Fdocs\u002Flang\u002Fpatterns\u002Fmatch","docs\u002F2.lang\u002F07.patterns\u002F1.match",{"title":385,"path":1372,"stem":1373},"\u002Fdocs\u002Flang\u002Fpatterns\u002Fpatterns","docs\u002F2.lang\u002F07.patterns\u002F2.patterns",{"title":252,"path":1375,"stem":1376,"children":1377,"page":29},"\u002Fdocs\u002Flang\u002Ffunctions","docs\u002F2.lang\u002F08.functions",[1378,1382,1386,1390,1394],{"title":1379,"path":1380,"stem":1381},"Declaration","\u002Fdocs\u002Flang\u002Ffunctions\u002Fdeclaration","docs\u002F2.lang\u002F08.functions\u002F1.declaration",{"title":1383,"path":1384,"stem":1385},"Parameters","\u002Fdocs\u002Flang\u002Ffunctions\u002Fparameters","docs\u002F2.lang\u002F08.functions\u002F2.parameters",{"title":1387,"path":1388,"stem":1389},"Overloading","\u002Fdocs\u002Flang\u002Ffunctions\u002Foverloading","docs\u002F2.lang\u002F08.functions\u002F3.overloading",{"title":1391,"path":1392,"stem":1393},"Function types","\u002Fdocs\u002Flang\u002Ffunctions\u002Ffunction-types","docs\u002F2.lang\u002F08.functions\u002F4.function-types",{"title":1395,"path":1396,"stem":1397},"Main","\u002Fdocs\u002Flang\u002Ffunctions\u002Fmain","docs\u002F2.lang\u002F08.functions\u002F5.main",{"title":1399,"path":1400,"stem":1401,"children":1402,"page":29},"Structures","\u002Fdocs\u002Flang\u002Fstructs","docs\u002F2.lang\u002F09.structs",[1403,1406,1410,1414],{"title":49,"path":1404,"stem":1405},"\u002Fdocs\u002Flang\u002Fstructs\u002Foverview","docs\u002F2.lang\u002F09.structs\u002F1.overview",{"title":1407,"path":1408,"stem":1409},"Methods","\u002Fdocs\u002Flang\u002Fstructs\u002Fmethods","docs\u002F2.lang\u002F09.structs\u002F2.methods",{"title":1411,"path":1412,"stem":1413},"Constructors","\u002Fdocs\u002Flang\u002Fstructs\u002Fconstructors","docs\u002F2.lang\u002F09.structs\u002F3.constructors",{"title":1415,"path":1416,"stem":1417},"Extensions","\u002Fdocs\u002Flang\u002Fstructs\u002Fextensions","docs\u002F2.lang\u002F09.structs\u002F4.extensions",{"title":1419,"path":1420,"stem":1421,"children":1422,"page":29},"Enumerations","\u002Fdocs\u002Flang\u002Fenums","docs\u002F2.lang\u002F10.enums",[1423],{"title":49,"path":1424,"stem":1425},"\u002Fdocs\u002Flang\u002Fenums\u002Foverview","docs\u002F2.lang\u002F10.enums\u002F1.overview",{"title":1427,"path":1428,"stem":1429,"children":1430,"page":29},"Variants","\u002Fdocs\u002Flang\u002Fvariants","docs\u002F2.lang\u002F11.variants",[1431,1434],{"title":49,"path":1432,"stem":1433},"\u002Fdocs\u002Flang\u002Fvariants\u002Foverview","docs\u002F2.lang\u002F11.variants\u002F1.overview",{"title":1435,"path":1436,"stem":1437},"Matching","\u002Fdocs\u002Flang\u002Fvariants\u002Fmatching","docs\u002F2.lang\u002F11.variants\u002F2.matching",{"title":1439,"path":1440,"stem":1441,"children":1442,"page":29},"Unions","\u002Fdocs\u002Flang\u002Funions","docs\u002F2.lang\u002F12.unions",[1443],{"title":49,"path":1444,"stem":1445},"\u002Fdocs\u002Flang\u002Funions\u002Foverview","docs\u002F2.lang\u002F12.unions\u002F1.overview",{"title":1447,"path":1448,"stem":1449,"children":1450,"page":29},"Tuples","\u002Fdocs\u002Flang\u002Ftuples","docs\u002F2.lang\u002F13.tuples",[1451],{"title":49,"path":1452,"stem":1453},"\u002Fdocs\u002Flang\u002Ftuples\u002Foverview","docs\u002F2.lang\u002F13.tuples\u002F1.overview",{"title":1455,"path":1456,"stem":1457,"children":1458,"page":29},"Arrays","\u002Fdocs\u002Flang\u002Farrays","docs\u002F2.lang\u002F14.arrays",[1459],{"title":49,"path":1460,"stem":1461},"\u002Fdocs\u002Flang\u002Farrays\u002Foverview","docs\u002F2.lang\u002F14.arrays\u002F1.overview",{"title":1463,"path":1464,"stem":1465,"children":1466,"page":29},"Slices","\u002Fdocs\u002Flang\u002Fslices","docs\u002F2.lang\u002F15.slices",[1467],{"title":49,"path":1468,"stem":1469},"\u002Fdocs\u002Flang\u002Fslices\u002Foverview","docs\u002F2.lang\u002F15.slices\u002F1.overview",{"title":1471,"path":1472,"stem":1473,"children":1474,"page":29},"Ranges","\u002Fdocs\u002Flang\u002Franges","docs\u002F2.lang\u002F16.ranges",[1475],{"title":49,"path":1476,"stem":1477},"\u002Fdocs\u002Flang\u002Franges\u002Foverview","docs\u002F2.lang\u002F16.ranges\u002F1.overview",{"title":1479,"path":1480,"stem":1481,"children":1482,"page":29},"References","\u002Fdocs\u002Flang\u002Freferences","docs\u002F2.lang\u002F17.references",[1483,1486],{"title":49,"path":1484,"stem":1485},"\u002Fdocs\u002Flang\u002Freferences\u002Foverview","docs\u002F2.lang\u002F17.references\u002F1.overview",{"title":1487,"path":1488,"stem":1489},"Exclusivity","\u002Fdocs\u002Flang\u002Freferences\u002Fexclusivity","docs\u002F2.lang\u002F17.references\u002F2.exclusivity",{"title":1491,"path":1492,"stem":1493,"children":1494,"page":29},"Pointers","\u002Fdocs\u002Flang\u002Fpointers","docs\u002F2.lang\u002F18.pointers",[1495,1498,1501],{"title":49,"path":1496,"stem":1497},"\u002Fdocs\u002Flang\u002Fpointers\u002Foverview","docs\u002F2.lang\u002F18.pointers\u002F1.overview",{"title":1308,"path":1499,"stem":1500},"\u002Fdocs\u002Flang\u002Fpointers\u002Farithmetic","docs\u002F2.lang\u002F18.pointers\u002F2.arithmetic",{"title":1502,"path":1503,"stem":1504},"Slicing","\u002Fdocs\u002Flang\u002Fpointers\u002Fslicing","docs\u002F2.lang\u002F18.pointers\u002F3.slicing",{"title":416,"path":1506,"stem":1507,"children":1508,"page":29},"\u002Fdocs\u002Flang\u002Foptionals","docs\u002F2.lang\u002F19.optionals",[1509,1512,1516],{"title":49,"path":1510,"stem":1511},"\u002Fdocs\u002Flang\u002Foptionals\u002Foverview","docs\u002F2.lang\u002F19.optionals\u002F1.overview",{"title":1513,"path":1514,"stem":1515},"Coalescing","\u002Fdocs\u002Flang\u002Foptionals\u002Fcoalescing","docs\u002F2.lang\u002F19.optionals\u002F2.coalescing",{"title":1517,"path":1518,"stem":1519},"Propagation","\u002Fdocs\u002Flang\u002Foptionals\u002Fpropagation","docs\u002F2.lang\u002F19.optionals\u002F3.propagation",{"title":447,"path":1521,"stem":1522,"children":1523,"page":29},"\u002Fdocs\u002Flang\u002Ferrors","docs\u002F2.lang\u002F20.errors",[1524,1527,1531,1534],{"title":49,"path":1525,"stem":1526},"\u002Fdocs\u002Flang\u002Ferrors\u002Foverview","docs\u002F2.lang\u002F20.errors\u002F1.overview",{"title":1528,"path":1529,"stem":1530},"Handling","\u002Fdocs\u002Flang\u002Ferrors\u002Fhandling","docs\u002F2.lang\u002F20.errors\u002F2.handling",{"title":1517,"path":1532,"stem":1533},"\u002Fdocs\u002Flang\u002Ferrors\u002Fpropagation","docs\u002F2.lang\u002F20.errors\u002F3.propagation",{"title":1535,"path":1536,"stem":1537},"Panics","\u002Fdocs\u002Flang\u002Ferrors\u002Fpanics","docs\u002F2.lang\u002F20.errors\u002F4.panics",{"title":1539,"path":1540,"stem":1541,"children":1542,"page":29},"Sum Types","\u002Fdocs\u002Flang\u002Fsums","docs\u002F2.lang\u002F21.sums",[1543,1546,1549],{"title":49,"path":1544,"stem":1545},"\u002Fdocs\u002Flang\u002Fsums\u002Foverview","docs\u002F2.lang\u002F21.sums\u002F1.overview",{"title":385,"path":1547,"stem":1548},"\u002Fdocs\u002Flang\u002Fsums\u002Fpatterns","docs\u002F2.lang\u002F21.sums\u002F2.patterns",{"title":1550,"path":1551,"stem":1552},"Type Tests","\u002Fdocs\u002Flang\u002Fsums\u002Ftype-tests","docs\u002F2.lang\u002F21.sums\u002F3.type-tests",{"title":545,"path":1554,"stem":1555,"children":1556,"page":29},"\u002Fdocs\u002Flang\u002Fownership","docs\u002F2.lang\u002F22.ownership",[1557,1560,1564,1568],{"title":49,"path":1558,"stem":1559},"\u002Fdocs\u002Flang\u002Fownership\u002Foverview","docs\u002F2.lang\u002F22.ownership\u002F1.overview",{"title":1561,"path":1562,"stem":1563},"Copy and Move","\u002Fdocs\u002Flang\u002Fownership\u002Fcopy-and-move","docs\u002F2.lang\u002F22.ownership\u002F2.copy-and-move",{"title":1565,"path":1566,"stem":1567},"Destructors","\u002Fdocs\u002Flang\u002Fownership\u002Fdestructors","docs\u002F2.lang\u002F22.ownership\u002F3.destructors",{"title":1569,"path":1570,"stem":1571},"Defer","\u002Fdocs\u002Flang\u002Fownership\u002Fdefer","docs\u002F2.lang\u002F22.ownership\u002F4.defer",{"title":592,"path":1573,"stem":1574,"children":1575,"page":29},"\u002Fdocs\u002Flang\u002Finterfaces","docs\u002F2.lang\u002F23.interfaces",[1576,1579,1583,1587,1590,1596],{"title":49,"path":1577,"stem":1578},"\u002Fdocs\u002Flang\u002Finterfaces\u002Foverview","docs\u002F2.lang\u002F23.interfaces\u002F1.overview",{"title":1580,"path":1581,"stem":1582},"Interface Values","\u002Fdocs\u002Flang\u002Finterfaces\u002Finterface-values","docs\u002F2.lang\u002F23.interfaces\u002F2.interface-values",{"title":1584,"path":1585,"stem":1586},"Core Interfaces","\u002Fdocs\u002Flang\u002Finterfaces\u002Fcore-interfaces","docs\u002F2.lang\u002F23.interfaces\u002F3.core-interfaces",{"title":166,"path":1588,"stem":1589},"\u002Fdocs\u002Flang\u002Finterfaces\u002Foperators","docs\u002F2.lang\u002F23.interfaces\u002F4.operators",{"title":1591,"path":1592,"stem":1593,"children":1594},"Indexers","\u002Fdocs\u002Flang\u002Finterfaces\u002Findexers","docs\u002F2.lang\u002F23.interfaces\u002F5.indexers",[1595],{"title":1591,"path":1592,"stem":1593},{"title":1597,"path":1598,"stem":1599},"Iteration","\u002Fdocs\u002Flang\u002Finterfaces\u002Fiteration","docs\u002F2.lang\u002F23.interfaces\u002F6.iteration",{"title":649,"path":1601,"stem":1602,"children":1603,"page":29},"\u002Fdocs\u002Flang\u002Fgenerics","docs\u002F2.lang\u002F24.generics",[1604,1607,1611,1615],{"title":49,"path":1605,"stem":1606},"\u002Fdocs\u002Flang\u002Fgenerics\u002Foverview","docs\u002F2.lang\u002F24.generics\u002F1.overview",{"title":1608,"path":1609,"stem":1610},"Generic Types","\u002Fdocs\u002Flang\u002Fgenerics\u002Ftypes","docs\u002F2.lang\u002F24.generics\u002F2.types",{"title":1612,"path":1613,"stem":1614},"Generic Methods","\u002Fdocs\u002Flang\u002Fgenerics\u002Fmethods","docs\u002F2.lang\u002F24.generics\u002F3.methods",{"title":1616,"path":1617,"stem":1618},"Bounds","\u002Fdocs\u002Flang\u002Fgenerics\u002Fbounds","docs\u002F2.lang\u002F24.generics\u002F4.bounds",{"title":1620,"path":1621,"stem":1622,"children":1623,"page":29},"Modules","\u002Fdocs\u002Flang\u002Fmodules","docs\u002F2.lang\u002F25.modules",[1624,1627,1631],{"title":49,"path":1625,"stem":1626},"\u002Fdocs\u002Flang\u002Fmodules\u002Foverview","docs\u002F2.lang\u002F25.modules\u002F1.overview",{"title":1628,"path":1629,"stem":1630},"Imports","\u002Fdocs\u002Flang\u002Fmodules\u002Fimports","docs\u002F2.lang\u002F25.modules\u002F2.imports",{"title":1632,"path":1633,"stem":1634},"Visibility","\u002Fdocs\u002Flang\u002Fmodules\u002Fvisibility","docs\u002F2.lang\u002F25.modules\u002F3.visibility",{"title":1636,"path":1637,"stem":1638,"children":1639,"page":29},"Compile-Time","\u002Fdocs\u002Flang\u002Fcomptime","docs\u002F2.lang\u002F26.comptime",[1640,1643,1647,1651,1655,1659],{"title":49,"path":1641,"stem":1642},"\u002Fdocs\u002Flang\u002Fcomptime\u002Foverview","docs\u002F2.lang\u002F26.comptime\u002F1.overview",{"title":1644,"path":1645,"stem":1646},"Conditional Compilation","\u002Fdocs\u002Flang\u002Fcomptime\u002Fconditional","docs\u002F2.lang\u002F26.comptime\u002F2.conditional",{"title":1648,"path":1649,"stem":1650},"Context","\u002Fdocs\u002Flang\u002Fcomptime\u002Fcontext","docs\u002F2.lang\u002F26.comptime\u002F3.context",{"title":1652,"path":1653,"stem":1654},"Config","\u002Fdocs\u002Flang\u002Fcomptime\u002Fconfig","docs\u002F2.lang\u002F26.comptime\u002F4.config",{"title":1656,"path":1657,"stem":1658},"Intrinsics","\u002Fdocs\u002Flang\u002Fcomptime\u002Fintrinsics","docs\u002F2.lang\u002F26.comptime\u002F5.intrinsics",{"title":1660,"path":1661,"stem":1662},"Diagnostics","\u002Fdocs\u002Flang\u002Fcomptime\u002Fdiagnostics","docs\u002F2.lang\u002F26.comptime\u002F6.diagnostics",{"title":1664,"path":1665,"stem":1666,"children":1667,"page":29},"Attributes","\u002Fdocs\u002Flang\u002Fattributes","docs\u002F2.lang\u002F27.attributes",[1668,1671,1675,1679,1683,1687,1691,1695],{"title":49,"path":1669,"stem":1670},"\u002Fdocs\u002Flang\u002Fattributes\u002Foverview","docs\u002F2.lang\u002F27.attributes\u002F1.overview",{"title":1672,"path":1673,"stem":1674},"#Link","\u002Fdocs\u002Flang\u002Fattributes\u002Flink","docs\u002F2.lang\u002F27.attributes\u002F2.link",{"title":1676,"path":1677,"stem":1678},"#Abi","\u002Fdocs\u002Flang\u002Fattributes\u002Fabi","docs\u002F2.lang\u002F27.attributes\u002F3.abi",{"title":1680,"path":1681,"stem":1682},"#NoReturn","\u002Fdocs\u002Flang\u002Fattributes\u002Fnoreturn","docs\u002F2.lang\u002F27.attributes\u002F4.noreturn",{"title":1684,"path":1685,"stem":1686},"#Warn","\u002Fdocs\u002Flang\u002Fattributes\u002Fwarn","docs\u002F2.lang\u002F27.attributes\u002F5.warn",{"title":1688,"path":1689,"stem":1690},"#Error","\u002Fdocs\u002Flang\u002Fattributes\u002Ferror","docs\u002F2.lang\u002F27.attributes\u002F6.error",{"title":1692,"path":1693,"stem":1694},"#Allow","\u002Fdocs\u002Flang\u002Fattributes\u002Fallow","docs\u002F2.lang\u002F27.attributes\u002F7.allow",{"title":1696,"path":1697,"stem":1698},"#Format","\u002Fdocs\u002Flang\u002Fattributes\u002Fformat","docs\u002F2.lang\u002F27.attributes\u002F8.format",{"title":1700,"path":1701,"stem":1702,"children":1703,"page":29},"Foreign Function Interface","\u002Fdocs\u002Flang\u002Fffi","docs\u002F2.lang\u002F28.ffi",[1704,1707,1711],{"title":49,"path":1705,"stem":1706},"\u002Fdocs\u002Flang\u002Fffi\u002Foverview","docs\u002F2.lang\u002F28.ffi\u002F1.overview",{"title":1708,"path":1709,"stem":1710},"Linking","\u002Fdocs\u002Flang\u002Fffi\u002Flinking","docs\u002F2.lang\u002F28.ffi\u002F2.linking",{"title":1712,"path":1713,"stem":1714},"Assembly","\u002Fdocs\u002Flang\u002Fffi\u002Fassembly","docs\u002F2.lang\u002F28.ffi\u002F3.assembly",{"title":739,"path":1716,"stem":1717,"children":1718,"page":29},"\u002Fdocs\u002Flang\u002Fmemory","docs\u002F2.lang\u002F29.memory",[1719],{"title":1720,"path":1721,"stem":1722},"Layout","\u002Fdocs\u002Flang\u002Fmemory\u002Flayout","docs\u002F2.lang\u002F29.memory\u002F1.layout",{"title":1724,"path":1725,"stem":1726,"children":1727,"page":29},"Appendix","\u002Fdocs\u002Flang\u002Fappendix","docs\u002F2.lang\u002F30.appendix",[1728,1732,1736],{"title":1729,"path":1730,"stem":1731},"Primitive Types","\u002Fdocs\u002Flang\u002Fappendix\u002Fprimitives","docs\u002F2.lang\u002F30.appendix\u002F1.primitives",{"title":1733,"path":1734,"stem":1735},"Tokens","\u002Fdocs\u002Flang\u002Fappendix\u002Ftokens","docs\u002F2.lang\u002F30.appendix\u002F2.tokens",{"title":1737,"path":1738,"stem":1739},"RCU Format","\u002Fdocs\u002Flang\u002Fappendix\u002Frcu","docs\u002F2.lang\u002F30.appendix\u002F3.rcu",{"title":1741,"path":1742,"stem":1743,"children":1744},"CLI Reference","\u002Fdocs\u002Fcli","docs\u002F3.cli\u002Findex",[1745,1746,1750,1754,1758,1762,1766,1770,1774,1778,1782,1786,1790,1794,1798,1802,1806,1810,1814,1818,1822,1826,1830,1834,1838],{"title":49,"path":1742,"stem":1743},{"title":1747,"path":1748,"stem":1749},"Global Options","\u002Fdocs\u002Fcli\u002Fglobal","docs\u002F3.cli\u002F01.global",{"title":1751,"path":1752,"stem":1753},"add","\u002Fdocs\u002Fcli\u002Fadd","docs\u002F3.cli\u002F02.add",{"title":1755,"path":1756,"stem":1757},"build","\u002Fdocs\u002Fcli\u002Fbuild","docs\u002F3.cli\u002F03.build",{"title":1759,"path":1760,"stem":1761},"check","\u002Fdocs\u002Fcli\u002Fcheck","docs\u002F3.cli\u002F04.check",{"title":1763,"path":1764,"stem":1765},"clean","\u002Fdocs\u002Fcli\u002Fclean","docs\u002F3.cli\u002F05.clean",{"title":1767,"path":1768,"stem":1769},"doc","\u002Fdocs\u002Fcli\u002Fdoc","docs\u002F3.cli\u002F06.doc",{"title":1771,"path":1772,"stem":1773},"fmt","\u002Fdocs\u002Fcli\u002Ffmt","docs\u002F3.cli\u002F07.fmt",{"title":1775,"path":1776,"stem":1777},"help","\u002Fdocs\u002Fcli\u002Fhelp","docs\u002F3.cli\u002F08.help",{"title":1779,"path":1780,"stem":1781},"info","\u002Fdocs\u002Fcli\u002Finfo","docs\u002F3.cli\u002F09.info",{"title":1783,"path":1784,"stem":1785},"init","\u002Fdocs\u002Fcli\u002Finit","docs\u002F3.cli\u002F10.init",{"title":1787,"path":1788,"stem":1789},"install","\u002Fdocs\u002Fcli\u002Finstall","docs\u002F3.cli\u002F11.install",{"title":1791,"path":1792,"stem":1793},"lint","\u002Fdocs\u002Fcli\u002Flint","docs\u002F3.cli\u002F12.lint",{"title":1795,"path":1796,"stem":1797},"list","\u002Fdocs\u002Fcli\u002Flist","docs\u002F3.cli\u002F13.list",{"title":1799,"path":1800,"stem":1801},"login","\u002Fdocs\u002Fcli\u002Flogin","docs\u002F3.cli\u002F14.login",{"title":1803,"path":1804,"stem":1805},"logout","\u002Fdocs\u002Fcli\u002Flogout","docs\u002F3.cli\u002F15.logout",{"title":1807,"path":1808,"stem":1809},"new","\u002Fdocs\u002Fcli\u002Fnew","docs\u002F3.cli\u002F16.new",{"title":1811,"path":1812,"stem":1813},"pack","\u002Fdocs\u002Fcli\u002Fpack","docs\u002F3.cli\u002F17.pack",{"title":1815,"path":1816,"stem":1817},"publish","\u002Fdocs\u002Fcli\u002Fpublish","docs\u002F3.cli\u002F18.publish",{"title":1819,"path":1820,"stem":1821},"remove","\u002Fdocs\u002Fcli\u002Fremove","docs\u002F3.cli\u002F19.remove",{"title":1823,"path":1824,"stem":1825},"run","\u002Fdocs\u002Fcli\u002Frun","docs\u002F3.cli\u002F20.run",{"title":1827,"path":1828,"stem":1829},"test","\u002Fdocs\u002Fcli\u002Ftest","docs\u002F3.cli\u002F21.test",{"title":1831,"path":1832,"stem":1833},"uninstall","\u002Fdocs\u002Fcli\u002Funinstall","docs\u002F3.cli\u002F22.uninstall",{"title":1835,"path":1836,"stem":1837},"update","\u002Fdocs\u002Fcli\u002Fupdate","docs\u002F3.cli\u002F23.update",{"title":1839,"path":1840,"stem":1841},"version","\u002Fdocs\u002Fcli\u002Fversion","docs\u002F3.cli\u002F24.version",{"title":1843,"path":1844,"stem":1845,"children":1846},"Packaging","\u002Fdocs\u002Fpackaging","docs\u002F4.packaging\u002Findex",[1847,1848,1852,1856,1860,1864,1868,1872,1876,1880,1884],{"title":49,"path":1844,"stem":1845},{"title":1849,"path":1850,"stem":1851},"Package Types","\u002Fdocs\u002Fpackaging\u002Ftypes","docs\u002F4.packaging\u002F1.types",{"title":1853,"path":1854,"stem":1855},"Yanking","\u002Fdocs\u002Fpackaging\u002Fyanking","docs\u002F4.packaging\u002F10.yanking",{"title":1857,"path":1858,"stem":1859},"Directory Layout","\u002Fdocs\u002Fpackaging\u002Flayout","docs\u002F4.packaging\u002F2.layout",{"title":1861,"path":1862,"stem":1863},"Package Manifest","\u002Fdocs\u002Fpackaging\u002Fmanifest","docs\u002F4.packaging\u002F3.manifest",{"title":1865,"path":1866,"stem":1867},"Dependencies","\u002Fdocs\u002Fpackaging\u002Fdependencies","docs\u002F4.packaging\u002F4.dependencies",{"title":1869,"path":1870,"stem":1871},"The Registry","\u002Fdocs\u002Fpackaging\u002Fregistry","docs\u002F4.packaging\u002F5.registry",{"title":1873,"path":1874,"stem":1875},"Namespaces","\u002Fdocs\u002Fpackaging\u002Fnamespaces","docs\u002F4.packaging\u002F6.namespaces",{"title":1877,"path":1878,"stem":1879},"API Tokens","\u002Fdocs\u002Fpackaging\u002Ftokens","docs\u002F4.packaging\u002F7.tokens",{"title":1881,"path":1882,"stem":1883},"Publishing","\u002Fdocs\u002Fpackaging\u002Fpublishing","docs\u002F4.packaging\u002F8.publishing",{"title":1885,"path":1886,"stem":1887},"Versioning","\u002Fdocs\u002Fpackaging\u002Fversioning","docs\u002F4.packaging\u002F9.versioning",{"title":1889,"path":1890,"stem":1891,"children":1892},"API Reference","\u002Fdocs\u002Fapi","docs\u002F5.api\u002Findex",[1893,1895,1898,1960,2644,2710,2728,2775,2818,2948,2981,3032,3180],{"title":1894,"path":1890,"stem":1891},"Table of Contents",{"title":1218,"path":1896,"stem":1897},"\u002Fdocs\u002Fapi\u002Fintroduction","docs\u002F5.api\u002F01.introduction",{"title":1899,"path":1900,"stem":1901,"children":1902},"Bsd","\u002Fdocs\u002Fapi\u002Fbsd","docs\u002F5.api\u002F02.bsd\u002Findex",[1903,1904,1908,1912,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956],{"title":49,"path":1900,"stem":1901},{"title":1905,"path":1906,"stem":1907},"Brk","\u002Fdocs\u002Fapi\u002Fbsd\u002Fbrk","docs\u002F5.api\u002F02.bsd\u002Fbrk",{"title":1909,"path":1910,"stem":1911},"ClockGetTime","\u002Fdocs\u002Fapi\u002Fbsd\u002Fclockgettime","docs\u002F5.api\u002F02.bsd\u002Fclockgettime",{"title":1913,"path":1914,"stem":1915},"Close","\u002Fdocs\u002Fapi\u002Fbsd\u002Fclose","docs\u002F5.api\u002F02.bsd\u002Fclose",{"title":1917,"path":1918,"stem":1919},"Errno","\u002Fdocs\u002Fapi\u002Fbsd\u002Ferrno","docs\u002F5.api\u002F02.bsd\u002Ferrno",{"title":1921,"path":1922,"stem":1923},"Exit","\u002Fdocs\u002Fapi\u002Fbsd\u002Fexit","docs\u002F5.api\u002F02.bsd\u002Fexit",{"title":1925,"path":1926,"stem":1927},"GetPid","\u002Fdocs\u002Fapi\u002Fbsd\u002Fgetpid","docs\u002F5.api\u002F02.bsd\u002Fgetpid",{"title":1929,"path":1930,"stem":1931},"IsError","\u002Fdocs\u002Fapi\u002Fbsd\u002Fiserror","docs\u002F5.api\u002F02.bsd\u002Fiserror",{"title":1933,"path":1934,"stem":1935},"Mmap","\u002Fdocs\u002Fapi\u002Fbsd\u002Fmmap","docs\u002F5.api\u002F02.bsd\u002Fmmap",{"title":1937,"path":1938,"stem":1939},"Munmap","\u002Fdocs\u002Fapi\u002Fbsd\u002Fmunmap","docs\u002F5.api\u002F02.bsd\u002Fmunmap",{"title":1941,"path":1942,"stem":1943},"Nanosleep","\u002Fdocs\u002Fapi\u002Fbsd\u002Fnanosleep","docs\u002F5.api\u002F02.bsd\u002Fnanosleep",{"title":1945,"path":1946,"stem":1947},"Read","\u002Fdocs\u002Fapi\u002Fbsd\u002Fread","docs\u002F5.api\u002F02.bsd\u002Fread",{"title":1949,"path":1950,"stem":1951},"Syscalls","\u002Fdocs\u002Fapi\u002Fbsd\u002Fsyscalls","docs\u002F5.api\u002F02.bsd\u002Fsyscalls",{"title":1953,"path":1954,"stem":1955},"Types and Constants","\u002Fdocs\u002Fapi\u002Fbsd\u002Ftypes","docs\u002F5.api\u002F02.bsd\u002Ftypes",{"title":1957,"path":1958,"stem":1959},"Write","\u002Fdocs\u002Fapi\u002Fbsd\u002Fwrite","docs\u002F5.api\u002F02.bsd\u002Fwrite",{"title":1961,"path":1962,"stem":1963,"children":1964},"C","\u002Fdocs\u002Fapi\u002Fc","docs\u002F5.api\u002F03.c\u002Findex",[1965,1966,1970,1974,1978,1982,1986,1990,1994,1998,2002,2006,2010,2014,2018,2022,2026,2030,2034,2038,2042,2046,2050,2054,2058,2062,2066,2070,2074,2078,2082,2086,2090,2094,2098,2102,2106,2110,2114,2118,2122,2126,2130,2134,2138,2142,2146,2150,2154,2158,2162,2166,2170,2174,2178,2182,2186,2190,2194,2198,2202,2206,2210,2214,2218,2222,2226,2230,2234,2238,2242,2246,2250,2254,2258,2262,2266,2270,2274,2278,2282,2286,2290,2294,2298,2302,2306,2310,2314,2318,2322,2326,2330,2334,2338,2342,2346,2350,2354,2358,2362,2366,2370,2374,2378,2382,2386,2390,2394,2398,2402,2406,2410,2414,2418,2422,2426,2430,2434,2438,2442,2446,2450,2454,2458,2462,2466,2470,2474,2478,2482,2486,2490,2494,2497,2501,2505,2509,2513,2517,2521,2525,2529,2533,2537,2541,2545,2549,2553,2557,2561,2565,2569,2573,2577,2581,2585,2589,2593,2597,2601,2605,2609,2613,2617,2621,2625,2629,2633,2637,2640],{"title":49,"path":1962,"stem":1963},{"title":1967,"path":1968,"stem":1969},"abort","\u002Fdocs\u002Fapi\u002Fc\u002Fabort","docs\u002F5.api\u002F03.c\u002Fabort",{"title":1971,"path":1972,"stem":1973},"abs","\u002Fdocs\u002Fapi\u002Fc\u002Fabs","docs\u002F5.api\u002F03.c\u002Fabs",{"title":1975,"path":1976,"stem":1977},"acos","\u002Fdocs\u002Fapi\u002Fc\u002Facos","docs\u002F5.api\u002F03.c\u002Facos",{"title":1979,"path":1980,"stem":1981},"acosf","\u002Fdocs\u002Fapi\u002Fc\u002Facosf","docs\u002F5.api\u002F03.c\u002Facosf",{"title":1983,"path":1984,"stem":1985},"acosh","\u002Fdocs\u002Fapi\u002Fc\u002Facosh","docs\u002F5.api\u002F03.c\u002Facosh",{"title":1987,"path":1988,"stem":1989},"acoshf","\u002Fdocs\u002Fapi\u002Fc\u002Facoshf","docs\u002F5.api\u002F03.c\u002Facoshf",{"title":1991,"path":1992,"stem":1993},"asctime","\u002Fdocs\u002Fapi\u002Fc\u002Fasctime","docs\u002F5.api\u002F03.c\u002Fasctime",{"title":1995,"path":1996,"stem":1997},"asin","\u002Fdocs\u002Fapi\u002Fc\u002Fasin","docs\u002F5.api\u002F03.c\u002Fasin",{"title":1999,"path":2000,"stem":2001},"asinf","\u002Fdocs\u002Fapi\u002Fc\u002Fasinf","docs\u002F5.api\u002F03.c\u002Fasinf",{"title":2003,"path":2004,"stem":2005},"asinh","\u002Fdocs\u002Fapi\u002Fc\u002Fasinh","docs\u002F5.api\u002F03.c\u002Fasinh",{"title":2007,"path":2008,"stem":2009},"asinhf","\u002Fdocs\u002Fapi\u002Fc\u002Fasinhf","docs\u002F5.api\u002F03.c\u002Fasinhf",{"title":2011,"path":2012,"stem":2013},"atan","\u002Fdocs\u002Fapi\u002Fc\u002Fatan","docs\u002F5.api\u002F03.c\u002Fatan",{"title":2015,"path":2016,"stem":2017},"atan2","\u002Fdocs\u002Fapi\u002Fc\u002Fatan2","docs\u002F5.api\u002F03.c\u002Fatan2",{"title":2019,"path":2020,"stem":2021},"atan2f","\u002Fdocs\u002Fapi\u002Fc\u002Fatan2f","docs\u002F5.api\u002F03.c\u002Fatan2f",{"title":2023,"path":2024,"stem":2025},"atanf","\u002Fdocs\u002Fapi\u002Fc\u002Fatanf","docs\u002F5.api\u002F03.c\u002Fatanf",{"title":2027,"path":2028,"stem":2029},"atanh","\u002Fdocs\u002Fapi\u002Fc\u002Fatanh","docs\u002F5.api\u002F03.c\u002Fatanh",{"title":2031,"path":2032,"stem":2033},"atanhf","\u002Fdocs\u002Fapi\u002Fc\u002Fatanhf","docs\u002F5.api\u002F03.c\u002Fatanhf",{"title":2035,"path":2036,"stem":2037},"atof","\u002Fdocs\u002Fapi\u002Fc\u002Fatof","docs\u002F5.api\u002F03.c\u002Fatof",{"title":2039,"path":2040,"stem":2041},"atoi","\u002Fdocs\u002Fapi\u002Fc\u002Fatoi","docs\u002F5.api\u002F03.c\u002Fatoi",{"title":2043,"path":2044,"stem":2045},"atol","\u002Fdocs\u002Fapi\u002Fc\u002Fatol","docs\u002F5.api\u002F03.c\u002Fatol",{"title":2047,"path":2048,"stem":2049},"atoll","\u002Fdocs\u002Fapi\u002Fc\u002Fatoll","docs\u002F5.api\u002F03.c\u002Fatoll",{"title":2051,"path":2052,"stem":2053},"calloc","\u002Fdocs\u002Fapi\u002Fc\u002Fcalloc","docs\u002F5.api\u002F03.c\u002Fcalloc",{"title":2055,"path":2056,"stem":2057},"cbrt","\u002Fdocs\u002Fapi\u002Fc\u002Fcbrt","docs\u002F5.api\u002F03.c\u002Fcbrt",{"title":2059,"path":2060,"stem":2061},"cbrtf","\u002Fdocs\u002Fapi\u002Fc\u002Fcbrtf","docs\u002F5.api\u002F03.c\u002Fcbrtf",{"title":2063,"path":2064,"stem":2065},"ceil","\u002Fdocs\u002Fapi\u002Fc\u002Fceil","docs\u002F5.api\u002F03.c\u002Fceil",{"title":2067,"path":2068,"stem":2069},"ceilf","\u002Fdocs\u002Fapi\u002Fc\u002Fceilf","docs\u002F5.api\u002F03.c\u002Fceilf",{"title":2071,"path":2072,"stem":2073},"clearerr","\u002Fdocs\u002Fapi\u002Fc\u002Fclearerr","docs\u002F5.api\u002F03.c\u002Fclearerr",{"title":2075,"path":2076,"stem":2077},"clock","\u002Fdocs\u002Fapi\u002Fc\u002Fclock","docs\u002F5.api\u002F03.c\u002Fclock",{"title":2079,"path":2080,"stem":2081},"copysign","\u002Fdocs\u002Fapi\u002Fc\u002Fcopysign","docs\u002F5.api\u002F03.c\u002Fcopysign",{"title":2083,"path":2084,"stem":2085},"copysignf","\u002Fdocs\u002Fapi\u002Fc\u002Fcopysignf","docs\u002F5.api\u002F03.c\u002Fcopysignf",{"title":2087,"path":2088,"stem":2089},"cos","\u002Fdocs\u002Fapi\u002Fc\u002Fcos","docs\u002F5.api\u002F03.c\u002Fcos",{"title":2091,"path":2092,"stem":2093},"cosf","\u002Fdocs\u002Fapi\u002Fc\u002Fcosf","docs\u002F5.api\u002F03.c\u002Fcosf",{"title":2095,"path":2096,"stem":2097},"cosh","\u002Fdocs\u002Fapi\u002Fc\u002Fcosh","docs\u002F5.api\u002F03.c\u002Fcosh",{"title":2099,"path":2100,"stem":2101},"coshf","\u002Fdocs\u002Fapi\u002Fc\u002Fcoshf","docs\u002F5.api\u002F03.c\u002Fcoshf",{"title":2103,"path":2104,"stem":2105},"ctime","\u002Fdocs\u002Fapi\u002Fc\u002Fctime","docs\u002F5.api\u002F03.c\u002Fctime",{"title":2107,"path":2108,"stem":2109},"difftime","\u002Fdocs\u002Fapi\u002Fc\u002Fdifftime","docs\u002F5.api\u002F03.c\u002Fdifftime",{"title":2111,"path":2112,"stem":2113},"erf","\u002Fdocs\u002Fapi\u002Fc\u002Ferf","docs\u002F5.api\u002F03.c\u002Ferf",{"title":2115,"path":2116,"stem":2117},"erfc","\u002Fdocs\u002Fapi\u002Fc\u002Ferfc","docs\u002F5.api\u002F03.c\u002Ferfc",{"title":2119,"path":2120,"stem":2121},"erfcf","\u002Fdocs\u002Fapi\u002Fc\u002Ferfcf","docs\u002F5.api\u002F03.c\u002Ferfcf",{"title":2123,"path":2124,"stem":2125},"erff","\u002Fdocs\u002Fapi\u002Fc\u002Ferff","docs\u002F5.api\u002F03.c\u002Ferff",{"title":2127,"path":2128,"stem":2129},"exit","\u002Fdocs\u002Fapi\u002Fc\u002Fexit","docs\u002F5.api\u002F03.c\u002Fexit",{"title":2131,"path":2132,"stem":2133},"exp","\u002Fdocs\u002Fapi\u002Fc\u002Fexp","docs\u002F5.api\u002F03.c\u002Fexp",{"title":2135,"path":2136,"stem":2137},"exp2","\u002Fdocs\u002Fapi\u002Fc\u002Fexp2","docs\u002F5.api\u002F03.c\u002Fexp2",{"title":2139,"path":2140,"stem":2141},"exp2f","\u002Fdocs\u002Fapi\u002Fc\u002Fexp2f","docs\u002F5.api\u002F03.c\u002Fexp2f",{"title":2143,"path":2144,"stem":2145},"expf","\u002Fdocs\u002Fapi\u002Fc\u002Fexpf","docs\u002F5.api\u002F03.c\u002Fexpf",{"title":2147,"path":2148,"stem":2149},"expm1","\u002Fdocs\u002Fapi\u002Fc\u002Fexpm1","docs\u002F5.api\u002F03.c\u002Fexpm1",{"title":2151,"path":2152,"stem":2153},"expm1f","\u002Fdocs\u002Fapi\u002Fc\u002Fexpm1f","docs\u002F5.api\u002F03.c\u002Fexpm1f",{"title":2155,"path":2156,"stem":2157},"fabs","\u002Fdocs\u002Fapi\u002Fc\u002Ffabs","docs\u002F5.api\u002F03.c\u002Ffabs",{"title":2159,"path":2160,"stem":2161},"fclose","\u002Fdocs\u002Fapi\u002Fc\u002Ffclose","docs\u002F5.api\u002F03.c\u002Ffclose",{"title":2163,"path":2164,"stem":2165},"fdim","\u002Fdocs\u002Fapi\u002Fc\u002Ffdim","docs\u002F5.api\u002F03.c\u002Ffdim",{"title":2167,"path":2168,"stem":2169},"fdimf","\u002Fdocs\u002Fapi\u002Fc\u002Ffdimf","docs\u002F5.api\u002F03.c\u002Ffdimf",{"title":2171,"path":2172,"stem":2173},"feof","\u002Fdocs\u002Fapi\u002Fc\u002Ffeof","docs\u002F5.api\u002F03.c\u002Ffeof",{"title":2175,"path":2176,"stem":2177},"ferror","\u002Fdocs\u002Fapi\u002Fc\u002Fferror","docs\u002F5.api\u002F03.c\u002Fferror",{"title":2179,"path":2180,"stem":2181},"fflush","\u002Fdocs\u002Fapi\u002Fc\u002Ffflush","docs\u002F5.api\u002F03.c\u002Ffflush",{"title":2183,"path":2184,"stem":2185},"fgetc","\u002Fdocs\u002Fapi\u002Fc\u002Ffgetc","docs\u002F5.api\u002F03.c\u002Ffgetc",{"title":2187,"path":2188,"stem":2189},"fgetpos","\u002Fdocs\u002Fapi\u002Fc\u002Ffgetpos","docs\u002F5.api\u002F03.c\u002Ffgetpos",{"title":2191,"path":2192,"stem":2193},"fgets","\u002Fdocs\u002Fapi\u002Fc\u002Ffgets","docs\u002F5.api\u002F03.c\u002Ffgets",{"title":2195,"path":2196,"stem":2197},"floor","\u002Fdocs\u002Fapi\u002Fc\u002Ffloor","docs\u002F5.api\u002F03.c\u002Ffloor",{"title":2199,"path":2200,"stem":2201},"floorf","\u002Fdocs\u002Fapi\u002Fc\u002Ffloorf","docs\u002F5.api\u002F03.c\u002Ffloorf",{"title":2203,"path":2204,"stem":2205},"fma","\u002Fdocs\u002Fapi\u002Fc\u002Ffma","docs\u002F5.api\u002F03.c\u002Ffma",{"title":2207,"path":2208,"stem":2209},"fmaf","\u002Fdocs\u002Fapi\u002Fc\u002Ffmaf","docs\u002F5.api\u002F03.c\u002Ffmaf",{"title":2211,"path":2212,"stem":2213},"fmax","\u002Fdocs\u002Fapi\u002Fc\u002Ffmax","docs\u002F5.api\u002F03.c\u002Ffmax",{"title":2215,"path":2216,"stem":2217},"fmaxf","\u002Fdocs\u002Fapi\u002Fc\u002Ffmaxf","docs\u002F5.api\u002F03.c\u002Ffmaxf",{"title":2219,"path":2220,"stem":2221},"fmin","\u002Fdocs\u002Fapi\u002Fc\u002Ffmin","docs\u002F5.api\u002F03.c\u002Ffmin",{"title":2223,"path":2224,"stem":2225},"fminf","\u002Fdocs\u002Fapi\u002Fc\u002Ffminf","docs\u002F5.api\u002F03.c\u002Ffminf",{"title":2227,"path":2228,"stem":2229},"fmod","\u002Fdocs\u002Fapi\u002Fc\u002Ffmod","docs\u002F5.api\u002F03.c\u002Ffmod",{"title":2231,"path":2232,"stem":2233},"fmodf","\u002Fdocs\u002Fapi\u002Fc\u002Ffmodf","docs\u002F5.api\u002F03.c\u002Ffmodf",{"title":2235,"path":2236,"stem":2237},"fopen","\u002Fdocs\u002Fapi\u002Fc\u002Ffopen","docs\u002F5.api\u002F03.c\u002Ffopen",{"title":2239,"path":2240,"stem":2241},"fprintf","\u002Fdocs\u002Fapi\u002Fc\u002Ffprintf","docs\u002F5.api\u002F03.c\u002Ffprintf",{"title":2243,"path":2244,"stem":2245},"fputc","\u002Fdocs\u002Fapi\u002Fc\u002Ffputc","docs\u002F5.api\u002F03.c\u002Ffputc",{"title":2247,"path":2248,"stem":2249},"fputs","\u002Fdocs\u002Fapi\u002Fc\u002Ffputs","docs\u002F5.api\u002F03.c\u002Ffputs",{"title":2251,"path":2252,"stem":2253},"fread","\u002Fdocs\u002Fapi\u002Fc\u002Ffread","docs\u002F5.api\u002F03.c\u002Ffread",{"title":2255,"path":2256,"stem":2257},"free","\u002Fdocs\u002Fapi\u002Fc\u002Ffree","docs\u002F5.api\u002F03.c\u002Ffree",{"title":2259,"path":2260,"stem":2261},"freopen","\u002Fdocs\u002Fapi\u002Fc\u002Ffreopen","docs\u002F5.api\u002F03.c\u002Ffreopen",{"title":2263,"path":2264,"stem":2265},"frexp","\u002Fdocs\u002Fapi\u002Fc\u002Ffrexp","docs\u002F5.api\u002F03.c\u002Ffrexp",{"title":2267,"path":2268,"stem":2269},"fscanf","\u002Fdocs\u002Fapi\u002Fc\u002Ffscanf","docs\u002F5.api\u002F03.c\u002Ffscanf",{"title":2271,"path":2272,"stem":2273},"fseek","\u002Fdocs\u002Fapi\u002Fc\u002Ffseek","docs\u002F5.api\u002F03.c\u002Ffseek",{"title":2275,"path":2276,"stem":2277},"fsetpos","\u002Fdocs\u002Fapi\u002Fc\u002Ffsetpos","docs\u002F5.api\u002F03.c\u002Ffsetpos",{"title":2279,"path":2280,"stem":2281},"ftell","\u002Fdocs\u002Fapi\u002Fc\u002Fftell","docs\u002F5.api\u002F03.c\u002Fftell",{"title":2283,"path":2284,"stem":2285},"fwrite","\u002Fdocs\u002Fapi\u002Fc\u002Ffwrite","docs\u002F5.api\u002F03.c\u002Ffwrite",{"title":2287,"path":2288,"stem":2289},"getc","\u002Fdocs\u002Fapi\u002Fc\u002Fgetc","docs\u002F5.api\u002F03.c\u002Fgetc",{"title":2291,"path":2292,"stem":2293},"getchar","\u002Fdocs\u002Fapi\u002Fc\u002Fgetchar","docs\u002F5.api\u002F03.c\u002Fgetchar",{"title":2295,"path":2296,"stem":2297},"getenv","\u002Fdocs\u002Fapi\u002Fc\u002Fgetenv","docs\u002F5.api\u002F03.c\u002Fgetenv",{"title":2299,"path":2300,"stem":2301},"gmtime","\u002Fdocs\u002Fapi\u002Fc\u002Fgmtime","docs\u002F5.api\u002F03.c\u002Fgmtime",{"title":2303,"path":2304,"stem":2305},"hypot","\u002Fdocs\u002Fapi\u002Fc\u002Fhypot","docs\u002F5.api\u002F03.c\u002Fhypot",{"title":2307,"path":2308,"stem":2309},"ilogb","\u002Fdocs\u002Fapi\u002Fc\u002Filogb","docs\u002F5.api\u002F03.c\u002Filogb",{"title":2311,"path":2312,"stem":2313},"ilogbf","\u002Fdocs\u002Fapi\u002Fc\u002Filogbf","docs\u002F5.api\u002F03.c\u002Filogbf",{"title":2315,"path":2316,"stem":2317},"labs","\u002Fdocs\u002Fapi\u002Fc\u002Flabs","docs\u002F5.api\u002F03.c\u002Flabs",{"title":2319,"path":2320,"stem":2321},"ldexp","\u002Fdocs\u002Fapi\u002Fc\u002Fldexp","docs\u002F5.api\u002F03.c\u002Fldexp",{"title":2323,"path":2324,"stem":2325},"lgamma","\u002Fdocs\u002Fapi\u002Fc\u002Flgamma","docs\u002F5.api\u002F03.c\u002Flgamma",{"title":2327,"path":2328,"stem":2329},"lgammaf","\u002Fdocs\u002Fapi\u002Fc\u002Flgammaf","docs\u002F5.api\u002F03.c\u002Flgammaf",{"title":2331,"path":2332,"stem":2333},"llabs","\u002Fdocs\u002Fapi\u002Fc\u002Fllabs","docs\u002F5.api\u002F03.c\u002Fllabs",{"title":2335,"path":2336,"stem":2337},"llrint","\u002Fdocs\u002Fapi\u002Fc\u002Fllrint","docs\u002F5.api\u002F03.c\u002Fllrint",{"title":2339,"path":2340,"stem":2341},"llrintf","\u002Fdocs\u002Fapi\u002Fc\u002Fllrintf","docs\u002F5.api\u002F03.c\u002Fllrintf",{"title":2343,"path":2344,"stem":2345},"llround","\u002Fdocs\u002Fapi\u002Fc\u002Fllround","docs\u002F5.api\u002F03.c\u002Fllround",{"title":2347,"path":2348,"stem":2349},"llroundf","\u002Fdocs\u002Fapi\u002Fc\u002Fllroundf","docs\u002F5.api\u002F03.c\u002Fllroundf",{"title":2351,"path":2352,"stem":2353},"localtime","\u002Fdocs\u002Fapi\u002Fc\u002Flocaltime","docs\u002F5.api\u002F03.c\u002Flocaltime",{"title":2355,"path":2356,"stem":2357},"log","\u002Fdocs\u002Fapi\u002Fc\u002Flog","docs\u002F5.api\u002F03.c\u002Flog",{"title":2359,"path":2360,"stem":2361},"log10","\u002Fdocs\u002Fapi\u002Fc\u002Flog10","docs\u002F5.api\u002F03.c\u002Flog10",{"title":2363,"path":2364,"stem":2365},"log10f","\u002Fdocs\u002Fapi\u002Fc\u002Flog10f","docs\u002F5.api\u002F03.c\u002Flog10f",{"title":2367,"path":2368,"stem":2369},"log1p","\u002Fdocs\u002Fapi\u002Fc\u002Flog1p","docs\u002F5.api\u002F03.c\u002Flog1p",{"title":2371,"path":2372,"stem":2373},"log1pf","\u002Fdocs\u002Fapi\u002Fc\u002Flog1pf","docs\u002F5.api\u002F03.c\u002Flog1pf",{"title":2375,"path":2376,"stem":2377},"log2","\u002Fdocs\u002Fapi\u002Fc\u002Flog2","docs\u002F5.api\u002F03.c\u002Flog2",{"title":2379,"path":2380,"stem":2381},"log2f","\u002Fdocs\u002Fapi\u002Fc\u002Flog2f","docs\u002F5.api\u002F03.c\u002Flog2f",{"title":2383,"path":2384,"stem":2385},"logb","\u002Fdocs\u002Fapi\u002Fc\u002Flogb","docs\u002F5.api\u002F03.c\u002Flogb",{"title":2387,"path":2388,"stem":2389},"logbf","\u002Fdocs\u002Fapi\u002Fc\u002Flogbf","docs\u002F5.api\u002F03.c\u002Flogbf",{"title":2391,"path":2392,"stem":2393},"logf","\u002Fdocs\u002Fapi\u002Fc\u002Flogf","docs\u002F5.api\u002F03.c\u002Flogf",{"title":2395,"path":2396,"stem":2397},"lrint","\u002Fdocs\u002Fapi\u002Fc\u002Flrint","docs\u002F5.api\u002F03.c\u002Flrint",{"title":2399,"path":2400,"stem":2401},"lrintf","\u002Fdocs\u002Fapi\u002Fc\u002Flrintf","docs\u002F5.api\u002F03.c\u002Flrintf",{"title":2403,"path":2404,"stem":2405},"lround","\u002Fdocs\u002Fapi\u002Fc\u002Flround","docs\u002F5.api\u002F03.c\u002Flround",{"title":2407,"path":2408,"stem":2409},"lroundf","\u002Fdocs\u002Fapi\u002Fc\u002Flroundf","docs\u002F5.api\u002F03.c\u002Flroundf",{"title":2411,"path":2412,"stem":2413},"malloc","\u002Fdocs\u002Fapi\u002Fc\u002Fmalloc","docs\u002F5.api\u002F03.c\u002Fmalloc",{"title":2415,"path":2416,"stem":2417},"mktime","\u002Fdocs\u002Fapi\u002Fc\u002Fmktime","docs\u002F5.api\u002F03.c\u002Fmktime",{"title":2419,"path":2420,"stem":2421},"modf","\u002Fdocs\u002Fapi\u002Fc\u002Fmodf","docs\u002F5.api\u002F03.c\u002Fmodf",{"title":2423,"path":2424,"stem":2425},"modff","\u002Fdocs\u002Fapi\u002Fc\u002Fmodff","docs\u002F5.api\u002F03.c\u002Fmodff",{"title":2427,"path":2428,"stem":2429},"nan","\u002Fdocs\u002Fapi\u002Fc\u002Fnan","docs\u002F5.api\u002F03.c\u002Fnan",{"title":2431,"path":2432,"stem":2433},"nanf","\u002Fdocs\u002Fapi\u002Fc\u002Fnanf","docs\u002F5.api\u002F03.c\u002Fnanf",{"title":2435,"path":2436,"stem":2437},"nearbyint","\u002Fdocs\u002Fapi\u002Fc\u002Fnearbyint","docs\u002F5.api\u002F03.c\u002Fnearbyint",{"title":2439,"path":2440,"stem":2441},"nearbyintf","\u002Fdocs\u002Fapi\u002Fc\u002Fnearbyintf","docs\u002F5.api\u002F03.c\u002Fnearbyintf",{"title":2443,"path":2444,"stem":2445},"nextafter","\u002Fdocs\u002Fapi\u002Fc\u002Fnextafter","docs\u002F5.api\u002F03.c\u002Fnextafter",{"title":2447,"path":2448,"stem":2449},"nextafterf","\u002Fdocs\u002Fapi\u002Fc\u002Fnextafterf","docs\u002F5.api\u002F03.c\u002Fnextafterf",{"title":2451,"path":2452,"stem":2453},"perror","\u002Fdocs\u002Fapi\u002Fc\u002Fperror","docs\u002F5.api\u002F03.c\u002Fperror",{"title":2455,"path":2456,"stem":2457},"pow","\u002Fdocs\u002Fapi\u002Fc\u002Fpow","docs\u002F5.api\u002F03.c\u002Fpow",{"title":2459,"path":2460,"stem":2461},"powf","\u002Fdocs\u002Fapi\u002Fc\u002Fpowf","docs\u002F5.api\u002F03.c\u002Fpowf",{"title":2463,"path":2464,"stem":2465},"printf","\u002Fdocs\u002Fapi\u002Fc\u002Fprintf","docs\u002F5.api\u002F03.c\u002Fprintf",{"title":2467,"path":2468,"stem":2469},"putc","\u002Fdocs\u002Fapi\u002Fc\u002Fputc","docs\u002F5.api\u002F03.c\u002Fputc",{"title":2471,"path":2472,"stem":2473},"putchar","\u002Fdocs\u002Fapi\u002Fc\u002Fputchar","docs\u002F5.api\u002F03.c\u002Fputchar",{"title":2475,"path":2476,"stem":2477},"puts","\u002Fdocs\u002Fapi\u002Fc\u002Fputs","docs\u002F5.api\u002F03.c\u002Fputs",{"title":2479,"path":2480,"stem":2481},"rand","\u002Fdocs\u002Fapi\u002Fc\u002Frand","docs\u002F5.api\u002F03.c\u002Frand",{"title":2483,"path":2484,"stem":2485},"realloc","\u002Fdocs\u002Fapi\u002Fc\u002Frealloc","docs\u002F5.api\u002F03.c\u002Frealloc",{"title":2487,"path":2488,"stem":2489},"remainder","\u002Fdocs\u002Fapi\u002Fc\u002Fremainder","docs\u002F5.api\u002F03.c\u002Fremainder",{"title":2491,"path":2492,"stem":2493},"remainderf","\u002Fdocs\u002Fapi\u002Fc\u002Fremainderf","docs\u002F5.api\u002F03.c\u002Fremainderf",{"title":1819,"path":2495,"stem":2496},"\u002Fdocs\u002Fapi\u002Fc\u002Fremove","docs\u002F5.api\u002F03.c\u002Fremove",{"title":2498,"path":2499,"stem":2500},"remquo","\u002Fdocs\u002Fapi\u002Fc\u002Fremquo","docs\u002F5.api\u002F03.c\u002Fremquo",{"title":2502,"path":2503,"stem":2504},"remquof","\u002Fdocs\u002Fapi\u002Fc\u002Fremquof","docs\u002F5.api\u002F03.c\u002Fremquof",{"title":2506,"path":2507,"stem":2508},"rename","\u002Fdocs\u002Fapi\u002Fc\u002Frename","docs\u002F5.api\u002F03.c\u002Frename",{"title":2510,"path":2511,"stem":2512},"rewind","\u002Fdocs\u002Fapi\u002Fc\u002Frewind","docs\u002F5.api\u002F03.c\u002Frewind",{"title":2514,"path":2515,"stem":2516},"rint","\u002Fdocs\u002Fapi\u002Fc\u002Frint","docs\u002F5.api\u002F03.c\u002Frint",{"title":2518,"path":2519,"stem":2520},"rintf","\u002Fdocs\u002Fapi\u002Fc\u002Frintf","docs\u002F5.api\u002F03.c\u002Frintf",{"title":2522,"path":2523,"stem":2524},"round","\u002Fdocs\u002Fapi\u002Fc\u002Fround","docs\u002F5.api\u002F03.c\u002Fround",{"title":2526,"path":2527,"stem":2528},"roundf","\u002Fdocs\u002Fapi\u002Fc\u002Froundf","docs\u002F5.api\u002F03.c\u002Froundf",{"title":2530,"path":2531,"stem":2532},"scalbn","\u002Fdocs\u002Fapi\u002Fc\u002Fscalbn","docs\u002F5.api\u002F03.c\u002Fscalbn",{"title":2534,"path":2535,"stem":2536},"scalbnf","\u002Fdocs\u002Fapi\u002Fc\u002Fscalbnf","docs\u002F5.api\u002F03.c\u002Fscalbnf",{"title":2538,"path":2539,"stem":2540},"scanf","\u002Fdocs\u002Fapi\u002Fc\u002Fscanf","docs\u002F5.api\u002F03.c\u002Fscanf",{"title":2542,"path":2543,"stem":2544},"setbuf","\u002Fdocs\u002Fapi\u002Fc\u002Fsetbuf","docs\u002F5.api\u002F03.c\u002Fsetbuf",{"title":2546,"path":2547,"stem":2548},"setvbuf","\u002Fdocs\u002Fapi\u002Fc\u002Fsetvbuf","docs\u002F5.api\u002F03.c\u002Fsetvbuf",{"title":2550,"path":2551,"stem":2552},"sin","\u002Fdocs\u002Fapi\u002Fc\u002Fsin","docs\u002F5.api\u002F03.c\u002Fsin",{"title":2554,"path":2555,"stem":2556},"sinf","\u002Fdocs\u002Fapi\u002Fc\u002Fsinf","docs\u002F5.api\u002F03.c\u002Fsinf",{"title":2558,"path":2559,"stem":2560},"sinh","\u002Fdocs\u002Fapi\u002Fc\u002Fsinh","docs\u002F5.api\u002F03.c\u002Fsinh",{"title":2562,"path":2563,"stem":2564},"sinhf","\u002Fdocs\u002Fapi\u002Fc\u002Fsinhf","docs\u002F5.api\u002F03.c\u002Fsinhf",{"title":2566,"path":2567,"stem":2568},"sprintf","\u002Fdocs\u002Fapi\u002Fc\u002Fsprintf","docs\u002F5.api\u002F03.c\u002Fsprintf",{"title":2570,"path":2571,"stem":2572},"sqrt","\u002Fdocs\u002Fapi\u002Fc\u002Fsqrt","docs\u002F5.api\u002F03.c\u002Fsqrt",{"title":2574,"path":2575,"stem":2576},"sqrtf","\u002Fdocs\u002Fapi\u002Fc\u002Fsqrtf","docs\u002F5.api\u002F03.c\u002Fsqrtf",{"title":2578,"path":2579,"stem":2580},"srand","\u002Fdocs\u002Fapi\u002Fc\u002Fsrand","docs\u002F5.api\u002F03.c\u002Fsrand",{"title":2582,"path":2583,"stem":2584},"sscanf","\u002Fdocs\u002Fapi\u002Fc\u002Fsscanf","docs\u002F5.api\u002F03.c\u002Fsscanf",{"title":2586,"path":2587,"stem":2588},"strftime","\u002Fdocs\u002Fapi\u002Fc\u002Fstrftime","docs\u002F5.api\u002F03.c\u002Fstrftime",{"title":2590,"path":2591,"stem":2592},"system","\u002Fdocs\u002Fapi\u002Fc\u002Fsystem","docs\u002F5.api\u002F03.c\u002Fsystem",{"title":2594,"path":2595,"stem":2596},"tan","\u002Fdocs\u002Fapi\u002Fc\u002Ftan","docs\u002F5.api\u002F03.c\u002Ftan",{"title":2598,"path":2599,"stem":2600},"tanf","\u002Fdocs\u002Fapi\u002Fc\u002Ftanf","docs\u002F5.api\u002F03.c\u002Ftanf",{"title":2602,"path":2603,"stem":2604},"tanh","\u002Fdocs\u002Fapi\u002Fc\u002Ftanh","docs\u002F5.api\u002F03.c\u002Ftanh",{"title":2606,"path":2607,"stem":2608},"tanhf","\u002Fdocs\u002Fapi\u002Fc\u002Ftanhf","docs\u002F5.api\u002F03.c\u002Ftanhf",{"title":2610,"path":2611,"stem":2612},"tgamma","\u002Fdocs\u002Fapi\u002Fc\u002Ftgamma","docs\u002F5.api\u002F03.c\u002Ftgamma",{"title":2614,"path":2615,"stem":2616},"tgammaf","\u002Fdocs\u002Fapi\u002Fc\u002Ftgammaf","docs\u002F5.api\u002F03.c\u002Ftgammaf",{"title":2618,"path":2619,"stem":2620},"time","\u002Fdocs\u002Fapi\u002Fc\u002Ftime","docs\u002F5.api\u002F03.c\u002Ftime",{"title":2622,"path":2623,"stem":2624},"tmpfile","\u002Fdocs\u002Fapi\u002Fc\u002Ftmpfile","docs\u002F5.api\u002F03.c\u002Ftmpfile",{"title":2626,"path":2627,"stem":2628},"tmpnam","\u002Fdocs\u002Fapi\u002Fc\u002Ftmpnam","docs\u002F5.api\u002F03.c\u002Ftmpnam",{"title":2630,"path":2631,"stem":2632},"trunc","\u002Fdocs\u002Fapi\u002Fc\u002Ftrunc","docs\u002F5.api\u002F03.c\u002Ftrunc",{"title":2634,"path":2635,"stem":2636},"truncf","\u002Fdocs\u002Fapi\u002Fc\u002Ftruncf","docs\u002F5.api\u002F03.c\u002Ftruncf",{"title":326,"path":2638,"stem":2639},"\u002Fdocs\u002Fapi\u002Fc\u002Ftypes","docs\u002F5.api\u002F03.c\u002Ftypes",{"title":2641,"path":2642,"stem":2643},"ungetc","\u002Fdocs\u002Fapi\u002Fc\u002Fungetc","docs\u002F5.api\u002F03.c\u002Fungetc",{"title":2645,"path":2646,"stem":2647,"children":2648},"Format","\u002Fdocs\u002Fapi\u002Fformat","docs\u002F5.api\u002F04.format\u002Findex",[2649,2650,2654,2658,2662,2666,2670,2674,2678,2682,2686,2690,2694,2698,2702,2706],{"title":49,"path":2646,"stem":2647},{"title":2651,"path":2652,"stem":2653},"IsFinite","\u002Fdocs\u002Fapi\u002Fformat\u002Fisfinite","docs\u002F5.api\u002F04.format\u002Fisfinite",{"title":2655,"path":2656,"stem":2657},"IsInfinite","\u002Fdocs\u002Fapi\u002Fformat\u002Fisinfinite","docs\u002F5.api\u002F04.format\u002Fisinfinite",{"title":2659,"path":2660,"stem":2661},"IsNan","\u002Fdocs\u002Fapi\u002Fformat\u002Fisnan","docs\u002F5.api\u002F04.format\u002Fisnan",{"title":2663,"path":2664,"stem":2665},"ParseError","\u002Fdocs\u002Fapi\u002Fformat\u002Fparseerror","docs\u002F5.api\u002F04.format\u002Fparseerror",{"title":2667,"path":2668,"stem":2669},"ParseFloat64","\u002Fdocs\u002Fapi\u002Fformat\u002Fparsefloat64","docs\u002F5.api\u002F04.format\u002Fparsefloat64",{"title":2671,"path":2672,"stem":2673},"ParseInt64","\u002Fdocs\u002Fapi\u002Fformat\u002Fparseint64","docs\u002F5.api\u002F04.format\u002Fparseint64",{"title":2675,"path":2676,"stem":2677},"Stringable","\u002Fdocs\u002Fapi\u002Fformat\u002Fstringable","docs\u002F5.api\u002F04.format\u002Fstringable",{"title":2679,"path":2680,"stem":2681},"ToString","\u002Fdocs\u002Fapi\u002Fformat\u002Ftostring","docs\u002F5.api\u002F04.format\u002Ftostring",{"title":2683,"path":2684,"stem":2685},"TryParseFloat64","\u002Fdocs\u002Fapi\u002Fformat\u002Ftryparsefloat64","docs\u002F5.api\u002F04.format\u002Ftryparsefloat64",{"title":2687,"path":2688,"stem":2689},"TryParseInt64","\u002Fdocs\u002Fapi\u002Fformat\u002Ftryparseint64","docs\u002F5.api\u002F04.format\u002Ftryparseint64",{"title":2691,"path":2692,"stem":2693},"WriteBool","\u002Fdocs\u002Fapi\u002Fformat\u002Fwritebool","docs\u002F5.api\u002F04.format\u002Fwritebool",{"title":2695,"path":2696,"stem":2697},"WriteChar","\u002Fdocs\u002Fapi\u002Fformat\u002Fwritechar","docs\u002F5.api\u002F04.format\u002Fwritechar",{"title":2699,"path":2700,"stem":2701},"WriteFloat","\u002Fdocs\u002Fapi\u002Fformat\u002Fwritefloat","docs\u002F5.api\u002F04.format\u002Fwritefloat",{"title":2703,"path":2704,"stem":2705},"WriteInt","\u002Fdocs\u002Fapi\u002Fformat\u002Fwriteint","docs\u002F5.api\u002F04.format\u002Fwriteint",{"title":2707,"path":2708,"stem":2709},"WriteUint","\u002Fdocs\u002Fapi\u002Fformat\u002Fwriteuint","docs\u002F5.api\u002F04.format\u002Fwriteuint",{"title":2711,"path":2712,"stem":2713,"children":2714},"Io","\u002Fdocs\u002Fapi\u002Fio","docs\u002F5.api\u002F05.io\u002Findex",[2715,2716,2720,2724],{"title":49,"path":2712,"stem":2713},{"title":2717,"path":2718,"stem":2719},"Print","\u002Fdocs\u002Fapi\u002Fio\u002Fprint","docs\u002F5.api\u002F05.io\u002Fprint",{"title":2721,"path":2722,"stem":2723},"PrintLine","\u002Fdocs\u002Fapi\u002Fio\u002Fprintline","docs\u002F5.api\u002F05.io\u002Fprintline",{"title":2725,"path":2726,"stem":2727},"ReadLine","\u002Fdocs\u002Fapi\u002Fio\u002Freadline","docs\u002F5.api\u002F05.io\u002Freadline",{"title":67,"path":2729,"stem":2730,"children":2731},"\u002Fdocs\u002Fapi\u002Flinux","docs\u002F5.api\u002F06.linux\u002Findex",[2732,2733,2736,2739,2742,2745,2748,2751,2754,2757,2760,2763,2766,2769,2772],{"title":49,"path":2729,"stem":2730},{"title":1905,"path":2734,"stem":2735},"\u002Fdocs\u002Fapi\u002Flinux\u002Fbrk","docs\u002F5.api\u002F06.linux\u002Fbrk",{"title":1909,"path":2737,"stem":2738},"\u002Fdocs\u002Fapi\u002Flinux\u002Fclockgettime","docs\u002F5.api\u002F06.linux\u002Fclockgettime",{"title":1913,"path":2740,"stem":2741},"\u002Fdocs\u002Fapi\u002Flinux\u002Fclose","docs\u002F5.api\u002F06.linux\u002Fclose",{"title":1917,"path":2743,"stem":2744},"\u002Fdocs\u002Fapi\u002Flinux\u002Ferrno","docs\u002F5.api\u002F06.linux\u002Ferrno",{"title":1921,"path":2746,"stem":2747},"\u002Fdocs\u002Fapi\u002Flinux\u002Fexit","docs\u002F5.api\u002F06.linux\u002Fexit",{"title":1925,"path":2749,"stem":2750},"\u002Fdocs\u002Fapi\u002Flinux\u002Fgetpid","docs\u002F5.api\u002F06.linux\u002Fgetpid",{"title":1929,"path":2752,"stem":2753},"\u002Fdocs\u002Fapi\u002Flinux\u002Fiserror","docs\u002F5.api\u002F06.linux\u002Fiserror",{"title":1933,"path":2755,"stem":2756},"\u002Fdocs\u002Fapi\u002Flinux\u002Fmmap","docs\u002F5.api\u002F06.linux\u002Fmmap",{"title":1937,"path":2758,"stem":2759},"\u002Fdocs\u002Fapi\u002Flinux\u002Fmunmap","docs\u002F5.api\u002F06.linux\u002Fmunmap",{"title":1941,"path":2761,"stem":2762},"\u002Fdocs\u002Fapi\u002Flinux\u002Fnanosleep","docs\u002F5.api\u002F06.linux\u002Fnanosleep",{"title":1945,"path":2764,"stem":2765},"\u002Fdocs\u002Fapi\u002Flinux\u002Fread","docs\u002F5.api\u002F06.linux\u002Fread",{"title":1949,"path":2767,"stem":2768},"\u002Fdocs\u002Fapi\u002Flinux\u002Fsyscalls","docs\u002F5.api\u002F06.linux\u002Fsyscalls",{"title":1953,"path":2770,"stem":2771},"\u002Fdocs\u002Fapi\u002Flinux\u002Ftypes","docs\u002F5.api\u002F06.linux\u002Ftypes",{"title":1957,"path":2773,"stem":2774},"\u002Fdocs\u002Fapi\u002Flinux\u002Fwrite","docs\u002F5.api\u002F06.linux\u002Fwrite",{"title":2776,"path":2777,"stem":2778,"children":2779},"MacOS","\u002Fdocs\u002Fapi\u002Fmacos","docs\u002F5.api\u002F07.macos\u002Findex",[2780,2781,2784,2787,2790,2793,2797,2800,2803,2806,2809,2812,2815],{"title":49,"path":2777,"stem":2778},{"title":1913,"path":2782,"stem":2783},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fclose","docs\u002F5.api\u002F07.macos\u002Fclose",{"title":1917,"path":2785,"stem":2786},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ferrno","docs\u002F5.api\u002F07.macos\u002Ferrno",{"title":1921,"path":2788,"stem":2789},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fexit","docs\u002F5.api\u002F07.macos\u002Fexit",{"title":1925,"path":2791,"stem":2792},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fgetpid","docs\u002F5.api\u002F07.macos\u002Fgetpid",{"title":2794,"path":2795,"stem":2796},"GetTimeOfDay","\u002Fdocs\u002Fapi\u002Fmacos\u002Fgettimeofday","docs\u002F5.api\u002F07.macos\u002Fgettimeofday",{"title":1929,"path":2798,"stem":2799},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fiserror","docs\u002F5.api\u002F07.macos\u002Fiserror",{"title":1933,"path":2801,"stem":2802},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fmmap","docs\u002F5.api\u002F07.macos\u002Fmmap",{"title":1937,"path":2804,"stem":2805},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fmunmap","docs\u002F5.api\u002F07.macos\u002Fmunmap",{"title":1945,"path":2807,"stem":2808},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fread","docs\u002F5.api\u002F07.macos\u002Fread",{"title":1949,"path":2810,"stem":2811},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fsyscalls","docs\u002F5.api\u002F07.macos\u002Fsyscalls",{"title":1953,"path":2813,"stem":2814},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ftypes","docs\u002F5.api\u002F07.macos\u002Ftypes",{"title":1957,"path":2816,"stem":2817},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fwrite","docs\u002F5.api\u002F07.macos\u002Fwrite",{"title":2819,"path":2820,"stem":2821,"children":2822},"Math","\u002Fdocs\u002Fapi\u002Fmath","docs\u002F5.api\u002F08.math\u002Findex",[2823,2824,2828,2832,2836,2840,2844,2848,2852,2856,2860,2864,2868,2872,2876,2880,2884,2888,2892,2896,2900,2904,2908,2912,2916,2920,2924,2928,2932,2936,2940,2944],{"title":49,"path":2820,"stem":2821},{"title":2825,"path":2826,"stem":2827},"Abs","\u002Fdocs\u002Fapi\u002Fmath\u002Fabs","docs\u002F5.api\u002F08.math\u002Fabs",{"title":2829,"path":2830,"stem":2831},"ArcCos","\u002Fdocs\u002Fapi\u002Fmath\u002Farccos","docs\u002F5.api\u002F08.math\u002Farccos",{"title":2833,"path":2834,"stem":2835},"ArcCot","\u002Fdocs\u002Fapi\u002Fmath\u002Farccot","docs\u002F5.api\u002F08.math\u002Farccot",{"title":2837,"path":2838,"stem":2839},"ArcSin","\u002Fdocs\u002Fapi\u002Fmath\u002Farcsin","docs\u002F5.api\u002F08.math\u002Farcsin",{"title":2841,"path":2842,"stem":2843},"ArcTan","\u002Fdocs\u002Fapi\u002Fmath\u002Farctan","docs\u002F5.api\u002F08.math\u002Farctan",{"title":2845,"path":2846,"stem":2847},"Cbrt","\u002Fdocs\u002Fapi\u002Fmath\u002Fcbrt","docs\u002F5.api\u002F08.math\u002Fcbrt",{"title":2849,"path":2850,"stem":2851},"Ceil","\u002Fdocs\u002Fapi\u002Fmath\u002Fceil","docs\u002F5.api\u002F08.math\u002Fceil",{"title":2853,"path":2854,"stem":2855},"Cos","\u002Fdocs\u002Fapi\u002Fmath\u002Fcos","docs\u002F5.api\u002F08.math\u002Fcos",{"title":2857,"path":2858,"stem":2859},"Cosh","\u002Fdocs\u002Fapi\u002Fmath\u002Fcosh","docs\u002F5.api\u002F08.math\u002Fcosh",{"title":2861,"path":2862,"stem":2863},"Cotan","\u002Fdocs\u002Fapi\u002Fmath\u002Fcotan","docs\u002F5.api\u002F08.math\u002Fcotan",{"title":2865,"path":2866,"stem":2867},"Cotanh","\u002Fdocs\u002Fapi\u002Fmath\u002Fcotanh","docs\u002F5.api\u002F08.math\u002Fcotanh",{"title":2869,"path":2870,"stem":2871},"DegToRad","\u002Fdocs\u002Fapi\u002Fmath\u002Fdegtorad","docs\u002F5.api\u002F08.math\u002Fdegtorad",{"title":2873,"path":2874,"stem":2875},"Exp","\u002Fdocs\u002Fapi\u002Fmath\u002Fexp","docs\u002F5.api\u002F08.math\u002Fexp",{"title":2877,"path":2878,"stem":2879},"Exp2","\u002Fdocs\u002Fapi\u002Fmath\u002Fexp2","docs\u002F5.api\u002F08.math\u002Fexp2",{"title":2881,"path":2882,"stem":2883},"Floor","\u002Fdocs\u002Fapi\u002Fmath\u002Ffloor","docs\u002F5.api\u002F08.math\u002Ffloor",{"title":2885,"path":2886,"stem":2887},"Hypot","\u002Fdocs\u002Fapi\u002Fmath\u002Fhypot","docs\u002F5.api\u002F08.math\u002Fhypot",{"title":2889,"path":2890,"stem":2891},"Log","\u002Fdocs\u002Fapi\u002Fmath\u002Flog","docs\u002F5.api\u002F08.math\u002Flog",{"title":2893,"path":2894,"stem":2895},"Log10","\u002Fdocs\u002Fapi\u002Fmath\u002Flog10","docs\u002F5.api\u002F08.math\u002Flog10",{"title":2897,"path":2898,"stem":2899},"Log2","\u002Fdocs\u002Fapi\u002Fmath\u002Flog2","docs\u002F5.api\u002F08.math\u002Flog2",{"title":2901,"path":2902,"stem":2903},"Max","\u002Fdocs\u002Fapi\u002Fmath\u002Fmax","docs\u002F5.api\u002F08.math\u002Fmax",{"title":2905,"path":2906,"stem":2907},"Min","\u002Fdocs\u002Fapi\u002Fmath\u002Fmin","docs\u002F5.api\u002F08.math\u002Fmin",{"title":2909,"path":2910,"stem":2911},"Mod","\u002Fdocs\u002Fapi\u002Fmath\u002Fmod","docs\u002F5.api\u002F08.math\u002Fmod",{"title":2913,"path":2914,"stem":2915},"Pow","\u002Fdocs\u002Fapi\u002Fmath\u002Fpow","docs\u002F5.api\u002F08.math\u002Fpow",{"title":2917,"path":2918,"stem":2919},"RadToDeg","\u002Fdocs\u002Fapi\u002Fmath\u002Fradtodeg","docs\u002F5.api\u002F08.math\u002Fradtodeg",{"title":2921,"path":2922,"stem":2923},"Round","\u002Fdocs\u002Fapi\u002Fmath\u002Fround","docs\u002F5.api\u002F08.math\u002Fround",{"title":2925,"path":2926,"stem":2927},"Sin","\u002Fdocs\u002Fapi\u002Fmath\u002Fsin","docs\u002F5.api\u002F08.math\u002Fsin",{"title":2929,"path":2930,"stem":2931},"Sinh","\u002Fdocs\u002Fapi\u002Fmath\u002Fsinh","docs\u002F5.api\u002F08.math\u002Fsinh",{"title":2933,"path":2934,"stem":2935},"Sqrt","\u002Fdocs\u002Fapi\u002Fmath\u002Fsqrt","docs\u002F5.api\u002F08.math\u002Fsqrt",{"title":2937,"path":2938,"stem":2939},"Tan","\u002Fdocs\u002Fapi\u002Fmath\u002Ftan","docs\u002F5.api\u002F08.math\u002Ftan",{"title":2941,"path":2942,"stem":2943},"Tanh","\u002Fdocs\u002Fapi\u002Fmath\u002Ftanh","docs\u002F5.api\u002F08.math\u002Ftanh",{"title":2945,"path":2946,"stem":2947},"Trunc","\u002Fdocs\u002Fapi\u002Fmath\u002Ftrunc","docs\u002F5.api\u002F08.math\u002Ftrunc",{"title":739,"path":2949,"stem":2950,"children":2951},"\u002Fdocs\u002Fapi\u002Fmemory","docs\u002F5.api\u002F09.memory\u002Findex",[2952,2953,2957,2961,2965,2969,2973,2977],{"title":49,"path":2949,"stem":2950},{"title":2954,"path":2955,"stem":2956},"Alloc","\u002Fdocs\u002Fapi\u002Fmemory\u002Falloc","docs\u002F5.api\u002F09.memory\u002Falloc",{"title":2958,"path":2959,"stem":2960},"Compare","\u002Fdocs\u002Fapi\u002Fmemory\u002Fcompare","docs\u002F5.api\u002F09.memory\u002Fcompare",{"title":2962,"path":2963,"stem":2964},"Copy","\u002Fdocs\u002Fapi\u002Fmemory\u002Fcopy","docs\u002F5.api\u002F09.memory\u002Fcopy",{"title":2966,"path":2967,"stem":2968},"Free","\u002Fdocs\u002Fapi\u002Fmemory\u002Ffree","docs\u002F5.api\u002F09.memory\u002Ffree",{"title":2970,"path":2971,"stem":2972},"Realloc","\u002Fdocs\u002Fapi\u002Fmemory\u002Frealloc","docs\u002F5.api\u002F09.memory\u002Frealloc",{"title":2974,"path":2975,"stem":2976},"Set","\u002Fdocs\u002Fapi\u002Fmemory\u002Fset","docs\u002F5.api\u002F09.memory\u002Fset",{"title":2978,"path":2979,"stem":2980},"Zero","\u002Fdocs\u002Fapi\u002Fmemory\u002Fzero","docs\u002F5.api\u002F09.memory\u002Fzero",{"title":2982,"path":2983,"stem":2984,"children":2985},"Core","\u002Fdocs\u002Fapi\u002Fcore","docs\u002F5.api\u002F10.core\u002Findex",[2986,2987,2991,2995,2999,3003,3006,3010,3013,3017,3021,3025,3029],{"title":49,"path":2983,"stem":2984},{"title":2988,"path":2989,"stem":2990},"Assert","\u002Fdocs\u002Fapi\u002Fcore\u002Fassert","docs\u002F5.api\u002F10.core\u002Fassert",{"title":2992,"path":2993,"stem":2994},"#build","\u002Fdocs\u002Fapi\u002Fcore\u002Fbuild","docs\u002F5.api\u002F10.core\u002Fbuild",{"title":2996,"path":2997,"stem":2998},"#compiler","\u002Fdocs\u002Fapi\u002Fcore\u002Fcompiler","docs\u002F5.api\u002F10.core\u002Fcompiler",{"title":3000,"path":3001,"stem":3002},"#config","\u002Fdocs\u002Fapi\u002Fcore\u002Fconfig","docs\u002F5.api\u002F10.core\u002Fconfig",{"title":1688,"path":3004,"stem":3005},"\u002Fdocs\u002Fapi\u002Fcore\u002Ferror","docs\u002F5.api\u002F10.core\u002Ferror",{"title":3007,"path":3008,"stem":3009},"Panic","\u002Fdocs\u002Fapi\u002Fcore\u002Fpanic","docs\u002F5.api\u002F10.core\u002Fpanic",{"title":1471,"path":3011,"stem":3012},"\u002Fdocs\u002Fapi\u002Fcore\u002Franges","docs\u002F5.api\u002F10.core\u002Franges",{"title":3014,"path":3015,"stem":3016},"Result","\u002Fdocs\u002Fapi\u002Fcore\u002Fresult","docs\u002F5.api\u002F10.core\u002Fresult",{"title":3018,"path":3019,"stem":3020},"Slice","\u002Fdocs\u002Fapi\u002Fcore\u002Fslice","docs\u002F5.api\u002F10.core\u002Fslice",{"title":3022,"path":3023,"stem":3024},"#source","\u002Fdocs\u002Fapi\u002Fcore\u002Fsource","docs\u002F5.api\u002F10.core\u002Fsource",{"title":3026,"path":3027,"stem":3028},"#target","\u002Fdocs\u002Fapi\u002Fcore\u002Ftarget","docs\u002F5.api\u002F10.core\u002Ftarget",{"title":1684,"path":3030,"stem":3031},"\u002Fdocs\u002Fapi\u002Fcore\u002Fwarn","docs\u002F5.api\u002F10.core\u002Fwarn",{"title":680,"path":3033,"stem":3034,"children":3035},"\u002Fdocs\u002Fapi\u002Ftext","docs\u002F5.api\u002F11.text\u002Findex",[3036,3037,3120,3176],{"title":49,"path":3033,"stem":3034},{"title":3038,"path":3039,"stem":3040,"children":3041},"String","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring","docs\u002F5.api\u002F11.text\u002F1.string\u002Findex",[3042,3043,3047,3051,3055,3059,3063,3067,3070,3074,3080,3084,3088,3092,3096,3100,3104,3108,3112,3116],{"title":49,"path":3039,"stem":3040},{"title":3044,"path":3045,"stem":3046},"At","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fat","docs\u002F5.api\u002F11.text\u002F1.string\u002F01.at",{"title":3048,"path":3049,"stem":3050},"Clone","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fclone","docs\u002F5.api\u002F11.text\u002F1.string\u002F02.clone",{"title":3052,"path":3053,"stem":3054},"Contains","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fcontains","docs\u002F5.api\u002F11.text\u002F1.string\u002F03.contains",{"title":3056,"path":3057,"stem":3058},"Data","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fdata","docs\u002F5.api\u002F11.text\u002F1.string\u002F04.data",{"title":3060,"path":3061,"stem":3062},"EndsWith","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fendswith","docs\u002F5.api\u002F11.text\u002F1.string\u002F05.endswith",{"title":3064,"path":3065,"stem":3066},"Equals","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fequals","docs\u002F5.api\u002F11.text\u002F1.string\u002F06.equals",{"title":2966,"path":3068,"stem":3069},"\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Ffree","docs\u002F5.api\u002F11.text\u002F1.string\u002F07.free",{"title":3071,"path":3072,"stem":3073},"From","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Ffrom","docs\u002F5.api\u002F11.text\u002F1.string\u002F08.from",{"title":3075,"path":3076,"stem":3077,"children":3078},"IndexOf","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Findexof","docs\u002F5.api\u002F11.text\u002F1.string\u002F09.indexof",[3079],{"title":3075,"path":3076,"stem":3077},{"title":3081,"path":3082,"stem":3083},"IsEmpty","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fisempty","docs\u002F5.api\u002F11.text\u002F1.string\u002F10.isempty",{"title":3085,"path":3086,"stem":3087},"Length","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Flength","docs\u002F5.api\u002F11.text\u002F1.string\u002F11.length",{"title":3089,"path":3090,"stem":3091},"New","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fnew","docs\u002F5.api\u002F11.text\u002F1.string\u002F12.new",{"title":3093,"path":3094,"stem":3095},"Repeat","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Frepeat","docs\u002F5.api\u002F11.text\u002F1.string\u002F13.repeat",{"title":3097,"path":3098,"stem":3099},"StartsWith","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fstartswith","docs\u002F5.api\u002F11.text\u002F1.string\u002F14.startswith",{"title":3101,"path":3102,"stem":3103},"Substring","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fsubstring","docs\u002F5.api\u002F11.text\u002F1.string\u002F15.substring",{"title":3105,"path":3106,"stem":3107},"ToLower","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Ftolower","docs\u002F5.api\u002F11.text\u002F1.string\u002F16.tolower",{"title":3109,"path":3110,"stem":3111},"ToUpper","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Ftoupper","docs\u002F5.api\u002F11.text\u002F1.string\u002F17.toupper",{"title":3113,"path":3114,"stem":3115},"Trim","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Ftrim","docs\u002F5.api\u002F11.text\u002F1.string\u002F18.trim",{"title":3117,"path":3118,"stem":3119},"+","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring\u002Fplus","docs\u002F5.api\u002F11.text\u002F1.string\u002F19.plus",{"title":3121,"path":3122,"stem":3123,"children":3124},"StringBuilder","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Findex",[3125,3126,3130,3134,3138,3141,3144,3148,3152,3155,3158,3161,3165,3169,3172],{"title":49,"path":3122,"stem":3123},{"title":3127,"path":3128,"stem":3129},"Append","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fappend","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fappend",{"title":3131,"path":3132,"stem":3133},"Capacity","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fcapacity","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fcapacity",{"title":3135,"path":3136,"stem":3137},"Clear","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fclear","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fclear",{"title":3056,"path":3139,"stem":3140},"\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fdata","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fdata",{"title":2966,"path":3142,"stem":3143},"\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Ffree","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Ffree",{"title":3145,"path":3146,"stem":3147},"Grow","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fgrow","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fgrow",{"title":3149,"path":3150,"stem":3151},"IntoString","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fintostring","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fintostring",{"title":3081,"path":3153,"stem":3154},"\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fisempty","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fisempty",{"title":3085,"path":3156,"stem":3157},"\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Flength","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Flength",{"title":3089,"path":3159,"stem":3160},"\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fnew","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fnew",{"title":3162,"path":3163,"stem":3164},"Reserve","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Freserve","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Freserve",{"title":3166,"path":3167,"stem":3168},"Shrink","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fshrink","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fshrink",{"title":2679,"path":3170,"stem":3171},"\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Ftostring","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Ftostring",{"title":3173,"path":3174,"stem":3175},"WithCapacity","\u002Fdocs\u002Fapi\u002Ftext\u002Fstringbuilder\u002Fwithcapacity","docs\u002F5.api\u002F11.text\u002F2.stringbuilder\u002Fwithcapacity",{"title":3177,"path":3178,"stem":3179},"IsSpace","\u002Fdocs\u002Fapi\u002Ftext\u002Fisspace","docs\u002F5.api\u002F11.text\u002F3.isspace",{"title":75,"path":3181,"stem":3182,"children":3183},"\u002Fdocs\u002Fapi\u002Fwindows","docs\u002F5.api\u002F12.windows\u002Findex",[3184,3185,3189,3193,3197,3201,3205,3209,3213,3217,3221,3225,3229,3233,3237,3241,3245,3249,3253,3257,3261,3265,3269,3273,3277,3281,3285,3289,3293,3297,3301,3305,3309,3313,3317,3321,3325,3329,3333,3337,3341,3345,3349,3353,3356,3360,3364,3368],{"title":49,"path":3181,"stem":3182},{"title":3186,"path":3187,"stem":3188},"AllocConsole","\u002Fdocs\u002Fapi\u002Fwindows\u002Fallocconsole","docs\u002F5.api\u002F12.windows\u002Fallocconsole",{"title":3190,"path":3191,"stem":3192},"Beep","\u002Fdocs\u002Fapi\u002Fwindows\u002Fbeep","docs\u002F5.api\u002F12.windows\u002Fbeep",{"title":3194,"path":3195,"stem":3196},"CloseHandle","\u002Fdocs\u002Fapi\u002Fwindows\u002Fclosehandle","docs\u002F5.api\u002F12.windows\u002Fclosehandle",{"title":3198,"path":3199,"stem":3200},"CodePage","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcodepage","docs\u002F5.api\u002F12.windows\u002Fcodepage",{"title":3202,"path":3203,"stem":3204},"CopyFileA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcopyfilea","docs\u002F5.api\u002F12.windows\u002Fcopyfilea",{"title":3206,"path":3207,"stem":3208},"CreateDirectoryA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcreatedirectorya","docs\u002F5.api\u002F12.windows\u002Fcreatedirectorya",{"title":3210,"path":3211,"stem":3212},"CreateFileA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcreatefilea","docs\u002F5.api\u002F12.windows\u002Fcreatefilea",{"title":3214,"path":3215,"stem":3216},"DeleteFileA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fdeletefilea","docs\u002F5.api\u002F12.windows\u002Fdeletefilea",{"title":3218,"path":3219,"stem":3220},"ExitProcess","\u002Fdocs\u002Fapi\u002Fwindows\u002Fexitprocess","docs\u002F5.api\u002F12.windows\u002Fexitprocess",{"title":3222,"path":3223,"stem":3224},"FindClose","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffindclose","docs\u002F5.api\u002F12.windows\u002Ffindclose",{"title":3226,"path":3227,"stem":3228},"FindFirstFileA","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffindfirstfilea","docs\u002F5.api\u002F12.windows\u002Ffindfirstfilea",{"title":3230,"path":3231,"stem":3232},"FindNextFileA","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffindnextfilea","docs\u002F5.api\u002F12.windows\u002Ffindnextfilea",{"title":3234,"path":3235,"stem":3236},"FreeLibrary","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffreelibrary","docs\u002F5.api\u002F12.windows\u002Ffreelibrary",{"title":3238,"path":3239,"stem":3240},"GetCurrentDirectoryA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetcurrentdirectorya","docs\u002F5.api\u002F12.windows\u002Fgetcurrentdirectorya",{"title":3242,"path":3243,"stem":3244},"GetCurrentProcessId","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetcurrentprocessid","docs\u002F5.api\u002F12.windows\u002Fgetcurrentprocessid",{"title":3246,"path":3247,"stem":3248},"GetCurrentThreadId","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetcurrentthreadid","docs\u002F5.api\u002F12.windows\u002Fgetcurrentthreadid",{"title":3250,"path":3251,"stem":3252},"GetFileAttributesA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetfileattributesa","docs\u002F5.api\u002F12.windows\u002Fgetfileattributesa",{"title":3254,"path":3255,"stem":3256},"GetFileSizeEx","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetfilesizeex","docs\u002F5.api\u002F12.windows\u002Fgetfilesizeex",{"title":3258,"path":3259,"stem":3260},"GetLastError","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetlasterror","docs\u002F5.api\u002F12.windows\u002Fgetlasterror",{"title":3262,"path":3263,"stem":3264},"GetLocalTime","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetlocaltime","docs\u002F5.api\u002F12.windows\u002Fgetlocaltime",{"title":3266,"path":3267,"stem":3268},"GetProcAddress","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetprocaddress","docs\u002F5.api\u002F12.windows\u002Fgetprocaddress",{"title":3270,"path":3271,"stem":3272},"GetProcessHeap","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetprocessheap","docs\u002F5.api\u002F12.windows\u002Fgetprocessheap",{"title":3274,"path":3275,"stem":3276},"GetStdHandle","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetstdhandle","docs\u002F5.api\u002F12.windows\u002Fgetstdhandle",{"title":3278,"path":3279,"stem":3280},"GetSystemTime","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgetsystemtime","docs\u002F5.api\u002F12.windows\u002Fgetsystemtime",{"title":3282,"path":3283,"stem":3284},"GetTickCount64","\u002Fdocs\u002Fapi\u002Fwindows\u002Fgettickcount64","docs\u002F5.api\u002F12.windows\u002Fgettickcount64",{"title":3286,"path":3287,"stem":3288},"HeapAlloc","\u002Fdocs\u002Fapi\u002Fwindows\u002Fheapalloc","docs\u002F5.api\u002F12.windows\u002Fheapalloc",{"title":3290,"path":3291,"stem":3292},"HeapFree","\u002Fdocs\u002Fapi\u002Fwindows\u002Fheapfree","docs\u002F5.api\u002F12.windows\u002Fheapfree",{"title":3294,"path":3295,"stem":3296},"HeapReAlloc","\u002Fdocs\u002Fapi\u002Fwindows\u002Fheaprealloc","docs\u002F5.api\u002F12.windows\u002Fheaprealloc",{"title":3298,"path":3299,"stem":3300},"LoadLibraryA","\u002Fdocs\u002Fapi\u002Fwindows\u002Floadlibrarya","docs\u002F5.api\u002F12.windows\u002Floadlibrarya",{"title":3302,"path":3303,"stem":3304},"MoveFileA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fmovefilea","docs\u002F5.api\u002F12.windows\u002Fmovefilea",{"title":3306,"path":3307,"stem":3308},"MultiByteToWideChar","\u002Fdocs\u002Fapi\u002Fwindows\u002Fmultibytetowidechar","docs\u002F5.api\u002F12.windows\u002Fmultibytetowidechar",{"title":3310,"path":3311,"stem":3312},"ReadConsoleA","\u002Fdocs\u002Fapi\u002Fwindows\u002Freadconsolea","docs\u002F5.api\u002F12.windows\u002Freadconsolea",{"title":3314,"path":3315,"stem":3316},"ReadFile","\u002Fdocs\u002Fapi\u002Fwindows\u002Freadfile","docs\u002F5.api\u002F12.windows\u002Freadfile",{"title":3318,"path":3319,"stem":3320},"RemoveDirectoryA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fremovedirectorya","docs\u002F5.api\u002F12.windows\u002Fremovedirectorya",{"title":3322,"path":3323,"stem":3324},"RtlCompareMemory","\u002Fdocs\u002Fapi\u002Fwindows\u002Frtlcomparememory","docs\u002F5.api\u002F12.windows\u002Frtlcomparememory",{"title":3326,"path":3327,"stem":3328},"RtlCopyMemory","\u002Fdocs\u002Fapi\u002Fwindows\u002Frtlcopymemory","docs\u002F5.api\u002F12.windows\u002Frtlcopymemory",{"title":3330,"path":3331,"stem":3332},"RtlFillMemory","\u002Fdocs\u002Fapi\u002Fwindows\u002Frtlfillmemory","docs\u002F5.api\u002F12.windows\u002Frtlfillmemory",{"title":3334,"path":3335,"stem":3336},"RtlZeroMemory","\u002Fdocs\u002Fapi\u002Fwindows\u002Frtlzeromemory","docs\u002F5.api\u002F12.windows\u002Frtlzeromemory",{"title":3338,"path":3339,"stem":3340},"SetCurrentDirectoryA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsetcurrentdirectorya","docs\u002F5.api\u002F12.windows\u002Fsetcurrentdirectorya",{"title":3342,"path":3343,"stem":3344},"SetFileAttributesA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsetfileattributesa","docs\u002F5.api\u002F12.windows\u002Fsetfileattributesa",{"title":3346,"path":3347,"stem":3348},"SetFilePointerEx","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsetfilepointerex","docs\u002F5.api\u002F12.windows\u002Fsetfilepointerex",{"title":3350,"path":3351,"stem":3352},"Sleep","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsleep","docs\u002F5.api\u002F12.windows\u002Fsleep",{"title":1953,"path":3354,"stem":3355},"\u002Fdocs\u002Fapi\u002Fwindows\u002Ftypes","docs\u002F5.api\u002F12.windows\u002Ftypes",{"title":3357,"path":3358,"stem":3359},"WideCharToMultiByte","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwidechartomultibyte","docs\u002F5.api\u002F12.windows\u002Fwidechartomultibyte",{"title":3361,"path":3362,"stem":3363},"WriteConsoleA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwriteconsolea","docs\u002F5.api\u002F12.windows\u002Fwriteconsolea",{"title":3365,"path":3366,"stem":3367},"WriteConsoleW","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwriteconsolew","docs\u002F5.api\u002F12.windows\u002Fwriteconsolew",{"title":3369,"path":3370,"stem":3371},"WriteFile","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwritefile","docs\u002F5.api\u002F12.windows\u002Fwritefile",{"title":3373,"path":3374,"stem":3375},"Download","\u002Fdownload","download",{"title":3377,"path":3378,"stem":3379},"Frequently Asked Questions","\u002Ffaq","faq",{"title":3381,"path":3382,"stem":3383},"Privacy Policy","\u002Fprivacy","privacy",{"title":3385,"path":3386,"stem":3387},"Security Policy","\u002Fsecurity","security",{"title":3389,"path":3390,"stem":3391},"Support","\u002Fsupport","support",{"title":3393,"path":3394,"stem":3395},"Terms of Use","\u002Fterms","terms",{"id":3397,"title":3398,"authors":3399,"body":3400,"category":3399,"date":3399,"description":6999,"extension":7000,"hideToc":29,"image":3399,"lesson":7001,"meta":7008,"navigation":7009,"path":1205,"seo":7010,"stem":1206,"__hash__":7011},"docs\u002Fdocs\u002F1.learn\u002F25.projects\u002F15.notes.md","Notes",null,{"type":3401,"value":3402,"toc":6986},"minimark",[3403,3407,3434,3437,3452,3457,3469,3510,3668,3672,3682,3904,3914,3918,3923,3998,4004,4008,4013,4250,4265,4269,4283,4424,4436,4440,4455,4577,4591,4665,4675,4679,4689,6766,6794,6798,6821,6829,6836,6840,6870,6884,6910,6914,6949,6953,6982],[3404,3405,3398],"h1",{"id":3406},"notes",[3408,3409,3410],"note",{},[3411,3412,3413,3417,3418,3422,3423,3422,3426,3429,3430,3433],"p",{},[3414,3415,3416],"strong",{},"You'll need",": Parts 1–21 — this project is the checkpoint for Data formats, and leans on ",[3419,3420,3421],"a",{"href":935},"File",", ",[3419,3424,3425],{"href":955},"Atomic file",[3419,3427,3428],{"href":1013},"JSON"," and ",[3419,3431,3432],{"href":1017},"Writing JSON",".",[3411,3435,3436],{},"A to-do list is only useful if it is still there tomorrow. This program keeps one as JSON in a file: it saves a list, loads it back as if it were a new session, adds a note, saves again, and then deals with the two things that go wrong with real files — one that someone damaged by hand, and one that is not there at all.",[3411,3438,3439,3440,3443,3444,3447,3448,3451],{},"It is the checkpoint for ",[3419,3441,3442],{"href":1006},"Part 21: Data formats",", and it brings together files from ",[3419,3445,3446],{"href":916},"Part 19",", JSON from Part 21, and the error handling of ",[3419,3449,3450],{"href":448},"Part 9"," at full strength: five different error types meet in one program.",[3453,3454,3456],"h2",{"id":3455},"how-it-is-put-together","How it is put together",[3411,3458,3459,3460,3464,3465,3468],{},"Each note is a small JSON object, ",[3461,3462,3463],"code",{},"{\"title\": \"...\", \"done\": false}",", and the list is a JSON array of them. Saving turns the tree of ",[3461,3466,3467],{},"JsonValue","s into text and writes it; loading reads the text and parses it back into a tree:",[3470,3471,3476],"pre",{"className":3472,"code":3473,"language":3474,"meta":3475,"style":3475},"language-mermaid shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","flowchart LR\n    tree[\"JsonValue tree\u003Cbr\u002F>in memory\"] -- \"Encode\u003Cbr\u002F>WriteValue, pretty\" --> text[\"JSON text\u003Cbr\u002F>String\"]\n    text -- \"Save\u003Cbr\u002F>WriteAtomically\" --> file[(\"Bin\u002Fnotes.json\")]\n    file -- \"Load\u003Cbr\u002F>Open, Size, ReadExact\" --> bytes[\"bytes\"]\n    bytes -- \"Parse\" --> tree\n","mermaid","",[3461,3477,3478,3486,3492,3498,3504],{"__ignoreMap":3475},[3479,3480,3483],"span",{"class":3481,"line":3482},"line",1,[3479,3484,3485],{},"flowchart LR\n",[3479,3487,3489],{"class":3481,"line":3488},2,[3479,3490,3491],{},"    tree[\"JsonValue tree\u003Cbr\u002F>in memory\"] -- \"Encode\u003Cbr\u002F>WriteValue, pretty\" --> text[\"JSON text\u003Cbr\u002F>String\"]\n",[3479,3493,3495],{"class":3481,"line":3494},3,[3479,3496,3497],{},"    text -- \"Save\u003Cbr\u002F>WriteAtomically\" --> file[(\"Bin\u002Fnotes.json\")]\n",[3479,3499,3501],{"class":3481,"line":3500},4,[3479,3502,3503],{},"    file -- \"Load\u003Cbr\u002F>Open, Size, ReadExact\" --> bytes[\"bytes\"]\n",[3479,3505,3507],{"class":3481,"line":3506},5,[3479,3508,3509],{},"    bytes -- \"Parse\" --> tree\n",[3511,3512,3513,3532],"table",{},[3514,3515,3516],"thead",{},[3517,3518,3519,3523,3526,3529],"tr",{},[3520,3521,3522],"th",{},"Function",[3520,3524,3525],{},"Its job",[3520,3527,3528],{},"Can fail with",[3520,3530,3531],{},"Lessons it uses",[3533,3534,3535,3558,3580,3599,3628,3648],"tbody",{},[3517,3536,3537,3543,3546,3551],{},[3538,3539,3540],"td",{},[3461,3541,3542],{},"Note",[3538,3544,3545],{},"Builds one note object",[3538,3547,3548],{},[3461,3549,3550],{},"TextError",[3538,3552,3553,3422,3555],{},[3419,3554,3432],{"href":1017},[3419,3556,3557],{"href":561},"Move",[3517,3559,3560,3565,3568,3573],{},[3538,3561,3562],{},[3461,3563,3564],{},"Encode",[3538,3566,3567],{},"Turns the tree into indented text",[3538,3569,3570],{},[3461,3571,3572],{},"FormatError",[3538,3574,3575,3422,3577],{},[3419,3576,3432],{"href":1017},[3419,3578,3579],{"href":704},"String builder",[3517,3581,3582,3587,3590,3595],{},[3538,3583,3584],{},[3461,3585,3586],{},"Save",[3538,3588,3589],{},"Replaces the file in one step",[3538,3591,3592],{},[3461,3593,3594],{},"IoError",[3538,3596,3597],{},[3419,3598,3425],{"href":955},[3517,3600,3601,3606,3609,3619],{},[3538,3602,3603],{},[3461,3604,3605],{},"Load",[3538,3607,3608],{},"Reads the whole file and parses it",[3538,3610,3611,3422,3613,3422,3616],{},[3461,3612,3594],{},[3461,3614,3615],{},"CollectionError",[3461,3617,3618],{},"JsonParseError",[3538,3620,3621,3422,3623,3422,3626],{},[3419,3622,3421],{"href":935},[3419,3624,3625],{"href":865},"Dynamic array",[3419,3627,3428],{"href":1013},[3517,3629,3630,3635,3638,3641],{},[3538,3631,3632],{},[3461,3633,3634],{},"PrintNotes",[3538,3636,3637],{},"Prints the list, tolerating missing members",[3538,3639,3640],{},"nothing",[3538,3642,3643,3422,3645],{},[3419,3644,3428],{"href":1013},[3419,3646,3647],{"href":751},"Out parameter",[3517,3649,3650,3654,3657,3660],{},[3538,3651,3652],{},[3461,3653,1395],{},[3538,3655,3656],{},"Two sessions, a damaged file, a missing file",[3538,3658,3659],{},"all five",[3538,3661,3662,3422,3665],{},[3419,3663,3664],{"href":495},"Error sum",[3419,3666,3667],{"href":530},"Typed pattern",[3453,3669,3671],{"id":3670},"building-a-note","Building a note",[3411,3673,3674,3675,3677,3678,3681],{},"A note is an object with two members. Building it can fail — copying text into a new ",[3461,3676,3038],{}," needs memory — so every step ends in ",[3461,3679,3680],{},"?",":",[3470,3683,3687],{"className":3684,"code":3685,"language":3686,"meta":3475,"style":3475},"language-rux shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","func Note(allocator: Allocator, title: char8[..], done: bool) -> JsonValue ! TextError {\n    var note = JsonValue::Object(allocator);\n    note.Insert(String::FromBytes(allocator, \"title\")?, JsonValue::Text(allocator, title)?);\n    note.Insert(String::FromBytes(allocator, \"done\")?, JsonValue::Boolean(allocator, done));\n    return \u003C-note;\n}\n","rux",[3461,3688,3689,3754,3781,3836,3885,3898],{"__ignoreMap":3475},[3479,3690,3691,3695,3699,3703,3707,3710,3714,3717,3720,3722,3725,3729,3731,3734,3736,3739,3742,3745,3748,3751],{"class":3481,"line":3482},[3479,3692,3694],{"class":3693},"smXKV","func",[3479,3696,3698],{"class":3697},"sptzg"," Note",[3479,3700,3702],{"class":3701},"sDi1i","(",[3479,3704,3706],{"class":3705},"sYR1E","allocator",[3479,3708,3709],{"class":3701},": ",[3479,3711,3713],{"class":3712},"sqZDx","Allocator",[3479,3715,3716],{"class":3701},",",[3479,3718,3719],{"class":3705}," title",[3479,3721,3709],{"class":3701},[3479,3723,3724],{"class":3712},"char8",[3479,3726,3728],{"class":3727},"sJT_S","[..]",[3479,3730,3716],{"class":3701},[3479,3732,3733],{"class":3705}," done",[3479,3735,3709],{"class":3701},[3479,3737,3738],{"class":3712},"bool",[3479,3740,3741],{"class":3701},")",[3479,3743,3744],{"class":3701}," ->",[3479,3746,3747],{"class":3693}," JsonValue",[3479,3749,3750],{"class":3727}," ! TextError ",[3479,3752,3753],{"class":3701},"{\n",[3479,3755,3756,3759,3762,3766,3768,3771,3774,3776,3778],{"class":3481,"line":3488},[3479,3757,3758],{"class":3693},"    var",[3479,3760,3761],{"class":3727}," note ",[3479,3763,3765],{"class":3764},"sCFbw","=",[3479,3767,3747],{"class":3727},[3479,3769,3770],{"class":3764},"::",[3479,3772,3773],{"class":3727},"Object",[3479,3775,3702],{"class":3701},[3479,3777,3706],{"class":3727},[3479,3779,3780],{"class":3701},");\n",[3479,3782,3783,3786,3788,3791,3793,3795,3797,3800,3802,3804,3806,3810,3812,3814,3816,3818,3820,3822,3824,3826,3828,3830,3832,3834],{"class":3481,"line":3494},[3479,3784,3785],{"class":3727},"    note",[3479,3787,3433],{"class":3764},[3479,3789,3790],{"class":3727},"Insert",[3479,3792,3702],{"class":3701},[3479,3794,3038],{"class":3727},[3479,3796,3770],{"class":3764},[3479,3798,3799],{"class":3727},"FromBytes",[3479,3801,3702],{"class":3701},[3479,3803,3706],{"class":3727},[3479,3805,3716],{"class":3701},[3479,3807,3809],{"class":3808},"sXpww"," \"title\"",[3479,3811,3741],{"class":3701},[3479,3813,3680],{"class":3764},[3479,3815,3716],{"class":3701},[3479,3817,3747],{"class":3727},[3479,3819,3770],{"class":3764},[3479,3821,680],{"class":3727},[3479,3823,3702],{"class":3701},[3479,3825,3706],{"class":3727},[3479,3827,3716],{"class":3701},[3479,3829,3719],{"class":3727},[3479,3831,3741],{"class":3701},[3479,3833,3680],{"class":3764},[3479,3835,3780],{"class":3701},[3479,3837,3838,3840,3842,3844,3846,3848,3850,3852,3854,3856,3858,3861,3863,3865,3867,3869,3871,3874,3876,3878,3880,3882],{"class":3481,"line":3500},[3479,3839,3785],{"class":3727},[3479,3841,3433],{"class":3764},[3479,3843,3790],{"class":3727},[3479,3845,3702],{"class":3701},[3479,3847,3038],{"class":3727},[3479,3849,3770],{"class":3764},[3479,3851,3799],{"class":3727},[3479,3853,3702],{"class":3701},[3479,3855,3706],{"class":3727},[3479,3857,3716],{"class":3701},[3479,3859,3860],{"class":3808}," \"done\"",[3479,3862,3741],{"class":3701},[3479,3864,3680],{"class":3764},[3479,3866,3716],{"class":3701},[3479,3868,3747],{"class":3727},[3479,3870,3770],{"class":3764},[3479,3872,3873],{"class":3727},"Boolean",[3479,3875,3702],{"class":3701},[3479,3877,3706],{"class":3727},[3479,3879,3716],{"class":3701},[3479,3881,3733],{"class":3727},[3479,3883,3884],{"class":3701},"));\n",[3479,3886,3887,3890,3893,3895],{"class":3481,"line":3506},[3479,3888,3889],{"class":3693},"    return",[3479,3891,3892],{"class":3764}," \u003C-",[3479,3894,3408],{"class":3727},[3479,3896,3897],{"class":3701},";\n",[3479,3899,3901],{"class":3481,"line":3900},6,[3479,3902,3903],{"class":3701},"}\n",[3411,3905,3906,3907,3909,3910,3913],{},"A ",[3461,3908,3467],{}," owns the memory of everything inside it, so it cannot be copied — only moved. ",[3461,3911,3912],{},"return \u003C-note;"," hands it to the caller.",[3453,3915,3917],{"id":3916},"saving-whole-or-not-at-all","Saving whole or not at all",[3411,3919,3920,3922],{},[3461,3921,3586],{}," is one call, and the call is the point:",[3470,3924,3926],{"className":3684,"code":3925,"language":3686,"meta":3475,"style":3475},"func Save(allocator: Allocator, path: Path, text: char8[..]) -> ! IoError {\n    WriteAtomically(allocator, path, text)?;\n}\n",[3461,3927,3928,3971,3994],{"__ignoreMap":3475},[3479,3929,3930,3932,3935,3937,3939,3941,3943,3945,3948,3950,3953,3955,3958,3960,3962,3964,3966,3969],{"class":3481,"line":3482},[3479,3931,3694],{"class":3693},[3479,3933,3934],{"class":3697}," Save",[3479,3936,3702],{"class":3701},[3479,3938,3706],{"class":3705},[3479,3940,3709],{"class":3701},[3479,3942,3713],{"class":3712},[3479,3944,3716],{"class":3701},[3479,3946,3947],{"class":3705}," path",[3479,3949,3709],{"class":3701},[3479,3951,3952],{"class":3712},"Path",[3479,3954,3716],{"class":3701},[3479,3956,3957],{"class":3705}," text",[3479,3959,3709],{"class":3701},[3479,3961,3724],{"class":3712},[3479,3963,3728],{"class":3727},[3479,3965,3741],{"class":3701},[3479,3967,3968],{"class":3727}," -> ! IoError ",[3479,3970,3753],{"class":3701},[3479,3972,3973,3976,3978,3980,3982,3984,3986,3988,3990,3992],{"class":3481,"line":3488},[3479,3974,3975],{"class":3727},"    WriteAtomically",[3479,3977,3702],{"class":3701},[3479,3979,3706],{"class":3727},[3479,3981,3716],{"class":3701},[3479,3983,3947],{"class":3727},[3479,3985,3716],{"class":3701},[3479,3987,3957],{"class":3727},[3479,3989,3741],{"class":3701},[3479,3991,3680],{"class":3764},[3479,3993,3897],{"class":3701},[3479,3995,3996],{"class":3481,"line":3494},[3479,3997,3903],{"class":3701},[3411,3999,4000,4003],{},[3461,4001,4002],{},"WriteAtomically"," writes the new text beside the old file and swaps it in only once it is complete. If the program crashes halfway through a save, the old list is still there, whole. Writing over the file directly would risk leaving half a list behind — the one outcome a notes file must never have.",[3453,4005,4007],{"id":4006},"loading-step-by-step","Loading, step by step",[3411,4009,4010,4012],{},[3461,4011,3605],{}," asks the file how big it is, reads exactly that many bytes into an array of that size, and parses them:",[3470,4014,4016],{"className":3684,"code":4015,"language":3686,"meta":3475,"style":3475},"func Load(allocator: Allocator, path: Path)\n    -> JsonValue ! (IoError | CollectionError | JsonParseError) {\n    var file = File::Open(allocator, path, OpenOptions::Reading())?;\n    let size = file.Size()?;\n    var bytes = Array::Filled\u003Cchar8>(allocator, size as uint, c8' ')?;\n    ReadExact(file, bytes.AsMutableSlice())?;\n    file.Close()?;\n    return Parse(allocator, bytes.AsSlice())?;\n}\n",[3461,4017,4018,4044,4056,4098,4123,4176,4202,4218,4245],{"__ignoreMap":3475},[3479,4019,4020,4022,4025,4027,4029,4031,4033,4035,4037,4039,4041],{"class":3481,"line":3482},[3479,4021,3694],{"class":3693},[3479,4023,4024],{"class":3697}," Load",[3479,4026,3702],{"class":3701},[3479,4028,3706],{"class":3705},[3479,4030,3709],{"class":3701},[3479,4032,3713],{"class":3712},[3479,4034,3716],{"class":3701},[3479,4036,3947],{"class":3705},[3479,4038,3709],{"class":3701},[3479,4040,3952],{"class":3712},[3479,4042,4043],{"class":3701},")\n",[3479,4045,4046,4049,4051,4054],{"class":3481,"line":3488},[3479,4047,4048],{"class":3701},"    ->",[3479,4050,3747],{"class":3693},[3479,4052,4053],{"class":3727}," ! (IoError | CollectionError | JsonParseError) ",[3479,4055,3753],{"class":3701},[3479,4057,4058,4060,4063,4065,4068,4070,4073,4075,4077,4079,4081,4083,4086,4088,4091,4094,4096],{"class":3481,"line":3494},[3479,4059,3758],{"class":3693},[3479,4061,4062],{"class":3727}," file ",[3479,4064,3765],{"class":3764},[3479,4066,4067],{"class":3727}," File",[3479,4069,3770],{"class":3764},[3479,4071,4072],{"class":3727},"Open",[3479,4074,3702],{"class":3701},[3479,4076,3706],{"class":3727},[3479,4078,3716],{"class":3701},[3479,4080,3947],{"class":3727},[3479,4082,3716],{"class":3701},[3479,4084,4085],{"class":3727}," OpenOptions",[3479,4087,3770],{"class":3764},[3479,4089,4090],{"class":3727},"Reading",[3479,4092,4093],{"class":3701},"())",[3479,4095,3680],{"class":3764},[3479,4097,3897],{"class":3701},[3479,4099,4100,4103,4106,4108,4111,4113,4116,4119,4121],{"class":3481,"line":3500},[3479,4101,4102],{"class":3693},"    let",[3479,4104,4105],{"class":3727}," size ",[3479,4107,3765],{"class":3764},[3479,4109,4110],{"class":3727}," file",[3479,4112,3433],{"class":3764},[3479,4114,4115],{"class":3727},"Size",[3479,4117,4118],{"class":3701},"()",[3479,4120,3680],{"class":3764},[3479,4122,3897],{"class":3701},[3479,4124,4125,4127,4130,4132,4135,4137,4140,4143,4145,4148,4150,4152,4154,4156,4159,4162,4164,4167,4170,4172,4174],{"class":3481,"line":3506},[3479,4126,3758],{"class":3693},[3479,4128,4129],{"class":3727}," bytes ",[3479,4131,3765],{"class":3764},[3479,4133,4134],{"class":3727}," Array",[3479,4136,3770],{"class":3764},[3479,4138,4139],{"class":3727},"Filled",[3479,4141,4142],{"class":3764},"\u003C",[3479,4144,3724],{"class":3712},[3479,4146,4147],{"class":3764},">",[3479,4149,3702],{"class":3701},[3479,4151,3706],{"class":3727},[3479,4153,3716],{"class":3701},[3479,4155,4105],{"class":3727},[3479,4157,4158],{"class":3764},"as",[3479,4160,4161],{"class":3712}," uint",[3479,4163,3716],{"class":3701},[3479,4165,4166],{"class":3693}," c8",[3479,4168,4169],{"class":3808},"' '",[3479,4171,3741],{"class":3701},[3479,4173,3680],{"class":3764},[3479,4175,3897],{"class":3701},[3479,4177,4178,4181,4183,4186,4188,4191,4193,4196,4198,4200],{"class":3481,"line":3900},[3479,4179,4180],{"class":3727},"    ReadExact",[3479,4182,3702],{"class":3701},[3479,4184,4185],{"class":3727},"file",[3479,4187,3716],{"class":3701},[3479,4189,4190],{"class":3727}," bytes",[3479,4192,3433],{"class":3764},[3479,4194,4195],{"class":3727},"AsMutableSlice",[3479,4197,4093],{"class":3701},[3479,4199,3680],{"class":3764},[3479,4201,3897],{"class":3701},[3479,4203,4205,4208,4210,4212,4214,4216],{"class":3481,"line":4204},7,[3479,4206,4207],{"class":3727},"    file",[3479,4209,3433],{"class":3764},[3479,4211,1913],{"class":3727},[3479,4213,4118],{"class":3701},[3479,4215,3680],{"class":3764},[3479,4217,3897],{"class":3701},[3479,4219,4221,4223,4226,4228,4230,4232,4234,4236,4239,4241,4243],{"class":3481,"line":4220},8,[3479,4222,3889],{"class":3693},[3479,4224,4225],{"class":3727}," Parse",[3479,4227,3702],{"class":3701},[3479,4229,3706],{"class":3727},[3479,4231,3716],{"class":3701},[3479,4233,4190],{"class":3727},[3479,4235,3433],{"class":3764},[3479,4237,4238],{"class":3727},"AsSlice",[3479,4240,4093],{"class":3701},[3479,4242,3680],{"class":3764},[3479,4244,3897],{"class":3701},[3479,4246,4248],{"class":3481,"line":4247},9,[3479,4249,3903],{"class":3701},[3411,4251,4252,4253,4255,4256,4258,4259,4261,4262,4264],{},"Each line can fail in its own way: opening and reading with an ",[3461,4254,3594],{},", allocating the array with a ",[3461,4257,3615],{},", parsing with a ",[3461,4260,3618],{},". The return type lists all three as a sum, and every ",[3461,4263,3680],{}," passes its error through unchanged.",[3453,4266,4268],{"id":4267},"reading-what-may-not-be-there","Reading what may not be there",[3411,4270,4271,4272,4274,4275,4278,4279,4282],{},"A file read from disk may have been edited by hand, so ",[3461,4273,3634],{}," does not assume a note has both members. ",[3461,4276,4277],{},"Find"," returns a pointer that is ",[3461,4280,4281],{},"null"," when the member is missing:",[3470,4284,4286],{"className":3684,"code":4285,"language":3686,"meta":3475,"style":3475},"let title = (*note).Find(StringView::FromValidated(\"title\"));\nlet flag = (*note).Find(StringView::FromValidated(\"done\"));\nvar done = false;\nif flag != null {\n    (*flag).AsBoolean(@done);\n}\n",[3461,4287,4288,4329,4365,4381,4396,4420],{"__ignoreMap":3475},[3479,4289,4290,4293,4296,4298,4301,4304,4306,4308,4310,4312,4314,4317,4319,4322,4324,4327],{"class":3481,"line":3482},[3479,4291,4292],{"class":3693},"let",[3479,4294,4295],{"class":3727}," title ",[3479,4297,3765],{"class":3764},[3479,4299,4300],{"class":3701}," (",[3479,4302,4303],{"class":3764},"*",[3479,4305,3408],{"class":3727},[3479,4307,3741],{"class":3701},[3479,4309,3433],{"class":3764},[3479,4311,4277],{"class":3727},[3479,4313,3702],{"class":3701},[3479,4315,4316],{"class":3727},"StringView",[3479,4318,3770],{"class":3764},[3479,4320,4321],{"class":3727},"FromValidated",[3479,4323,3702],{"class":3701},[3479,4325,4326],{"class":3808},"\"title\"",[3479,4328,3884],{"class":3701},[3479,4330,4331,4333,4336,4338,4340,4342,4344,4346,4348,4350,4352,4354,4356,4358,4360,4363],{"class":3481,"line":3488},[3479,4332,4292],{"class":3693},[3479,4334,4335],{"class":3727}," flag ",[3479,4337,3765],{"class":3764},[3479,4339,4300],{"class":3701},[3479,4341,4303],{"class":3764},[3479,4343,3408],{"class":3727},[3479,4345,3741],{"class":3701},[3479,4347,3433],{"class":3764},[3479,4349,4277],{"class":3727},[3479,4351,3702],{"class":3701},[3479,4353,4316],{"class":3727},[3479,4355,3770],{"class":3764},[3479,4357,4321],{"class":3727},[3479,4359,3702],{"class":3701},[3479,4361,4362],{"class":3808},"\"done\"",[3479,4364,3884],{"class":3701},[3479,4366,4367,4370,4373,4375,4379],{"class":3481,"line":3494},[3479,4368,4369],{"class":3693},"var",[3479,4371,4372],{"class":3727}," done ",[3479,4374,3765],{"class":3764},[3479,4376,4378],{"class":4377},"sRT_P"," false",[3479,4380,3897],{"class":3701},[3479,4382,4383,4385,4387,4390,4393],{"class":3481,"line":3500},[3479,4384,1348],{"class":3693},[3479,4386,4335],{"class":3727},[3479,4388,4389],{"class":3764},"!=",[3479,4391,4392],{"class":4377}," null",[3479,4394,4395],{"class":3701}," {\n",[3479,4397,4398,4401,4403,4406,4408,4410,4413,4415,4418],{"class":3481,"line":3506},[3479,4399,4400],{"class":3701},"    (",[3479,4402,4303],{"class":3764},[3479,4404,4405],{"class":3727},"flag",[3479,4407,3741],{"class":3701},[3479,4409,3433],{"class":3764},[3479,4411,4412],{"class":3727},"AsBoolean",[3479,4414,3702],{"class":3701},[3479,4416,4417],{"class":3727},"@done",[3479,4419,3780],{"class":3701},[3479,4421,4422],{"class":3481,"line":3900},[3479,4423,3903],{"class":3701},[3411,4425,4426,4428,4429,4432,4433,3433],{},[3461,4427,4412],{}," writes its answer through an out-parameter, and leaves ",[3461,4430,4431],{},"done"," alone if the member is not a boolean. A note with no title prints as ",[3461,4434,4435],{},"(untitled)",[3453,4437,4439],{"id":4438},"expected-failures-and-the-rest","Expected failures, and the rest",[3411,4441,4442,4444,4445,4447,4448,4451,4452,4454],{},[3461,4443,1395],{}," is declared to fail with all five error types, so ",[3461,4446,3680],{}," can pass anything up — and a failure then ends the program with status 1. But two failures are ",[3414,4449,4450],{},"expected",", and those are handled where they happen. A damaged file is a ",[3461,4453,3618],{},", which knows the byte where the text stopped making sense:",[3470,4456,4458],{"className":3684,"code":4457,"language":3686,"meta":3475,"style":3475},"match Load(allocator, path) {\n    .Success(_) => PrintLine(\"the damaged file loaded?\"),\n    .Failure(error: JsonParseError) =>\n        PrintLine(\"damaged file refused at byte {}: {}\", error.Offset(), error),\n    .Failure(error) => fail error\n}\n",[3461,4459,4460,4478,4507,4529,4556,4573],{"__ignoreMap":3475},[3479,4461,4462,4464,4466,4468,4470,4472,4474,4476],{"class":3481,"line":3482},[3479,4463,1368],{"class":3693},[3479,4465,4024],{"class":3727},[3479,4467,3702],{"class":3701},[3479,4469,3706],{"class":3727},[3479,4471,3716],{"class":3701},[3479,4473,3947],{"class":3727},[3479,4475,3741],{"class":3701},[3479,4477,4395],{"class":3701},[3479,4479,4480,4483,4486,4488,4491,4493,4496,4499,4501,4504],{"class":3481,"line":3488},[3479,4481,4482],{"class":3764},"    .",[3479,4484,4485],{"class":3727},"Success",[3479,4487,3702],{"class":3701},[3479,4489,4490],{"class":3727},"_",[3479,4492,3741],{"class":3701},[3479,4494,4495],{"class":3764}," =>",[3479,4497,4498],{"class":3727}," PrintLine",[3479,4500,3702],{"class":3701},[3479,4502,4503],{"class":3808},"\"the damaged file loaded?\"",[3479,4505,4506],{"class":3701},"),\n",[3479,4508,4509,4511,4514,4516,4519,4521,4524,4526],{"class":3481,"line":3494},[3479,4510,4482],{"class":3764},[3479,4512,4513],{"class":3727},"Failure",[3479,4515,3702],{"class":3701},[3479,4517,4518],{"class":3727},"error",[3479,4520,3681],{"class":3701},[3479,4522,4523],{"class":3727}," JsonParseError",[3479,4525,3741],{"class":3701},[3479,4527,4528],{"class":3764}," =>\n",[3479,4530,4531,4534,4536,4539,4541,4544,4546,4549,4552,4554],{"class":3481,"line":3500},[3479,4532,4533],{"class":3727},"        PrintLine",[3479,4535,3702],{"class":3701},[3479,4537,4538],{"class":3808},"\"damaged file refused at byte {}: {}\"",[3479,4540,3716],{"class":3701},[3479,4542,4543],{"class":3727}," error",[3479,4545,3433],{"class":3764},[3479,4547,4548],{"class":3727},"Offset",[3479,4550,4551],{"class":3701},"(),",[3479,4553,4543],{"class":3727},[3479,4555,4506],{"class":3701},[3479,4557,4558,4560,4562,4564,4566,4568,4570],{"class":3481,"line":3506},[3479,4559,4482],{"class":3764},[3479,4561,4513],{"class":3727},[3479,4563,3702],{"class":3701},[3479,4565,4518],{"class":3727},[3479,4567,3741],{"class":3701},[3479,4569,4495],{"class":3764},[3479,4571,4572],{"class":3727}," fail error\n",[3479,4574,4575],{"class":3481,"line":3900},[3479,4576,3903],{"class":3701},[3411,4578,4579,4580,4582,4583,4586,4587,4590],{},"A missing file is an ",[3461,4581,3594],{}," of kind ",[3461,4584,4585],{},"NotFound",", picked out with a typed pattern ",[3414,4588,4589],{},"and"," a guard. In a real program, that arm is where \"start a new, empty list\" would go:",[3470,4592,4594],{"className":3684,"code":4593,"language":3686,"meta":3475,"style":3475},".Failure(error: IoError) if error.kind == IoErrorKind::NotFound =>\n    PrintLine(\"no notes file any more: starting a new list would begin here\"),\n.Failure(error) => fail error\n",[3461,4595,4596,4637,4649],{"__ignoreMap":3475},[3479,4597,4598,4600,4602,4604,4606,4608,4611,4613,4616,4618,4620,4623,4626,4629,4631,4634],{"class":3481,"line":3482},[3479,4599,3433],{"class":3764},[3479,4601,4513],{"class":3727},[3479,4603,3702],{"class":3701},[3479,4605,4518],{"class":3727},[3479,4607,3681],{"class":3701},[3479,4609,4610],{"class":3727}," IoError",[3479,4612,3741],{"class":3701},[3479,4614,4615],{"class":3693}," if",[3479,4617,4543],{"class":3727},[3479,4619,3433],{"class":3764},[3479,4621,4622],{"class":3727},"kind ",[3479,4624,4625],{"class":3764},"==",[3479,4627,4628],{"class":3727}," IoErrorKind",[3479,4630,3770],{"class":3764},[3479,4632,4633],{"class":3727},"NotFound ",[3479,4635,4636],{"class":3764},"=>\n",[3479,4638,4639,4642,4644,4647],{"class":3481,"line":3488},[3479,4640,4641],{"class":3727},"    PrintLine",[3479,4643,3702],{"class":3701},[3479,4645,4646],{"class":3808},"\"no notes file any more: starting a new list would begin here\"",[3479,4648,4506],{"class":3701},[3479,4650,4651,4653,4655,4657,4659,4661,4663],{"class":3481,"line":3494},[3479,4652,3433],{"class":3764},[3479,4654,4513],{"class":3727},[3479,4656,3702],{"class":3701},[3479,4658,4518],{"class":3727},[3479,4660,3741],{"class":3701},[3479,4662,4495],{"class":3764},[3479,4664,4572],{"class":3727},[3411,4666,4667,4668,4671,4672,4674],{},"In both matches the last arm, ",[3461,4669,4670],{},".Failure(error) => fail error",", passes anything unexpected out of ",[3461,4673,1395],{},", which ends the program with status 1.",[3453,4676,4678],{"id":4677},"the-program","The program",[3411,4680,4681,4682,4688],{},"The whole lesson is one package in the ",[3419,4683,4687],{"href":4684,"rel":4685},"https:\u002F\u002Fgithub.com\u002Frux-lang\u002FExamples\u002Ftree\u002Fmain\u002FProjects\u002FNotes",[4686],"nofollow","Examples repository",". Its comments explain every step.",[3470,4690,4693],{"className":3684,"code":4691,"filename":4692,"language":3686,"meta":3475,"style":3475},"\u002F\u002F Notes: a to-do list that outlives the program, kept as JSON in a file.\n\u002F\u002F\n\u002F\u002F Each note is a small JSON object, `{\"title\": \"...\", \"done\": false}`, and the list is an array\n\u002F\u002F of them. Saving turns the tree of `JsonValue`s into text and writes it to disk; loading reads\n\u002F\u002F the text back and parses it into a tree again. Between the two, the program could stop and\n\u002F\u002F start a hundred times, which is the whole point of a file.\n\u002F\u002F\n\u002F\u002F A file is also where things go wrong. It may be missing, or it may hold something that is not\n\u002F\u002F JSON, perhaps because someone edited it by hand. Every step that touches the disk or parses\n\u002F\u002F text is fallible, and the program handles the two failures it expects — a damaged file and a\n\u002F\u002F missing one — while `?` hands anything stranger to `Main`, which then ends with status 1.\n\u002F\u002F\n\u002F\u002F The file lives in this package's `Bin\u002F` folder, and the program deletes it at the end.\nimport Allocator::{ Allocator, SystemAllocator };\nimport Collections::{ Array, CollectionError };\nimport FileSystem::{ DeleteFile, File, OpenOptions, WriteAtomically };\nimport Io::{ IoError, IoErrorKind, PrintLine, ReadExact };\nimport Json::{ JsonParseError, JsonStyle, JsonValue, Parse, WriteValue };\nimport Path::{ OsString, Path };\nimport Text::{ FormatError, String, StringBuilder, StringView, TextError, TextWriter };\n\nfunc Note(allocator: Allocator, title: char8[..], done: bool) -> JsonValue ! TextError {\n    var note = JsonValue::Object(allocator);\n    note.Insert(String::FromBytes(allocator, \"title\")?, JsonValue::Text(allocator, title)?);\n    note.Insert(String::FromBytes(allocator, \"done\")?, JsonValue::Boolean(allocator, done));\n    return \u003C-note;\n}\n\n\u002F\u002F Turns the notes into indented JSON text, ready to be written or shown.\nfunc Encode(allocator: Allocator, notes: &JsonValue) -> String ! FormatError {\n    var builder = StringBuilder(allocator);\n    let sink: &var TextWriter = builder;\n    WriteValue(sink, notes, JsonStyle::Pretty())?;\n    return builder.IntoString();\n}\n\n\u002F\u002F Writing atomically means the old file is replaced only once the new one is complete, so a\n\u002F\u002F crash halfway through a save can never leave half a list behind.\nfunc Save(allocator: Allocator, path: Path, text: char8[..]) -> ! IoError {\n    WriteAtomically(allocator, path, text)?;\n}\n\n\u002F\u002F Asks the file how big it is, reads exactly that many bytes, and parses them.\nfunc Load(allocator: Allocator, path: Path)\n    -> JsonValue ! (IoError | CollectionError | JsonParseError) {\n    var file = File::Open(allocator, path, OpenOptions::Reading())?;\n    let size = file.Size()?;\n    var bytes = Array::Filled\u003Cchar8>(allocator, size as uint, c8' ')?;\n    ReadExact(file, bytes.AsMutableSlice())?;\n    file.Close()?;\n    return Parse(allocator, bytes.AsSlice())?;\n}\n\n\u002F\u002F A note read from a file might lack a member, so each one is checked before it is read.\nfunc PrintNotes(notes: &JsonValue) {\n    for i in 0..notes.Length() {\n        let note = notes.At(i);\n        let title = (*note).Find(StringView::FromValidated(\"title\"));\n        let flag = (*note).Find(StringView::FromValidated(\"done\"));\n        var done = false;\n        if flag != null {\n            (*flag).AsBoolean(@done);\n        }\n        let mark = done ? \"x\" : \" \";\n        if title != null {\n            PrintLine(\"  [{}] {}\", mark, (*title).AsText());\n        } else {\n            PrintLine(\"  [{}] (untitled)\", mark);\n        }\n    }\n}\n\nfunc Main() -> ! (IoError | TextError | FormatError | CollectionError | JsonParseError) {\n    var system = SystemAllocator();\n    let allocator: Allocator = system;\n\n    var holder = OsString::FromText(allocator, \"Bin\u002Fnotes.json\")?;\n    let path = Path::FromView(holder.View());\n\n    \u002F\u002F The first session: start a list and save it.\n    var notes = JsonValue::Array(allocator);\n    notes.Push(Note(allocator, \"buy milk\", true)?);\n    notes.Push(Note(allocator, \"water the plants\", false)?);\n    let first = Encode(allocator, notes)?;\n    Save(allocator, path, first.View().Bytes())?;\n    PrintLine(\"saved {} notes to {}\", notes.Length(), path);\n\n    \u002F\u002F The next session knows nothing but the file: load it, add a note, save it again.\n    var loaded = Load(allocator, path)?;\n    loaded.Push(Note(allocator, \"write a Rux program\", false)?);\n    let second = Encode(allocator, loaded)?;\n    Save(allocator, path, second.View().Bytes())?;\n    PrintLine(\"added a note; the file now reads:\");\n    PrintLine(\"{}\", second);\n\n    \u002F\u002F And one more time, to read the list as a person would.\n    let final = Load(allocator, path)?;\n    PrintLine(\"{} notes:\", final.Length());\n    PrintNotes(final);\n\n    \u002F\u002F Someone edits the file by hand and cuts it short. Loading now fails as a parse error, which\n    \u002F\u002F says where the text stopped making sense.\n    Save(allocator, path, \"[{\\\"title\\\": \\\"half a note\\\"\")?;\n    match Load(allocator, path) {\n        .Success(_) => PrintLine(\"the damaged file loaded?\"),\n        .Failure(error: JsonParseError) =>\n            PrintLine(\"damaged file refused at byte {}: {}\", error.Offset(), error),\n        .Failure(error) => fail error\n    }\n\n    \u002F\u002F Clean up, then show that a missing file is told apart from every other I\u002FO failure.\n    DeleteFile(allocator, path)?;\n    match Load(allocator, path) {\n        .Success(_) => PrintLine(\"the deleted file loaded?\"),\n        .Failure(error: IoError) if error.kind == IoErrorKind::NotFound =>\n            PrintLine(\"no notes file any more: starting a new list would begin here\"),\n        .Failure(error) => fail error\n    }\n}\n","Src\u002FMain.rux",[3461,4694,4695,4701,4706,4711,4716,4721,4726,4730,4735,4740,4746,4752,4757,4763,4787,4808,4838,4867,4901,4923,4965,4972,5015,5036,5087,5134,5145,5150,5155,5161,5196,5214,5238,5268,5282,5287,5292,5298,5304,5343,5366,5371,5376,5382,5407,5418,5455,5476,5521,5544,5559,5584,5589,5594,5600,5618,5647,5670,5705,5740,5754,5768,5790,5796,5821,5834,5869,5880,5896,5901,5907,5912,5917,5932,5947,5967,5972,6004,6033,6038,6044,6067,6102,6134,6160,6196,6220,6225,6231,6257,6290,6317,6351,6363,6379,6384,6390,6416,6437,6450,6455,6461,6467,6511,6531,6555,6574,6597,6614,6619,6624,6630,6650,6669,6693,6728,6739,6756,6761],{"__ignoreMap":3475},[3479,4696,4697],{"class":3481,"line":3482},[3479,4698,4700],{"class":4699},"sY9YT","\u002F\u002F Notes: a to-do list that outlives the program, kept as JSON in a file.\n",[3479,4702,4703],{"class":3481,"line":3488},[3479,4704,4705],{"class":4699},"\u002F\u002F\n",[3479,4707,4708],{"class":3481,"line":3494},[3479,4709,4710],{"class":4699},"\u002F\u002F Each note is a small JSON object, `{\"title\": \"...\", \"done\": false}`, and the list is an array\n",[3479,4712,4713],{"class":3481,"line":3500},[3479,4714,4715],{"class":4699},"\u002F\u002F of them. Saving turns the tree of `JsonValue`s into text and writes it to disk; loading reads\n",[3479,4717,4718],{"class":3481,"line":3506},[3479,4719,4720],{"class":4699},"\u002F\u002F the text back and parses it into a tree again. Between the two, the program could stop and\n",[3479,4722,4723],{"class":3481,"line":3900},[3479,4724,4725],{"class":4699},"\u002F\u002F start a hundred times, which is the whole point of a file.\n",[3479,4727,4728],{"class":3481,"line":4204},[3479,4729,4705],{"class":4699},[3479,4731,4732],{"class":3481,"line":4220},[3479,4733,4734],{"class":4699},"\u002F\u002F A file is also where things go wrong. It may be missing, or it may hold something that is not\n",[3479,4736,4737],{"class":3481,"line":4247},[3479,4738,4739],{"class":4699},"\u002F\u002F JSON, perhaps because someone edited it by hand. Every step that touches the disk or parses\n",[3479,4741,4743],{"class":3481,"line":4742},10,[3479,4744,4745],{"class":4699},"\u002F\u002F text is fallible, and the program handles the two failures it expects — a damaged file and a\n",[3479,4747,4749],{"class":3481,"line":4748},11,[3479,4750,4751],{"class":4699},"\u002F\u002F missing one — while `?` hands anything stranger to `Main`, which then ends with status 1.\n",[3479,4753,4755],{"class":3481,"line":4754},12,[3479,4756,4705],{"class":4699},[3479,4758,4760],{"class":3481,"line":4759},13,[3479,4761,4762],{"class":4699},"\u002F\u002F The file lives in this package's `Bin\u002F` folder, and the program deletes it at the end.\n",[3479,4764,4766,4769,4772,4774,4777,4779,4781,4784],{"class":3481,"line":4765},14,[3479,4767,4768],{"class":3693},"import",[3479,4770,4771],{"class":3727}," Allocator",[3479,4773,3770],{"class":3764},[3479,4775,4776],{"class":3701},"{",[3479,4778,4771],{"class":3727},[3479,4780,3716],{"class":3701},[3479,4782,4783],{"class":3727}," SystemAllocator ",[3479,4785,4786],{"class":3701},"};\n",[3479,4788,4790,4792,4795,4797,4799,4801,4803,4806],{"class":3481,"line":4789},15,[3479,4791,4768],{"class":3693},[3479,4793,4794],{"class":3727}," Collections",[3479,4796,3770],{"class":3764},[3479,4798,4776],{"class":3701},[3479,4800,4134],{"class":3727},[3479,4802,3716],{"class":3701},[3479,4804,4805],{"class":3727}," CollectionError ",[3479,4807,4786],{"class":3701},[3479,4809,4811,4813,4816,4818,4820,4823,4825,4827,4829,4831,4833,4836],{"class":3481,"line":4810},16,[3479,4812,4768],{"class":3693},[3479,4814,4815],{"class":3727}," FileSystem",[3479,4817,3770],{"class":3764},[3479,4819,4776],{"class":3701},[3479,4821,4822],{"class":3727}," DeleteFile",[3479,4824,3716],{"class":3701},[3479,4826,4067],{"class":3727},[3479,4828,3716],{"class":3701},[3479,4830,4085],{"class":3727},[3479,4832,3716],{"class":3701},[3479,4834,4835],{"class":3727}," WriteAtomically ",[3479,4837,4786],{"class":3701},[3479,4839,4841,4843,4846,4848,4850,4852,4854,4856,4858,4860,4862,4865],{"class":3481,"line":4840},17,[3479,4842,4768],{"class":3693},[3479,4844,4845],{"class":3727}," Io",[3479,4847,3770],{"class":3764},[3479,4849,4776],{"class":3701},[3479,4851,4610],{"class":3727},[3479,4853,3716],{"class":3701},[3479,4855,4628],{"class":3727},[3479,4857,3716],{"class":3701},[3479,4859,4498],{"class":3727},[3479,4861,3716],{"class":3701},[3479,4863,4864],{"class":3727}," ReadExact ",[3479,4866,4786],{"class":3701},[3479,4868,4870,4872,4875,4877,4879,4881,4883,4886,4888,4890,4892,4894,4896,4899],{"class":3481,"line":4869},18,[3479,4871,4768],{"class":3693},[3479,4873,4874],{"class":3727}," Json",[3479,4876,3770],{"class":3764},[3479,4878,4776],{"class":3701},[3479,4880,4523],{"class":3727},[3479,4882,3716],{"class":3701},[3479,4884,4885],{"class":3727}," JsonStyle",[3479,4887,3716],{"class":3701},[3479,4889,3747],{"class":3727},[3479,4891,3716],{"class":3701},[3479,4893,4225],{"class":3727},[3479,4895,3716],{"class":3701},[3479,4897,4898],{"class":3727}," WriteValue ",[3479,4900,4786],{"class":3701},[3479,4902,4904,4906,4909,4911,4913,4916,4918,4921],{"class":3481,"line":4903},19,[3479,4905,4768],{"class":3693},[3479,4907,4908],{"class":3727}," Path",[3479,4910,3770],{"class":3764},[3479,4912,4776],{"class":3701},[3479,4914,4915],{"class":3727}," OsString",[3479,4917,3716],{"class":3701},[3479,4919,4920],{"class":3727}," Path ",[3479,4922,4786],{"class":3701},[3479,4924,4926,4928,4931,4933,4935,4938,4940,4943,4945,4948,4950,4953,4955,4958,4960,4963],{"class":3481,"line":4925},20,[3479,4927,4768],{"class":3693},[3479,4929,4930],{"class":3727}," Text",[3479,4932,3770],{"class":3764},[3479,4934,4776],{"class":3701},[3479,4936,4937],{"class":3727}," FormatError",[3479,4939,3716],{"class":3701},[3479,4941,4942],{"class":3727}," String",[3479,4944,3716],{"class":3701},[3479,4946,4947],{"class":3727}," StringBuilder",[3479,4949,3716],{"class":3701},[3479,4951,4952],{"class":3727}," StringView",[3479,4954,3716],{"class":3701},[3479,4956,4957],{"class":3727}," TextError",[3479,4959,3716],{"class":3701},[3479,4961,4962],{"class":3727}," TextWriter ",[3479,4964,4786],{"class":3701},[3479,4966,4968],{"class":3481,"line":4967},21,[3479,4969,4971],{"emptyLinePlaceholder":4970},true,"\n",[3479,4973,4975,4977,4979,4981,4983,4985,4987,4989,4991,4993,4995,4997,4999,5001,5003,5005,5007,5009,5011,5013],{"class":3481,"line":4974},22,[3479,4976,3694],{"class":3693},[3479,4978,3698],{"class":3697},[3479,4980,3702],{"class":3701},[3479,4982,3706],{"class":3705},[3479,4984,3709],{"class":3701},[3479,4986,3713],{"class":3712},[3479,4988,3716],{"class":3701},[3479,4990,3719],{"class":3705},[3479,4992,3709],{"class":3701},[3479,4994,3724],{"class":3712},[3479,4996,3728],{"class":3727},[3479,4998,3716],{"class":3701},[3479,5000,3733],{"class":3705},[3479,5002,3709],{"class":3701},[3479,5004,3738],{"class":3712},[3479,5006,3741],{"class":3701},[3479,5008,3744],{"class":3701},[3479,5010,3747],{"class":3693},[3479,5012,3750],{"class":3727},[3479,5014,3753],{"class":3701},[3479,5016,5018,5020,5022,5024,5026,5028,5030,5032,5034],{"class":3481,"line":5017},23,[3479,5019,3758],{"class":3693},[3479,5021,3761],{"class":3727},[3479,5023,3765],{"class":3764},[3479,5025,3747],{"class":3727},[3479,5027,3770],{"class":3764},[3479,5029,3773],{"class":3727},[3479,5031,3702],{"class":3701},[3479,5033,3706],{"class":3727},[3479,5035,3780],{"class":3701},[3479,5037,5039,5041,5043,5045,5047,5049,5051,5053,5055,5057,5059,5061,5063,5065,5067,5069,5071,5073,5075,5077,5079,5081,5083,5085],{"class":3481,"line":5038},24,[3479,5040,3785],{"class":3727},[3479,5042,3433],{"class":3764},[3479,5044,3790],{"class":3727},[3479,5046,3702],{"class":3701},[3479,5048,3038],{"class":3727},[3479,5050,3770],{"class":3764},[3479,5052,3799],{"class":3727},[3479,5054,3702],{"class":3701},[3479,5056,3706],{"class":3727},[3479,5058,3716],{"class":3701},[3479,5060,3809],{"class":3808},[3479,5062,3741],{"class":3701},[3479,5064,3680],{"class":3764},[3479,5066,3716],{"class":3701},[3479,5068,3747],{"class":3727},[3479,5070,3770],{"class":3764},[3479,5072,680],{"class":3727},[3479,5074,3702],{"class":3701},[3479,5076,3706],{"class":3727},[3479,5078,3716],{"class":3701},[3479,5080,3719],{"class":3727},[3479,5082,3741],{"class":3701},[3479,5084,3680],{"class":3764},[3479,5086,3780],{"class":3701},[3479,5088,5090,5092,5094,5096,5098,5100,5102,5104,5106,5108,5110,5112,5114,5116,5118,5120,5122,5124,5126,5128,5130,5132],{"class":3481,"line":5089},25,[3479,5091,3785],{"class":3727},[3479,5093,3433],{"class":3764},[3479,5095,3790],{"class":3727},[3479,5097,3702],{"class":3701},[3479,5099,3038],{"class":3727},[3479,5101,3770],{"class":3764},[3479,5103,3799],{"class":3727},[3479,5105,3702],{"class":3701},[3479,5107,3706],{"class":3727},[3479,5109,3716],{"class":3701},[3479,5111,3860],{"class":3808},[3479,5113,3741],{"class":3701},[3479,5115,3680],{"class":3764},[3479,5117,3716],{"class":3701},[3479,5119,3747],{"class":3727},[3479,5121,3770],{"class":3764},[3479,5123,3873],{"class":3727},[3479,5125,3702],{"class":3701},[3479,5127,3706],{"class":3727},[3479,5129,3716],{"class":3701},[3479,5131,3733],{"class":3727},[3479,5133,3884],{"class":3701},[3479,5135,5137,5139,5141,5143],{"class":3481,"line":5136},26,[3479,5138,3889],{"class":3693},[3479,5140,3892],{"class":3764},[3479,5142,3408],{"class":3727},[3479,5144,3897],{"class":3701},[3479,5146,5148],{"class":3481,"line":5147},27,[3479,5149,3903],{"class":3701},[3479,5151,5153],{"class":3481,"line":5152},28,[3479,5154,4971],{"emptyLinePlaceholder":4970},[3479,5156,5158],{"class":3481,"line":5157},29,[3479,5159,5160],{"class":4699},"\u002F\u002F Turns the notes into indented JSON text, ready to be written or shown.\n",[3479,5162,5164,5166,5169,5171,5173,5175,5177,5179,5182,5185,5187,5189,5191,5194],{"class":3481,"line":5163},30,[3479,5165,3694],{"class":3693},[3479,5167,5168],{"class":3697}," Encode",[3479,5170,3702],{"class":3701},[3479,5172,3706],{"class":3705},[3479,5174,3709],{"class":3701},[3479,5176,3713],{"class":3712},[3479,5178,3716],{"class":3701},[3479,5180,5181],{"class":3705}," notes",[3479,5183,5184],{"class":3727},": &JsonValue",[3479,5186,3741],{"class":3701},[3479,5188,3744],{"class":3701},[3479,5190,4942],{"class":3693},[3479,5192,5193],{"class":3727}," ! FormatError ",[3479,5195,3753],{"class":3701},[3479,5197,5199,5201,5204,5206,5208,5210,5212],{"class":3481,"line":5198},31,[3479,5200,3758],{"class":3693},[3479,5202,5203],{"class":3727}," builder ",[3479,5205,3765],{"class":3764},[3479,5207,4947],{"class":3727},[3479,5209,3702],{"class":3701},[3479,5211,3706],{"class":3727},[3479,5213,3780],{"class":3701},[3479,5215,5217,5219,5222,5224,5227,5229,5231,5233,5236],{"class":3481,"line":5216},32,[3479,5218,4102],{"class":3693},[3479,5220,5221],{"class":3727}," sink",[3479,5223,3681],{"class":3701},[3479,5225,5226],{"class":3764}," &",[3479,5228,4369],{"class":3693},[3479,5230,4962],{"class":3727},[3479,5232,3765],{"class":3764},[3479,5234,5235],{"class":3727}," builder",[3479,5237,3897],{"class":3701},[3479,5239,5241,5244,5246,5249,5251,5253,5255,5257,5259,5262,5264,5266],{"class":3481,"line":5240},33,[3479,5242,5243],{"class":3727},"    WriteValue",[3479,5245,3702],{"class":3701},[3479,5247,5248],{"class":3727},"sink",[3479,5250,3716],{"class":3701},[3479,5252,5181],{"class":3727},[3479,5254,3716],{"class":3701},[3479,5256,4885],{"class":3727},[3479,5258,3770],{"class":3764},[3479,5260,5261],{"class":3727},"Pretty",[3479,5263,4093],{"class":3701},[3479,5265,3680],{"class":3764},[3479,5267,3897],{"class":3701},[3479,5269,5271,5273,5275,5277,5279],{"class":3481,"line":5270},34,[3479,5272,3889],{"class":3693},[3479,5274,5235],{"class":3727},[3479,5276,3433],{"class":3764},[3479,5278,3149],{"class":3727},[3479,5280,5281],{"class":3701},"();\n",[3479,5283,5285],{"class":3481,"line":5284},35,[3479,5286,3903],{"class":3701},[3479,5288,5290],{"class":3481,"line":5289},36,[3479,5291,4971],{"emptyLinePlaceholder":4970},[3479,5293,5295],{"class":3481,"line":5294},37,[3479,5296,5297],{"class":4699},"\u002F\u002F Writing atomically means the old file is replaced only once the new one is complete, so a\n",[3479,5299,5301],{"class":3481,"line":5300},38,[3479,5302,5303],{"class":4699},"\u002F\u002F crash halfway through a save can never leave half a list behind.\n",[3479,5305,5307,5309,5311,5313,5315,5317,5319,5321,5323,5325,5327,5329,5331,5333,5335,5337,5339,5341],{"class":3481,"line":5306},39,[3479,5308,3694],{"class":3693},[3479,5310,3934],{"class":3697},[3479,5312,3702],{"class":3701},[3479,5314,3706],{"class":3705},[3479,5316,3709],{"class":3701},[3479,5318,3713],{"class":3712},[3479,5320,3716],{"class":3701},[3479,5322,3947],{"class":3705},[3479,5324,3709],{"class":3701},[3479,5326,3952],{"class":3712},[3479,5328,3716],{"class":3701},[3479,5330,3957],{"class":3705},[3479,5332,3709],{"class":3701},[3479,5334,3724],{"class":3712},[3479,5336,3728],{"class":3727},[3479,5338,3741],{"class":3701},[3479,5340,3968],{"class":3727},[3479,5342,3753],{"class":3701},[3479,5344,5346,5348,5350,5352,5354,5356,5358,5360,5362,5364],{"class":3481,"line":5345},40,[3479,5347,3975],{"class":3727},[3479,5349,3702],{"class":3701},[3479,5351,3706],{"class":3727},[3479,5353,3716],{"class":3701},[3479,5355,3947],{"class":3727},[3479,5357,3716],{"class":3701},[3479,5359,3957],{"class":3727},[3479,5361,3741],{"class":3701},[3479,5363,3680],{"class":3764},[3479,5365,3897],{"class":3701},[3479,5367,5369],{"class":3481,"line":5368},41,[3479,5370,3903],{"class":3701},[3479,5372,5374],{"class":3481,"line":5373},42,[3479,5375,4971],{"emptyLinePlaceholder":4970},[3479,5377,5379],{"class":3481,"line":5378},43,[3479,5380,5381],{"class":4699},"\u002F\u002F Asks the file how big it is, reads exactly that many bytes, and parses them.\n",[3479,5383,5385,5387,5389,5391,5393,5395,5397,5399,5401,5403,5405],{"class":3481,"line":5384},44,[3479,5386,3694],{"class":3693},[3479,5388,4024],{"class":3697},[3479,5390,3702],{"class":3701},[3479,5392,3706],{"class":3705},[3479,5394,3709],{"class":3701},[3479,5396,3713],{"class":3712},[3479,5398,3716],{"class":3701},[3479,5400,3947],{"class":3705},[3479,5402,3709],{"class":3701},[3479,5404,3952],{"class":3712},[3479,5406,4043],{"class":3701},[3479,5408,5410,5412,5414,5416],{"class":3481,"line":5409},45,[3479,5411,4048],{"class":3701},[3479,5413,3747],{"class":3693},[3479,5415,4053],{"class":3727},[3479,5417,3753],{"class":3701},[3479,5419,5421,5423,5425,5427,5429,5431,5433,5435,5437,5439,5441,5443,5445,5447,5449,5451,5453],{"class":3481,"line":5420},46,[3479,5422,3758],{"class":3693},[3479,5424,4062],{"class":3727},[3479,5426,3765],{"class":3764},[3479,5428,4067],{"class":3727},[3479,5430,3770],{"class":3764},[3479,5432,4072],{"class":3727},[3479,5434,3702],{"class":3701},[3479,5436,3706],{"class":3727},[3479,5438,3716],{"class":3701},[3479,5440,3947],{"class":3727},[3479,5442,3716],{"class":3701},[3479,5444,4085],{"class":3727},[3479,5446,3770],{"class":3764},[3479,5448,4090],{"class":3727},[3479,5450,4093],{"class":3701},[3479,5452,3680],{"class":3764},[3479,5454,3897],{"class":3701},[3479,5456,5458,5460,5462,5464,5466,5468,5470,5472,5474],{"class":3481,"line":5457},47,[3479,5459,4102],{"class":3693},[3479,5461,4105],{"class":3727},[3479,5463,3765],{"class":3764},[3479,5465,4110],{"class":3727},[3479,5467,3433],{"class":3764},[3479,5469,4115],{"class":3727},[3479,5471,4118],{"class":3701},[3479,5473,3680],{"class":3764},[3479,5475,3897],{"class":3701},[3479,5477,5479,5481,5483,5485,5487,5489,5491,5493,5495,5497,5499,5501,5503,5505,5507,5509,5511,5513,5515,5517,5519],{"class":3481,"line":5478},48,[3479,5480,3758],{"class":3693},[3479,5482,4129],{"class":3727},[3479,5484,3765],{"class":3764},[3479,5486,4134],{"class":3727},[3479,5488,3770],{"class":3764},[3479,5490,4139],{"class":3727},[3479,5492,4142],{"class":3764},[3479,5494,3724],{"class":3712},[3479,5496,4147],{"class":3764},[3479,5498,3702],{"class":3701},[3479,5500,3706],{"class":3727},[3479,5502,3716],{"class":3701},[3479,5504,4105],{"class":3727},[3479,5506,4158],{"class":3764},[3479,5508,4161],{"class":3712},[3479,5510,3716],{"class":3701},[3479,5512,4166],{"class":3693},[3479,5514,4169],{"class":3808},[3479,5516,3741],{"class":3701},[3479,5518,3680],{"class":3764},[3479,5520,3897],{"class":3701},[3479,5522,5524,5526,5528,5530,5532,5534,5536,5538,5540,5542],{"class":3481,"line":5523},49,[3479,5525,4180],{"class":3727},[3479,5527,3702],{"class":3701},[3479,5529,4185],{"class":3727},[3479,5531,3716],{"class":3701},[3479,5533,4190],{"class":3727},[3479,5535,3433],{"class":3764},[3479,5537,4195],{"class":3727},[3479,5539,4093],{"class":3701},[3479,5541,3680],{"class":3764},[3479,5543,3897],{"class":3701},[3479,5545,5547,5549,5551,5553,5555,5557],{"class":3481,"line":5546},50,[3479,5548,4207],{"class":3727},[3479,5550,3433],{"class":3764},[3479,5552,1913],{"class":3727},[3479,5554,4118],{"class":3701},[3479,5556,3680],{"class":3764},[3479,5558,3897],{"class":3701},[3479,5560,5562,5564,5566,5568,5570,5572,5574,5576,5578,5580,5582],{"class":3481,"line":5561},51,[3479,5563,3889],{"class":3693},[3479,5565,4225],{"class":3727},[3479,5567,3702],{"class":3701},[3479,5569,3706],{"class":3727},[3479,5571,3716],{"class":3701},[3479,5573,4190],{"class":3727},[3479,5575,3433],{"class":3764},[3479,5577,4238],{"class":3727},[3479,5579,4093],{"class":3701},[3479,5581,3680],{"class":3764},[3479,5583,3897],{"class":3701},[3479,5585,5587],{"class":3481,"line":5586},52,[3479,5588,3903],{"class":3701},[3479,5590,5592],{"class":3481,"line":5591},53,[3479,5593,4971],{"emptyLinePlaceholder":4970},[3479,5595,5597],{"class":3481,"line":5596},54,[3479,5598,5599],{"class":4699},"\u002F\u002F A note read from a file might lack a member, so each one is checked before it is read.\n",[3479,5601,5603,5605,5608,5610,5612,5614,5616],{"class":3481,"line":5602},55,[3479,5604,3694],{"class":3693},[3479,5606,5607],{"class":3697}," PrintNotes",[3479,5609,3702],{"class":3701},[3479,5611,3406],{"class":3705},[3479,5613,5184],{"class":3727},[3479,5615,3741],{"class":3701},[3479,5617,4395],{"class":3701},[3479,5619,5621,5624,5627,5630,5634,5637,5639,5641,5643,5645],{"class":3481,"line":5620},56,[3479,5622,5623],{"class":3693},"    for",[3479,5625,5626],{"class":3727}," i ",[3479,5628,5629],{"class":3693},"in",[3479,5631,5633],{"class":5632},"snhBn"," 0",[3479,5635,5636],{"class":3764},"..",[3479,5638,3406],{"class":3727},[3479,5640,3433],{"class":3764},[3479,5642,3085],{"class":3727},[3479,5644,4118],{"class":3701},[3479,5646,4395],{"class":3701},[3479,5648,5650,5653,5655,5657,5659,5661,5663,5665,5668],{"class":3481,"line":5649},57,[3479,5651,5652],{"class":3693},"        let",[3479,5654,3761],{"class":3727},[3479,5656,3765],{"class":3764},[3479,5658,5181],{"class":3727},[3479,5660,3433],{"class":3764},[3479,5662,3044],{"class":3727},[3479,5664,3702],{"class":3701},[3479,5666,5667],{"class":3727},"i",[3479,5669,3780],{"class":3701},[3479,5671,5673,5675,5677,5679,5681,5683,5685,5687,5689,5691,5693,5695,5697,5699,5701,5703],{"class":3481,"line":5672},58,[3479,5674,5652],{"class":3693},[3479,5676,4295],{"class":3727},[3479,5678,3765],{"class":3764},[3479,5680,4300],{"class":3701},[3479,5682,4303],{"class":3764},[3479,5684,3408],{"class":3727},[3479,5686,3741],{"class":3701},[3479,5688,3433],{"class":3764},[3479,5690,4277],{"class":3727},[3479,5692,3702],{"class":3701},[3479,5694,4316],{"class":3727},[3479,5696,3770],{"class":3764},[3479,5698,4321],{"class":3727},[3479,5700,3702],{"class":3701},[3479,5702,4326],{"class":3808},[3479,5704,3884],{"class":3701},[3479,5706,5708,5710,5712,5714,5716,5718,5720,5722,5724,5726,5728,5730,5732,5734,5736,5738],{"class":3481,"line":5707},59,[3479,5709,5652],{"class":3693},[3479,5711,4335],{"class":3727},[3479,5713,3765],{"class":3764},[3479,5715,4300],{"class":3701},[3479,5717,4303],{"class":3764},[3479,5719,3408],{"class":3727},[3479,5721,3741],{"class":3701},[3479,5723,3433],{"class":3764},[3479,5725,4277],{"class":3727},[3479,5727,3702],{"class":3701},[3479,5729,4316],{"class":3727},[3479,5731,3770],{"class":3764},[3479,5733,4321],{"class":3727},[3479,5735,3702],{"class":3701},[3479,5737,4362],{"class":3808},[3479,5739,3884],{"class":3701},[3479,5741,5743,5746,5748,5750,5752],{"class":3481,"line":5742},60,[3479,5744,5745],{"class":3693},"        var",[3479,5747,4372],{"class":3727},[3479,5749,3765],{"class":3764},[3479,5751,4378],{"class":4377},[3479,5753,3897],{"class":3701},[3479,5755,5757,5760,5762,5764,5766],{"class":3481,"line":5756},61,[3479,5758,5759],{"class":3693},"        if",[3479,5761,4335],{"class":3727},[3479,5763,4389],{"class":3764},[3479,5765,4392],{"class":4377},[3479,5767,4395],{"class":3701},[3479,5769,5771,5774,5776,5778,5780,5782,5784,5786,5788],{"class":3481,"line":5770},62,[3479,5772,5773],{"class":3701},"            (",[3479,5775,4303],{"class":3764},[3479,5777,4405],{"class":3727},[3479,5779,3741],{"class":3701},[3479,5781,3433],{"class":3764},[3479,5783,4412],{"class":3727},[3479,5785,3702],{"class":3701},[3479,5787,4417],{"class":3727},[3479,5789,3780],{"class":3701},[3479,5791,5793],{"class":3481,"line":5792},63,[3479,5794,5795],{"class":3701},"        }\n",[3479,5797,5799,5801,5804,5806,5808,5810,5813,5816,5819],{"class":3481,"line":5798},64,[3479,5800,5652],{"class":3693},[3479,5802,5803],{"class":3727}," mark ",[3479,5805,3765],{"class":3764},[3479,5807,4372],{"class":3727},[3479,5809,3680],{"class":3764},[3479,5811,5812],{"class":3808}," \"x\"",[3479,5814,5815],{"class":3701}," :",[3479,5817,5818],{"class":3808}," \" \"",[3479,5820,3897],{"class":3701},[3479,5822,5824,5826,5828,5830,5832],{"class":3481,"line":5823},65,[3479,5825,5759],{"class":3693},[3479,5827,4295],{"class":3727},[3479,5829,4389],{"class":3764},[3479,5831,4392],{"class":4377},[3479,5833,4395],{"class":3701},[3479,5835,5837,5840,5842,5845,5847,5850,5852,5854,5856,5859,5861,5863,5866],{"class":3481,"line":5836},66,[3479,5838,5839],{"class":3727},"            PrintLine",[3479,5841,3702],{"class":3701},[3479,5843,5844],{"class":3808},"\"  [{}] {}\"",[3479,5846,3716],{"class":3701},[3479,5848,5849],{"class":3727}," mark",[3479,5851,3716],{"class":3701},[3479,5853,4300],{"class":3701},[3479,5855,4303],{"class":3764},[3479,5857,5858],{"class":3727},"title",[3479,5860,3741],{"class":3701},[3479,5862,3433],{"class":3764},[3479,5864,5865],{"class":3727},"AsText",[3479,5867,5868],{"class":3701},"());\n",[3479,5870,5872,5875,5878],{"class":3481,"line":5871},67,[3479,5873,5874],{"class":3701},"        }",[3479,5876,5877],{"class":3693}," else",[3479,5879,4395],{"class":3701},[3479,5881,5883,5885,5887,5890,5892,5894],{"class":3481,"line":5882},68,[3479,5884,5839],{"class":3727},[3479,5886,3702],{"class":3701},[3479,5888,5889],{"class":3808},"\"  [{}] (untitled)\"",[3479,5891,3716],{"class":3701},[3479,5893,5849],{"class":3727},[3479,5895,3780],{"class":3701},[3479,5897,5899],{"class":3481,"line":5898},69,[3479,5900,5795],{"class":3701},[3479,5902,5904],{"class":3481,"line":5903},70,[3479,5905,5906],{"class":3701},"    }\n",[3479,5908,5910],{"class":3481,"line":5909},71,[3479,5911,3903],{"class":3701},[3479,5913,5915],{"class":3481,"line":5914},72,[3479,5916,4971],{"emptyLinePlaceholder":4970},[3479,5918,5920,5922,5925,5927,5930],{"class":3481,"line":5919},73,[3479,5921,3694],{"class":3693},[3479,5923,5924],{"class":3697}," Main",[3479,5926,4118],{"class":3701},[3479,5928,5929],{"class":3727}," -> ! (IoError | TextError | FormatError | CollectionError | JsonParseError) ",[3479,5931,3753],{"class":3701},[3479,5933,5935,5937,5940,5942,5945],{"class":3481,"line":5934},74,[3479,5936,3758],{"class":3693},[3479,5938,5939],{"class":3727}," system ",[3479,5941,3765],{"class":3764},[3479,5943,5944],{"class":3727}," SystemAllocator",[3479,5946,5281],{"class":3701},[3479,5948,5950,5952,5955,5957,5960,5962,5965],{"class":3481,"line":5949},75,[3479,5951,4102],{"class":3693},[3479,5953,5954],{"class":3727}," allocator",[3479,5956,3681],{"class":3701},[3479,5958,5959],{"class":3727}," Allocator ",[3479,5961,3765],{"class":3764},[3479,5963,5964],{"class":3727}," system",[3479,5966,3897],{"class":3701},[3479,5968,5970],{"class":3481,"line":5969},76,[3479,5971,4971],{"emptyLinePlaceholder":4970},[3479,5973,5975,5977,5980,5982,5984,5986,5989,5991,5993,5995,5998,6000,6002],{"class":3481,"line":5974},77,[3479,5976,3758],{"class":3693},[3479,5978,5979],{"class":3727}," holder ",[3479,5981,3765],{"class":3764},[3479,5983,4915],{"class":3727},[3479,5985,3770],{"class":3764},[3479,5987,5988],{"class":3727},"FromText",[3479,5990,3702],{"class":3701},[3479,5992,3706],{"class":3727},[3479,5994,3716],{"class":3701},[3479,5996,5997],{"class":3808}," \"Bin\u002Fnotes.json\"",[3479,5999,3741],{"class":3701},[3479,6001,3680],{"class":3764},[3479,6003,3897],{"class":3701},[3479,6005,6007,6009,6012,6014,6016,6018,6021,6023,6026,6028,6031],{"class":3481,"line":6006},78,[3479,6008,4102],{"class":3693},[3479,6010,6011],{"class":3727}," path ",[3479,6013,3765],{"class":3764},[3479,6015,4908],{"class":3727},[3479,6017,3770],{"class":3764},[3479,6019,6020],{"class":3727},"FromView",[3479,6022,3702],{"class":3701},[3479,6024,6025],{"class":3727},"holder",[3479,6027,3433],{"class":3764},[3479,6029,6030],{"class":3727},"View",[3479,6032,5868],{"class":3701},[3479,6034,6036],{"class":3481,"line":6035},79,[3479,6037,4971],{"emptyLinePlaceholder":4970},[3479,6039,6041],{"class":3481,"line":6040},80,[3479,6042,6043],{"class":4699},"    \u002F\u002F The first session: start a list and save it.\n",[3479,6045,6047,6049,6052,6054,6056,6058,6061,6063,6065],{"class":3481,"line":6046},81,[3479,6048,3758],{"class":3693},[3479,6050,6051],{"class":3727}," notes ",[3479,6053,3765],{"class":3764},[3479,6055,3747],{"class":3727},[3479,6057,3770],{"class":3764},[3479,6059,6060],{"class":3727},"Array",[3479,6062,3702],{"class":3701},[3479,6064,3706],{"class":3727},[3479,6066,3780],{"class":3701},[3479,6068,6070,6073,6075,6078,6080,6082,6084,6086,6088,6091,6093,6096,6098,6100],{"class":3481,"line":6069},82,[3479,6071,6072],{"class":3727},"    notes",[3479,6074,3433],{"class":3764},[3479,6076,6077],{"class":3727},"Push",[3479,6079,3702],{"class":3701},[3479,6081,3542],{"class":3727},[3479,6083,3702],{"class":3701},[3479,6085,3706],{"class":3727},[3479,6087,3716],{"class":3701},[3479,6089,6090],{"class":3808}," \"buy milk\"",[3479,6092,3716],{"class":3701},[3479,6094,6095],{"class":4377}," true",[3479,6097,3741],{"class":3701},[3479,6099,3680],{"class":3764},[3479,6101,3780],{"class":3701},[3479,6103,6105,6107,6109,6111,6113,6115,6117,6119,6121,6124,6126,6128,6130,6132],{"class":3481,"line":6104},83,[3479,6106,6072],{"class":3727},[3479,6108,3433],{"class":3764},[3479,6110,6077],{"class":3727},[3479,6112,3702],{"class":3701},[3479,6114,3542],{"class":3727},[3479,6116,3702],{"class":3701},[3479,6118,3706],{"class":3727},[3479,6120,3716],{"class":3701},[3479,6122,6123],{"class":3808}," \"water the plants\"",[3479,6125,3716],{"class":3701},[3479,6127,4378],{"class":4377},[3479,6129,3741],{"class":3701},[3479,6131,3680],{"class":3764},[3479,6133,3780],{"class":3701},[3479,6135,6137,6139,6142,6144,6146,6148,6150,6152,6154,6156,6158],{"class":3481,"line":6136},84,[3479,6138,4102],{"class":3693},[3479,6140,6141],{"class":3727}," first ",[3479,6143,3765],{"class":3764},[3479,6145,5168],{"class":3727},[3479,6147,3702],{"class":3701},[3479,6149,3706],{"class":3727},[3479,6151,3716],{"class":3701},[3479,6153,5181],{"class":3727},[3479,6155,3741],{"class":3701},[3479,6157,3680],{"class":3764},[3479,6159,3897],{"class":3701},[3479,6161,6163,6166,6168,6170,6172,6174,6176,6179,6181,6183,6185,6187,6190,6192,6194],{"class":3481,"line":6162},85,[3479,6164,6165],{"class":3727},"    Save",[3479,6167,3702],{"class":3701},[3479,6169,3706],{"class":3727},[3479,6171,3716],{"class":3701},[3479,6173,3947],{"class":3727},[3479,6175,3716],{"class":3701},[3479,6177,6178],{"class":3727}," first",[3479,6180,3433],{"class":3764},[3479,6182,6030],{"class":3727},[3479,6184,4118],{"class":3701},[3479,6186,3433],{"class":3764},[3479,6188,6189],{"class":3727},"Bytes",[3479,6191,4093],{"class":3701},[3479,6193,3680],{"class":3764},[3479,6195,3897],{"class":3701},[3479,6197,6199,6201,6203,6206,6208,6210,6212,6214,6216,6218],{"class":3481,"line":6198},86,[3479,6200,4641],{"class":3727},[3479,6202,3702],{"class":3701},[3479,6204,6205],{"class":3808},"\"saved {} notes to {}\"",[3479,6207,3716],{"class":3701},[3479,6209,5181],{"class":3727},[3479,6211,3433],{"class":3764},[3479,6213,3085],{"class":3727},[3479,6215,4551],{"class":3701},[3479,6217,3947],{"class":3727},[3479,6219,3780],{"class":3701},[3479,6221,6223],{"class":3481,"line":6222},87,[3479,6224,4971],{"emptyLinePlaceholder":4970},[3479,6226,6228],{"class":3481,"line":6227},88,[3479,6229,6230],{"class":4699},"    \u002F\u002F The next session knows nothing but the file: load it, add a note, save it again.\n",[3479,6232,6234,6236,6239,6241,6243,6245,6247,6249,6251,6253,6255],{"class":3481,"line":6233},89,[3479,6235,3758],{"class":3693},[3479,6237,6238],{"class":3727}," loaded ",[3479,6240,3765],{"class":3764},[3479,6242,4024],{"class":3727},[3479,6244,3702],{"class":3701},[3479,6246,3706],{"class":3727},[3479,6248,3716],{"class":3701},[3479,6250,3947],{"class":3727},[3479,6252,3741],{"class":3701},[3479,6254,3680],{"class":3764},[3479,6256,3897],{"class":3701},[3479,6258,6260,6263,6265,6267,6269,6271,6273,6275,6277,6280,6282,6284,6286,6288],{"class":3481,"line":6259},90,[3479,6261,6262],{"class":3727},"    loaded",[3479,6264,3433],{"class":3764},[3479,6266,6077],{"class":3727},[3479,6268,3702],{"class":3701},[3479,6270,3542],{"class":3727},[3479,6272,3702],{"class":3701},[3479,6274,3706],{"class":3727},[3479,6276,3716],{"class":3701},[3479,6278,6279],{"class":3808}," \"write a Rux program\"",[3479,6281,3716],{"class":3701},[3479,6283,4378],{"class":4377},[3479,6285,3741],{"class":3701},[3479,6287,3680],{"class":3764},[3479,6289,3780],{"class":3701},[3479,6291,6293,6295,6298,6300,6302,6304,6306,6308,6311,6313,6315],{"class":3481,"line":6292},91,[3479,6294,4102],{"class":3693},[3479,6296,6297],{"class":3727}," second ",[3479,6299,3765],{"class":3764},[3479,6301,5168],{"class":3727},[3479,6303,3702],{"class":3701},[3479,6305,3706],{"class":3727},[3479,6307,3716],{"class":3701},[3479,6309,6310],{"class":3727}," loaded",[3479,6312,3741],{"class":3701},[3479,6314,3680],{"class":3764},[3479,6316,3897],{"class":3701},[3479,6318,6320,6322,6324,6326,6328,6330,6332,6335,6337,6339,6341,6343,6345,6347,6349],{"class":3481,"line":6319},92,[3479,6321,6165],{"class":3727},[3479,6323,3702],{"class":3701},[3479,6325,3706],{"class":3727},[3479,6327,3716],{"class":3701},[3479,6329,3947],{"class":3727},[3479,6331,3716],{"class":3701},[3479,6333,6334],{"class":3727}," second",[3479,6336,3433],{"class":3764},[3479,6338,6030],{"class":3727},[3479,6340,4118],{"class":3701},[3479,6342,3433],{"class":3764},[3479,6344,6189],{"class":3727},[3479,6346,4093],{"class":3701},[3479,6348,3680],{"class":3764},[3479,6350,3897],{"class":3701},[3479,6352,6354,6356,6358,6361],{"class":3481,"line":6353},93,[3479,6355,4641],{"class":3727},[3479,6357,3702],{"class":3701},[3479,6359,6360],{"class":3808},"\"added a note; the file now reads:\"",[3479,6362,3780],{"class":3701},[3479,6364,6366,6368,6370,6373,6375,6377],{"class":3481,"line":6365},94,[3479,6367,4641],{"class":3727},[3479,6369,3702],{"class":3701},[3479,6371,6372],{"class":3808},"\"{}\"",[3479,6374,3716],{"class":3701},[3479,6376,6334],{"class":3727},[3479,6378,3780],{"class":3701},[3479,6380,6382],{"class":3481,"line":6381},95,[3479,6383,4971],{"emptyLinePlaceholder":4970},[3479,6385,6387],{"class":3481,"line":6386},96,[3479,6388,6389],{"class":4699},"    \u002F\u002F And one more time, to read the list as a person would.\n",[3479,6391,6393,6395,6398,6400,6402,6404,6406,6408,6410,6412,6414],{"class":3481,"line":6392},97,[3479,6394,4102],{"class":3693},[3479,6396,6397],{"class":3727}," final ",[3479,6399,3765],{"class":3764},[3479,6401,4024],{"class":3727},[3479,6403,3702],{"class":3701},[3479,6405,3706],{"class":3727},[3479,6407,3716],{"class":3701},[3479,6409,3947],{"class":3727},[3479,6411,3741],{"class":3701},[3479,6413,3680],{"class":3764},[3479,6415,3897],{"class":3701},[3479,6417,6419,6421,6423,6426,6428,6431,6433,6435],{"class":3481,"line":6418},98,[3479,6420,4641],{"class":3727},[3479,6422,3702],{"class":3701},[3479,6424,6425],{"class":3808},"\"{} notes:\"",[3479,6427,3716],{"class":3701},[3479,6429,6430],{"class":3727}," final",[3479,6432,3433],{"class":3764},[3479,6434,3085],{"class":3727},[3479,6436,5868],{"class":3701},[3479,6438,6440,6443,6445,6448],{"class":3481,"line":6439},99,[3479,6441,6442],{"class":3727},"    PrintNotes",[3479,6444,3702],{"class":3701},[3479,6446,6447],{"class":3727},"final",[3479,6449,3780],{"class":3701},[3479,6451,6453],{"class":3481,"line":6452},100,[3479,6454,4971],{"emptyLinePlaceholder":4970},[3479,6456,6458],{"class":3481,"line":6457},101,[3479,6459,6460],{"class":4699},"    \u002F\u002F Someone edits the file by hand and cuts it short. Loading now fails as a parse error, which\n",[3479,6462,6464],{"class":3481,"line":6463},102,[3479,6465,6466],{"class":4699},"    \u002F\u002F says where the text stopped making sense.\n",[3479,6468,6470,6472,6474,6476,6478,6480,6482,6485,6489,6491,6493,6495,6497,6500,6502,6505,6507,6509],{"class":3481,"line":6469},103,[3479,6471,6165],{"class":3727},[3479,6473,3702],{"class":3701},[3479,6475,3706],{"class":3727},[3479,6477,3716],{"class":3701},[3479,6479,3947],{"class":3727},[3479,6481,3716],{"class":3701},[3479,6483,6484],{"class":3808}," \"[{",[3479,6486,6488],{"class":6487},"snwq_","\\\"",[3479,6490,5858],{"class":3808},[3479,6492,6488],{"class":6487},[3479,6494,3709],{"class":3808},[3479,6496,6488],{"class":6487},[3479,6498,6499],{"class":3808},"half a note",[3479,6501,6488],{"class":6487},[3479,6503,6504],{"class":3808},"\"",[3479,6506,3741],{"class":3701},[3479,6508,3680],{"class":3764},[3479,6510,3897],{"class":3701},[3479,6512,6514,6517,6519,6521,6523,6525,6527,6529],{"class":3481,"line":6513},104,[3479,6515,6516],{"class":3693},"    match",[3479,6518,4024],{"class":3727},[3479,6520,3702],{"class":3701},[3479,6522,3706],{"class":3727},[3479,6524,3716],{"class":3701},[3479,6526,3947],{"class":3727},[3479,6528,3741],{"class":3701},[3479,6530,4395],{"class":3701},[3479,6532,6534,6537,6539,6541,6543,6545,6547,6549,6551,6553],{"class":3481,"line":6533},105,[3479,6535,6536],{"class":3764},"        .",[3479,6538,4485],{"class":3727},[3479,6540,3702],{"class":3701},[3479,6542,4490],{"class":3727},[3479,6544,3741],{"class":3701},[3479,6546,4495],{"class":3764},[3479,6548,4498],{"class":3727},[3479,6550,3702],{"class":3701},[3479,6552,4503],{"class":3808},[3479,6554,4506],{"class":3701},[3479,6556,6558,6560,6562,6564,6566,6568,6570,6572],{"class":3481,"line":6557},106,[3479,6559,6536],{"class":3764},[3479,6561,4513],{"class":3727},[3479,6563,3702],{"class":3701},[3479,6565,4518],{"class":3727},[3479,6567,3681],{"class":3701},[3479,6569,4523],{"class":3727},[3479,6571,3741],{"class":3701},[3479,6573,4528],{"class":3764},[3479,6575,6577,6579,6581,6583,6585,6587,6589,6591,6593,6595],{"class":3481,"line":6576},107,[3479,6578,5839],{"class":3727},[3479,6580,3702],{"class":3701},[3479,6582,4538],{"class":3808},[3479,6584,3716],{"class":3701},[3479,6586,4543],{"class":3727},[3479,6588,3433],{"class":3764},[3479,6590,4548],{"class":3727},[3479,6592,4551],{"class":3701},[3479,6594,4543],{"class":3727},[3479,6596,4506],{"class":3701},[3479,6598,6600,6602,6604,6606,6608,6610,6612],{"class":3481,"line":6599},108,[3479,6601,6536],{"class":3764},[3479,6603,4513],{"class":3727},[3479,6605,3702],{"class":3701},[3479,6607,4518],{"class":3727},[3479,6609,3741],{"class":3701},[3479,6611,4495],{"class":3764},[3479,6613,4572],{"class":3727},[3479,6615,6617],{"class":3481,"line":6616},109,[3479,6618,5906],{"class":3701},[3479,6620,6622],{"class":3481,"line":6621},110,[3479,6623,4971],{"emptyLinePlaceholder":4970},[3479,6625,6627],{"class":3481,"line":6626},111,[3479,6628,6629],{"class":4699},"    \u002F\u002F Clean up, then show that a missing file is told apart from every other I\u002FO failure.\n",[3479,6631,6633,6636,6638,6640,6642,6644,6646,6648],{"class":3481,"line":6632},112,[3479,6634,6635],{"class":3727},"    DeleteFile",[3479,6637,3702],{"class":3701},[3479,6639,3706],{"class":3727},[3479,6641,3716],{"class":3701},[3479,6643,3947],{"class":3727},[3479,6645,3741],{"class":3701},[3479,6647,3680],{"class":3764},[3479,6649,3897],{"class":3701},[3479,6651,6653,6655,6657,6659,6661,6663,6665,6667],{"class":3481,"line":6652},113,[3479,6654,6516],{"class":3693},[3479,6656,4024],{"class":3727},[3479,6658,3702],{"class":3701},[3479,6660,3706],{"class":3727},[3479,6662,3716],{"class":3701},[3479,6664,3947],{"class":3727},[3479,6666,3741],{"class":3701},[3479,6668,4395],{"class":3701},[3479,6670,6672,6674,6676,6678,6680,6682,6684,6686,6688,6691],{"class":3481,"line":6671},114,[3479,6673,6536],{"class":3764},[3479,6675,4485],{"class":3727},[3479,6677,3702],{"class":3701},[3479,6679,4490],{"class":3727},[3479,6681,3741],{"class":3701},[3479,6683,4495],{"class":3764},[3479,6685,4498],{"class":3727},[3479,6687,3702],{"class":3701},[3479,6689,6690],{"class":3808},"\"the deleted file loaded?\"",[3479,6692,4506],{"class":3701},[3479,6694,6696,6698,6700,6702,6704,6706,6708,6710,6712,6714,6716,6718,6720,6722,6724,6726],{"class":3481,"line":6695},115,[3479,6697,6536],{"class":3764},[3479,6699,4513],{"class":3727},[3479,6701,3702],{"class":3701},[3479,6703,4518],{"class":3727},[3479,6705,3681],{"class":3701},[3479,6707,4610],{"class":3727},[3479,6709,3741],{"class":3701},[3479,6711,4615],{"class":3693},[3479,6713,4543],{"class":3727},[3479,6715,3433],{"class":3764},[3479,6717,4622],{"class":3727},[3479,6719,4625],{"class":3764},[3479,6721,4628],{"class":3727},[3479,6723,3770],{"class":3764},[3479,6725,4633],{"class":3727},[3479,6727,4636],{"class":3764},[3479,6729,6731,6733,6735,6737],{"class":3481,"line":6730},116,[3479,6732,5839],{"class":3727},[3479,6734,3702],{"class":3701},[3479,6736,4646],{"class":3808},[3479,6738,4506],{"class":3701},[3479,6740,6742,6744,6746,6748,6750,6752,6754],{"class":3481,"line":6741},117,[3479,6743,6536],{"class":3764},[3479,6745,4513],{"class":3727},[3479,6747,3702],{"class":3701},[3479,6749,4518],{"class":3727},[3479,6751,3741],{"class":3701},[3479,6753,4495],{"class":3764},[3479,6755,4572],{"class":3727},[3479,6757,6759],{"class":3481,"line":6758},118,[3479,6760,5906],{"class":3701},[3479,6762,6764],{"class":3481,"line":6763},119,[3479,6765,3903],{"class":3701},[3411,6767,6768,6769,6771,6772,6775,6776,3422,6778,3422,6780,3422,6783,3422,6786,3429,6788,6790,6791,3433],{},"Besides ",[3461,6770,2711],{},", its ",[3461,6773,6774],{},"Rux.toml"," lists ",[3461,6777,3713],{},[3461,6779,853],{},[3461,6781,6782],{},"FileSystem",[3461,6784,6785],{},"Json",[3461,6787,3952],{},[3461,6789,680],{}," under ",[3461,6792,6793],{},"[Dependencies]",[3453,6795,6797],{"id":6796},"run-it","Run it",[3470,6799,6803],{"className":6800,"code":6801,"language":6802,"meta":3475,"style":3475},"language-sh shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","cd Examples\u002FProjects\u002FNotes\nrux run\n","sh",[3461,6804,6805,6814],{"__ignoreMap":3475},[3479,6806,6807,6811],{"class":3481,"line":3482},[3479,6808,6810],{"class":6809},"s0rF6","cd",[3479,6812,6813],{"class":3808}," Examples\u002FProjects\u002FNotes\n",[3479,6815,6816,6818],{"class":3481,"line":3488},[3479,6817,3686],{"class":3697},[3479,6819,6820],{"class":3808}," run\n",[3470,6822,6827],{"className":6823,"code":6825,"language":6826},[6824],"language-text","saved 2 notes to Bin\u002Fnotes.json\nadded a note; the file now reads:\n[\n  {\n    \"title\": \"buy milk\",\n    \"done\": true\n  },\n  {\n    \"title\": \"water the plants\",\n    \"done\": false\n  },\n  {\n    \"title\": \"write a Rux program\",\n    \"done\": false\n  }\n]\n3 notes:\n  [x] buy milk\n  [ ] water the plants\n  [ ] write a Rux program\ndamaged file refused at byte 24: document ended in the middle of a value\nno notes file any more: starting a new list would begin here\n","text",[3461,6828,6825],{"__ignoreMap":3475},[3411,6830,6831,6832,6835],{},"The file is written to the package's ",[3461,6833,6834],{},"Bin\u002F"," folder, next to the build output, and the program deletes it before it ends, so a second run starts from nothing again.",[3453,6837,6839],{"id":6838},"common-mistakes","Common mistakes",[6841,6842,6843],"warning",{},[3411,6844,6845,6851,6854,6857,6858,6861,6862,6864,6865,6867,6868,3433],{},[3414,6846,6847,6848,6850],{},"Returning a ",[3461,6849,3467],{}," without moving it.",[6852,6853],"br",{},[3461,6855,6856],{},"return note;"," is refused: ",[3461,6859,6860],{},"error: move-only value 'note' requires an explicit '\u003C-' in return",", with the note that ",[3461,6863,3467],{}," prohibits copying. Write ",[3461,6866,3912],{}," — see ",[3419,6869,3557],{"href":561},[6841,6871,6872],{},[3411,6873,6874,6877,6879,6880,6883],{},[3414,6875,6876],{},"Handling only the failure you were thinking of.",[6852,6878],{},"\nDrop the last arm from the damaged-file match and the compiler lists what is left: ",[3461,6881,6882],{},"error: match on 'JsonValue ! (CollectionError | IoError | JsonParseError)' is not exhaustive; missing .Failure(_: CollectionError), .Failure(_: IoError)",". One catch-all arm that passes the rest on is enough.",[6841,6885,6886],{},[3411,6887,6888,6893,6895,6896,6898,6899,6902,6903,6906,6907,6909],{},[3414,6889,3906,6890,6892],{},[3461,6891,3680],{}," the function's type does not allow.",[6852,6894],{},"\nIf ",[3461,6897,3605],{}," is declared ",[3461,6900,6901],{},"-> JsonValue ! (IoError | JsonParseError)",", the array allocation stops compiling: ",[3461,6904,6905],{},"error: '?' propagates error type 'CollectionError', but the enclosing function fails with 'IoError | JsonParseError'",". The sum must name every error its ",[3461,6908,3680],{},"s can carry.",[3453,6911,6913],{"id":6912},"try-it-yourself","Try it yourself",[6915,6916,6917,6928,6931,6942],"ol",{},[6918,6919,6920,6921,6923,6924,6927],"li",{},"Mark a note as done: load the list, find \"water the plants\", set its ",[3461,6922,4431],{}," member to ",[3461,6925,6926],{},"true",", and save it again.",[6918,6929,6930],{},"Turn the missing-file arm into real behaviour: when the file is not there, start with an empty array instead of failing.",[6918,6932,6933,6934,6937,6938,6941],{},"Make the program a tiny command-line tool: read one line from the input with ",[3419,6935,6936],{"href":736},"Input",", add it as a note, save, and print the list. Remove the ",[3461,6939,6940],{},"DeleteFile"," call so the notes survive between runs.",[6918,6943,6944,6945,6948],{},"Damage the file differently — a missing comma, a stray ",[3461,6946,6947],{},"}"," — and see what offset and message the parser reports for each.",[3453,6950,6952],{"id":6951},"learn-more","Learn more",[6954,6955,6956,6962,6968,6975],"ul",{},[6918,6957,6958,3429,6960],{},[3419,6959,3428],{"href":1013},[3419,6961,3432],{"href":1017},[6918,6963,6964,3429,6966],{},[3419,6965,3421],{"href":935},[3419,6967,3425],{"href":955},[6918,6969,6970,3429,6972,6974],{},[3419,6971,3664],{"href":495},[3419,6973,3667],{"href":530}," — one function, several kinds of failure",[6918,6976,6977,6978,6981],{},"Next project: ",[3419,6979,6980],{"href":1209},"Melody",", the checkpoint for Platform",[6983,6984,6985],"style",{},"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 .smXKV, html code.shiki .smXKV{--shiki-light:#8839EF;--shiki-default:#8839EF;--shiki-dark:#CBA6F7}html pre.shiki code .sptzg, html code.shiki .sptzg{--shiki-light:#1E66F5;--shiki-light-font-style:italic;--shiki-default:#1E66F5;--shiki-default-font-style:italic;--shiki-dark:#89B4FA;--shiki-dark-font-style:italic}html pre.shiki code .sDi1i, html code.shiki .sDi1i{--shiki-light:#7C7F93;--shiki-default:#7C7F93;--shiki-dark:#9399B2}html pre.shiki code .sYR1E, html code.shiki .sYR1E{--shiki-light:#E64553;--shiki-light-font-style:italic;--shiki-default:#E64553;--shiki-default-font-style:italic;--shiki-dark:#EBA0AC;--shiki-dark-font-style:italic}html pre.shiki code .sqZDx, html code.shiki .sqZDx{--shiki-light:#DF8E1D;--shiki-light-font-style:italic;--shiki-default:#DF8E1D;--shiki-default-font-style:italic;--shiki-dark:#F9E2AF;--shiki-dark-font-style:italic}html pre.shiki code .sJT_S, html code.shiki .sJT_S{--shiki-light:#4C4F69;--shiki-default:#4C4F69;--shiki-dark:#CDD6F4}html pre.shiki code .sCFbw, html code.shiki .sCFbw{--shiki-light:#179299;--shiki-default:#179299;--shiki-dark:#94E2D5}html pre.shiki code .sXpww, html code.shiki .sXpww{--shiki-light:#40A02B;--shiki-default:#40A02B;--shiki-dark:#A6E3A1}html pre.shiki code .sRT_P, html code.shiki .sRT_P{--shiki-light:#D20F39;--shiki-default:#D20F39;--shiki-dark:#F38BA8}html pre.shiki code .sY9YT, html code.shiki .sY9YT{--shiki-light:#7C7F93;--shiki-light-font-style:italic;--shiki-default:#7C7F93;--shiki-default-font-style:italic;--shiki-dark:#9399B2;--shiki-dark-font-style:italic}html pre.shiki code .snhBn, html code.shiki .snhBn{--shiki-light:#FE640B;--shiki-default:#FE640B;--shiki-dark:#FAB387}html pre.shiki code .snwq_, html code.shiki .snwq_{--shiki-light:#EA76CB;--shiki-default:#EA76CB;--shiki-dark:#F5C2E7}html pre.shiki code .s0rF6, html code.shiki .s0rF6{--shiki-light:#D20F39;--shiki-light-font-style:italic;--shiki-default:#D20F39;--shiki-default-font-style:italic;--shiki-dark:#F38BA8;--shiki-dark-font-style:italic}",{"title":3475,"searchDepth":3488,"depth":3488,"links":6987},[6988,6989,6990,6991,6992,6993,6994,6995,6996,6997,6998],{"id":3455,"depth":3488,"text":3456},{"id":3670,"depth":3488,"text":3671},{"id":3916,"depth":3488,"text":3917},{"id":4006,"depth":3488,"text":4007},{"id":4267,"depth":3488,"text":4268},{"id":4438,"depth":3488,"text":4439},{"id":4677,"depth":3488,"text":4678},{"id":6796,"depth":3488,"text":6797},{"id":6838,"depth":3488,"text":6839},{"id":6912,"depth":3488,"text":6913},{"id":6951,"depth":3488,"text":6952},"Keep a to-do list as JSON in a file: save it, load it back, add to it, and handle a damaged or missing file.","md",{"number":7002,"source":7003,"requires":7004},"25.15","Projects\u002FNotes",[4185,7005,7006,7007],"atomic-file","json","json-write",{},{"title":1204},{"title":3398,"description":6999},"BdHKl3E2wzaW5jDxQwzPOGZlel6uJTm3gPp4BVWAkmM",[7013,7015],{"title":1200,"path":1201,"stem":1202,"description":7014,"children":-1},"Run a mission checklist, ask for a countdown from 1 to 10, count down and launch a rocket up the terminal.",{"title":1208,"path":1209,"stem":1210,"description":7016,"children":-1},"Play the opening of Ode to Joy through the console speaker by calling the Windows Beep function directly.",1791225598692]