From ca69da8339d550cd9fdd195446cc2ad6e34ba4ce Mon Sep 17 00:00:00 2001 From: Paul-Elliot Date: Mon, 21 Aug 2023 14:01:25 +0200 Subject: [PATCH] Span labels in function arguments (`?id:` and `id:`) Signed-off-by: Paul-Elliot --- src/document/generator.ml | 8 +++---- src/html_support_files/odoc.css | 9 +++++++ .../odoc_html_support_files.ml | 24 +++++++++---------- test/generators/html/Bugs.html | 4 ++-- test/generators/html/Ocamlary.html | 10 +++++--- test/generators/html/Type.html | 20 ++++++++++++---- test/generators/latex/Bugs.tex | 2 +- test/generators/latex/Ocamlary.tex | 4 ++-- test/generators/latex/Type.tex | 6 ++--- test/generators/man/Bugs.3o | 2 +- test/generators/man/Ocamlary.3o | 4 ++-- test/generators/man/Type.3o | 6 ++--- 12 files changed, 62 insertions(+), 37 deletions(-) diff --git a/src/document/generator.ml b/src/document/generator.ml index 039f55aa23..cb342e5331 100644 --- a/src/document/generator.ml +++ b/src/document/generator.ml @@ -21,12 +21,12 @@ open Types module O = Codefmt open O.Infix +let tag tag t = O.span ~attr:tag t + let label t = match t with - | Odoc_model.Lang.TypeExpr.Label s -> O.txt s - | Optional s -> O.txt "?" ++ O.txt s - -let tag tag t = O.span ~attr:tag t + | Odoc_model.Lang.TypeExpr.Label s -> tag "opt-arg" (O.txt s) + | Optional s -> tag "named-arg" (O.txt "?" ++ O.txt s) let type_var tv = tag "type-var" (O.txt tv) diff --git a/src/html_support_files/odoc.css b/src/html_support_files/odoc.css index 5bc774c568..cf24df8bdf 100644 --- a/src/html_support_files/odoc.css +++ b/src/html_support_files/odoc.css @@ -119,6 +119,7 @@ --toc-list-border: #ccc; --spec-summary-border-color: #5c9cf5; + --spec-label-color: green; --spec-summary-background: var(--code-background); --spec-summary-hover-background: #ebeff2; --spec-details-after-background: rgba(0, 4, 15, 0.05); @@ -158,6 +159,8 @@ --hljs-type: #ac885b; --hljs-meta: #82aaff; --hljs-variable: #cf6a4c; + + --spec-label-color: lightgreen; } @media (prefers-color-scheme: dark) { @@ -204,6 +207,8 @@ --hljs-type: #ac885b; --hljs-meta: #82aaff; --hljs-variable: #cf6a4c; + + --spec-label-color: lightgreen; } } @@ -525,6 +530,10 @@ p a > code, li a > code { padding: 0.35em 0.5em; } +.spec .named-arg, .spec .opt-arg { + color: var(--spec-label-color); +} + li:not(:last-child) > .def-doc { margin-bottom: 15px; } diff --git a/src/html_support_files/odoc_html_support_files.ml b/src/html_support_files/odoc_html_support_files.ml index fc403795a0..acfc37560e 100644 --- a/src/html_support_files/odoc_html_support_files.ml +++ b/src/html_support_files/odoc_html_support_files.ml @@ -4,6 +4,8 @@ module Internal = struct let d_01738333fc004372ab1ae8bc7d370677 = "].replace),new Tt.TextNode(e)},Ct=function(e){return 1===e.length?e[0]:new Tt.MathNode(\"mrow\",e)},qt=function(e,t){if(\"texttt\"===t.fontFamily)return\"monospace\";if(\"textsf\"===t.fontFamily)return\"textit\"===t.fontShape&&\"textbf\"===t.fontWeight?\"sans-serif-bold-italic\":\"textit\"===t.fontShape?\"sans-serif-italic\":\"textbf\"===t.fontWeight?\"bold-sans-serif\":\"sans-serif\";if(\"textit\"===t.fontShape&&\"textbf\"===t.fontWeight)return\"bold-italic\";if(\"textit\"===t.fontShape)return\"italic\";if(\"textbf\"===t.fontWeight)return\"bold\";var r=t.font;if(!r||\"mathnormal\"===r)return null;var n=e.mode;if(\"mathit\"===r)return\"italic\";if(\"boldsymbol\"===r)return\"textord\"===e.type?\"bold\":\"bold-italic\";if(\"mathbf\"===r)return\"bold\";if(\"mathbb\"===r)return\"double-struck\";if(\"mathfrak\"===r)return\"fraktur\";if(\"mathscr\"===r||\"mathcal\"===r)return\"script\";if(\"mathsf\"===r)return\"sans-serif\";if(\"mathtt\"===r)return\"monospace\";var a=e.text;return l.contains([\"\\\\imath\",\"\\\\jmath\"],a)?null:(ae[n][a]&&ae[n][a].replace&&(a=ae[n][a].replace),q(a,Ke.fontMap[r].fontName,n)?Ke.fontMap[r].variant:null)},Nt=function(e,t,r){if(1===e.length){var n=Rt(e[0],t);return r&&n instanceof zt&&\"mo\"===n.type&&(n.setAttribute(\"lspace\",\"0em\"),n.setAttribute(\"rspace\",\"0em\")),[n]}for(var a,i=[],o=0;o0&&(p.text=p.text.slice(0,1)+\"\\u0338\"+p.text.slice(1),i.pop())}}}i.push(s),a=s}return i},It=function(e,t,r){return Ct(Nt(e,t,r))},Rt=function(e,t){if(!e)return new Tt.MathNode(\"mrow\");if(it[e.type])return it[e.type](e,t);throw new n(\"Got group of unknown type: '\"+e.type+\"'\")};function Ot(e,t,r,n,a){var i,o=Nt(e,r);i=1===o.length&&o[0]instanceof zt&&l.contains([\"mrow\",\"mtable\"],o[0].type)?o[0]:new Tt.MathNode(\"mrow\",o);var s=new Tt.MathNode(\"annotation\",[new Tt.TextNode(t)]);s.setAttribute(\"encoding\",\"application/x-tex\");var h=new Tt.MathNode(\"semantics\",[i,s]),m=new Tt.MathNode(\"math\",[h]);m.setAttribute(\"xmlns\",\"http://www.w3.org/1998/Math/MathML\"),n&&m.setAttribute(\"display\",\"block\");var c=a?\"katex\":\"katex-mathml\";return Ke.makeSpan([c],[m])}var Ht=function(e){return new E({style:e.displayMode?x.DISPLAY:x.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Et=function(e,t){if(t.displayMode){var r=[\"katex-display\"];t.leqno&&r.push(\"leqno\"),t.fleqn&&r.push(\"fleqn\"),e=Ke.makeSpan(r,[e])}return e},Lt=function(e,t,r){var n,a=Ht(r);if(\"mathml\"===r.output)return Ot(e,t,a,r.displayMode,!0);if(\"html\"===r.output){var i=St(e,a);n=Ke.makeSpan([\"katex\"],[i])}else{var o=Ot(e,t,a,r.displayMode,!1),s=St(e,a);n=Ke.makeSpan([\"katex\"],[o,s])}return Et(n,r)},Dt={widehat:\"^\",widecheck:\"\\u02c7\",widetilde:\"~\",utilde:\"~\",overleftarrow:\"\\u2190\",underleftarrow:\"\\u2190\",xleftarrow:\"\\u2190\",overrightarrow:\"\\u2192\",underrightarrow:\"\\u2192\",xrightarrow:\"\\u2192\",underbrace:\"\\u23df\",overbrace:\"\\u23de\",overgroup:\"\\u23e0\",undergroup:\"\\u23e1\",overleftrightarrow:\"\\u2194\",underleftrightarrow:\"\\u2194\",xleftrightarrow:\"\\u2194\",Overrightarrow:\"\\u21d2\",xRightarrow:\"\\u21d2\",overleftharpoon:\"\\u21bc\",xleftharpoonup:\"\\u21bc\",overrightharpoon:\"\\u21c0\",xrightharpoonup:\"\\u21c0\",xLeftarrow:\"\\u21d0\",xLeftrightarrow:\"\\u21d4\",xhookleftarrow:\"\\u21a9\",xhookrightarrow:\"\\u21aa\",xmapsto:\"\\u21a6\",xrightharpoondown:\"\\u21c1\",xleftharpoondown:\"\\u21bd\",xrightleftharpoons:\"\\u21cc\",xleftrightharpoons:\"\\u21cb\",xtwoheadleftarrow:\"\\u219e\",xtwoheadrightarrow:\"\\u21a0\",xlongequal:\"=\",xtofrom:\"\\u21c4\",xrightleftarrows:\"\\u21c4\",xrightequilibrium:\"\\u21cc\",xleftequilibrium:\"\\u21cb\",\"\\\\cdrigh" + let d_01f87c66132fce6303699833f0ddbf78 = ": relative;\n}\n\n.odoc-include.shadowed-include {\n display: none;\n}\n\n.odoc-include details:after {\n z-index: -100;\n display: block;\n content: \" \";\n position: absolute;\n border-radius: 0 1ex 1ex 0;\n right: -20px;\n top: 1px;\n bottom: 1px;\n width: 15px;\n background: var(--spec-details-after-background, rgba(0, 4, 15, 0.05));\n box-shadow: 0 0px 0 1px var(--spec-details-after-shadow, rgba(204, 204, 204, 0.53));\n}\n\n.odoc-include summary {\n position: relative;\n margin-bottom: 1em;\n cursor: pointer;\n outline: none;\n}\n\n.odoc-include summary:hover {\n background-color: var(--spec-summary-hover-background);\n}\n\n/* FIXME: Does not work in Firefox. */\n.odoc-include summary::-webkit-details-marker {\n color: #888;\n transform: scaleX(-1);\n position: absolute;\n top: calc(50% - 5px);\n height: 11px;\n right: -29px;\n}\n\n/* Records and variants FIXME */\n\ndiv.def table {\n text-indent: 0em;\n padding: 0;\n margin-left: -2ex;\n}\n\ntd.def {\n padding-left: 2ex;\n}\n\ntd.def-doc *:first-child {\n margin-top: 0em;\n}\n\n/* Lists of @tags */\n\n.at-tags { list-style-type: none; margin-left: -3ex; }\n.at-tags li { padding-left: 3ex; text-indent: -3ex; }\n.at-tags .at-tag { text-transform: capitalize }\n\n/* Alert emoji */\n\n.alert::before, .deprecated::before {\n content: '\226\154\160\239\184\143 ';\n}\n\n/* Lists of modules */\n\n.modules { list-style-type: none; margin-left: -3ex; }\n.modules li { padding-left: 3ex; text-indent: -3ex; margin-top: 5px }\n.modules .synopsis { padding-left: 1ch; }\n\n/* Odig package index */\n\n.packages { list-style-type: none; margin-left: -3ex; }\n.packages li { padding-left: 3ex; text-indent: -3ex }\n.packages li a.anchor { padding-right: 0.5ch; padding-left: 3ch; }\n.packages .version { font-size: 10px; color: var(--by-name-version-color); }\n.packages .synopsis { padding-left: 1ch }\n\n.by-name nav a {\n text-transform: uppercase;\n font-size: 18px;\n margin-right: 1ex;\n color: var(--by-name-nav-link-color,);\n display: inline-block;\n}\n\n.by-tag nav a {\n margin-right: 1ex;\n color: var(--by-name-nav-link-color);\n display: inline-block;\n}\n\n.by-tag ol { list-style-type: none; }\n.by-tag ol.tags li { margin-left: 1ch; display: inline-block }\n.by-tag td:first-child { text-transform: uppercase; }\n\n/* Odig package page */\n\n.package nav {\n display: inline;\n font-size: 14px;\n font-weight: normal;\n}\n\n.package .version {\n font-size: 14px;\n}\n\n.package.info {\n margin: 0;\n}\n\n.package.info td:first-child {\n font-style: italic;\n padding-right: 2ex;\n}\n\n.package.info ul {\n list-style-type: none;\n display: inline;\n margin: 0;\n}\n\n.package.info li {\n display: inline-block;\n margin: 0;\n margin-right: 1ex;\n}\n\n#info-authors li, #info-maintainers li {\n display: block;\n}\n\n/* Sidebar and TOC */\n\n.odoc-toc:before {\n display: block;\n content: \"Contents\";\n text-transform: uppercase;\n font-size: 1em;\n margin: 1.414em 0 0.5em;\n font-weight: 500;\n color: var(--toc-before-color);\n line-height: 1.2;\n}\n\n.odoc-toc {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n max-width: 30ex;\n min-width: 26ex;\n width: 20%;\n background: var(--toc-background);\n overflow: auto;\n color: var(--toc-color);\n padding-left: 2ex;\n padding-right: 2ex;\n}\n\n.odoc-toc ul li a {\n font-family: \"Fira Sans\", sans-serif;\n font-size: 0.95em;\n color: var(--color);\n font-weight: 400;\n line-height: 1.6em;\n display: block;\n}\n\n.odoc-toc ul li a:hover {\n box-shadow: none;\n text-decoration: underline;\n}\n\n/* First level titles */\n\n.odoc-toc>ul>li>a {\n font-weight: 500;\n}\n\n.odoc-toc li ul {\n margin: 0px;\n}\n\n.odoc-toc ul {\n list-style-type: none;\n}\n\n.odoc-toc ul li {\n margin: 0;\n}\n.odoc-toc>ul>li {\n margin-bottom: 0.3em;\n}\n\n.odoc-toc ul li li {\n border-left: 1px solid var(--toc-list-border);\n margin-left: 5px;\n padding-left: 12px;\n}\n\n/* Tables */\n\n.odoc-table {\n margin: 1em;\n}\n\n.odoc-table td, .odoc-table th {\n padding-left: 0.5em;\n padding-right: 0.5em;\n border: 1px solid black;\n}\n\n.odoc-table th {\n font-weight: bold;\n}\n\n/* Mobile adjustements. */\n\n@media only screen and (max-width: 110ex) {\n body {\n margin: 2em;\n }\n .odoc-toc {\n position: static;" + let d_02c9bc01125e92ce389d2ac93e62d14b = "Argument:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=lt(t[0]),i=n;return i in tn&&(i=tn[i]),{type:\"font\",mode:r.mode,font:i.slice(1),body:a}},htmlBuilder:Qr,mathmlBuilder:en}),ot({type:\"mclass\",names:[\"\\\\boldsymbol\",\"\\\\bm\"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=t[0],a=l.isCharacterBox(n);return{type:\"mclass\",mode:r.mode,mclass:Jr(n),body:[{type:\"font\",mode:r.mode,font:\"boldsymbol\",body:n}],isCharacterBox:a}}}),ot({type:\"font\",names:[\"\\\\rm\",\"\\\\sf\",\"\\\\tt\",\"\\\\bf\",\"\\\\it\",\"\\\\cal\"],props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=e.breakOnTokenText,i=r.mode,o=r.parseExpression(!0,a);return{type:\"font\",mode:i,font:\"math\"+n.slice(1),body:{type:\"ordgroup\",mode:r.mode,body:o}}},htmlBuilder:Qr,mathmlBuilder:en});var rn=function(e,t){var r=t;return\"display\"===e?r=r.id>=x.SCRIPT.id?r.text():x.DISPLAY:\"text\"===e&&r.size===x.DISPLAY.size?r=x.TEXT:\"script\"===e?r=x.SCRIPT:\"scriptscript\"===e&&(r=x.SCRIPTSCRIPT),r},nn=function(e,t){var r,n=rn(e.size,t.style),a=n.fracNum(),i=n.fracDen();r=t.havingStyle(a);var o=wt(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*c:7*c,d=t.fontMetrics().denom1):(m>0?(u=t.fontMetrics().num2,p=c):(u=t.fontMetrics().num3,p=3*c),d=t.fontMetrics().denom2),h){var w=t.fontMetrics().axisHeight;u-o.depth-(w+.5*m)Z&tx!=uv\253\235\247Z#\162\002\128\238\011?\209\2237\208\200)\250\167r\144/\156K\022\206\247?7\154\226\223\127\247ko\197\007\255v@G\147\143\139\\\011Ek&\004.hz\230\016\167\250St\155\195\193\014\254\252\016\145)Y\174\147\026{$$\014YCG\149K\160\244h\134\152yMrf*\172%\169\207-\194\197\187!v\205$%WmC|\172)\127\021\205\017\200\144\161\135\255\"\173\155\248\026\222^1c\244C\166L\163\202\025\029\241\138\252\204\019\150X\132\128\030'\252\031BM\205}\145\245\252\248\148\001\147\134f\154a\bP\16398bMt\000\"G:`l\023:\016\030W;P\025\133\232\192\216\138\233\158\248\211\014Vt\130\249\251\202\150\155\031\179\0270h\158a]:t\026%\150\161Ef\225\235h\174 _\206Xh\169Q\204\161\205\b\135\232O\024\230\014\219D\011\023JYy\183OM\133.\254T\173\\4\137RP\197D\163\213\143i%\191\207<\149'Q)\0045\026\165\146P1\152DH\233\217aL\175\152\2392\240\0015:\018\195\170j\147\165T\154?\185\002bQ\247\145s\186k\152E\149\164\134\225\200\012\248Z*&\nK1\186\138vP\1409\127@\231\218\223\015\128\026g\021&\246t\234e\194\255P)O$,(2\241\197%\191O\204\251\157\186\0111W\236\003\233\015R,3P\179\201\237\239a\189W\2368S\190PR0\161K;%\134W\141\128*\198\185h]\243!\237.V.\166o\190a$\196\005t\149p\223{D\128\b\151\216.&V\028\238\023\179\137^\171Z\224\195\017l\1971\213\170\135\018k\166\218D\248^~\167\003\0069f\138\191\183_\012*\231\129\nG\165\223\220\210+b1\227Vu\225\234\248f\189\247\020C\163br\003\171\138\137\234\168\002\2440q/\006\157P_\247\028\129B\140\016\2330\216\011\246[_-\192\197\207Y\132\r\215\251py\1613\144\250\031\166\219O.\141B\186\012\153\178dS\202\161\162\134\155OZG/W\030\003#\147|\005\n\0211\023\1522\214\223\165\209|\215@\165_\208\213\208\167\179\000l8\205\128\223?GW\179\016\2297\172\174\172\159\181sl\020\208\015G\242\225f\234\250\002\242\028\128A@;\018\178\172\247\027B@\142g9XsQ3cYS3\t\173,C?M\133\0144/:%\206\166\159\018\023\168\147@\r\030m\169\252;\r\237\206\017(`g}\129\135\017]\255\012\239\233W\172\021\135\028[" @@ -102,6 +104,8 @@ module Internal = struct let d_3604eeac1a17eeade3d5acaf65290b20 = "wOF2\000\001\000\000\000\000\021\\\000\014\000\000\000\000/\244\000\000\021\004\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006`\000\130\004\b\014\t\156\012\017\b\n\174D\1633\0016\002$\003\129>\011b\000\004 \005\137\000\007\130~\012\129\028\027\n)#\017\182\131\180\130GQ\011\211&\020\252\213\001OEV\254\012\025\018\226\170k\164jx \252a\223\2318\0146M\205\187\249\215\019\247#$\153\253\129\182\249\239\221\029\007\135p\132\130Q\007\024\b\136\128\246\028\146VMg\172\168\133\027\022b-\195E\199\199\237\183\251\145\177\253\200\144\007\226^}\127h\198\154\148`x\225\194P,\028\194\196#\210n\224\n\215z=_\253\127\143S\248g\182\222\030\187Q\216=Eb~bR\153\141\196\165:s\200\239\224\202\001\162&\204\204\202\137\022}\004\158O]\201E\149\176\002_\249\225\029;@\007\014i\233\016\164\160t\235\219\162\190\162vW=\249\216R\209\217imj\237\165\215;\129\191e;e\1627;\016\237\176\140\248\031\135\170\249\023\16019\027'RD~\178\223\189\172\245\211\197\025V\234\149\214\006j\193K\011\011\190\134HYjX\255\251\181\222\236=\175_\007Y&.2\017\014\217\185\219of\210\024\234\t\244\159P\247L*5\159\187;\212\129\005&\135\146(\004$\151\133\218\149\168\216m\249\b\187\181*\181\214m\132Q\171C\166\195\186z.\166\017(\219\254\190Y\143\026\187N\133B\nA\006\130\180\195\202\151\232\221\019\128 N\226\014\224\001\016c\196M\000\216\178\1273~\b\230\128\000!w%\192\015R\248\246;\248I\227\217\029\000\027nJ\147\220\228tF\2058\155\003\216>\155\004a\196\025/E\021b\128\200]\020\252hE\184\233/\140\195\201\146c\150%\1509A\005\026\253qh\149\145pLT\130t\020\244#gIY\208\169\212u6\168\148d\178\222r,\253\150\217\t^\170PfS\140\233\132\006\182O\188c\182\238\219\129q\187\r\223\180\019\148\184\227\184\011L\241\134\219T\175=\206\166\232\020\142E,1%\201]\004e\159z\169\002AB\180\230s\160\238\151V\169\164\2129?a9\1780c\187\222;\189\181\175\137a7\171\212\2128{u\165s\198\246\205L\027\226\165\138\249P\210!\199\174\164\188\205\180\186~\020\157\203\005\170<\197\249\239S\189\014\023\186\021m\183*\208\rIu\181\1980\014\216\156\030)\028\163ZC\164\248Iu\155\002\229Z\195\025\185\2421\141\1514\191\222\208\216\2362Z\137\006\195u\128\242\138F\129\212\212\006\001\205\002\157iPT\136\022\197\168\181\r\002\166\011L\182\025n\000\128\243\139v\r\169\163-\002:5\164\025]\000\01635\164Ym\0170[Cg\142o\184\133\007n\225\133[\248\224v\252KT\138\128Z\210\2206\b\152'\208\157\031\031\\\218\002%\161\174\182\bX\168\161\187\136)\134\160\134\212\221\022\001=\0266\247\026\198\161\180\144n\159tz\1966\203~\216\157P\246s\0118\172\001\135\135\208V\145\176\142\218\160\14244\027\166\162cXN\197\136\156\234\141\030\130\131\022\003a\147K`\151K\225\160e\179\193\138\139\229\210\138\021\210\138\149\210\138U\210\138\213\210\1385\210\138\181-\203\176N\150a\189,\195\006Y\134\141\005M\218\164#\141\233X\217l\184\030\245\n7\022\161\019\175S\004\217u\187F\149\168\234\232p\232#\130\185\0172\173q\228I{\029\217\128\128\147 \005B\027\147V\030\027(\003\252\133\000\204r\016\218\b\160\029\001\247\130\235\155+@\220*s\tn\1472x\236L\002\207\b\175\145\162\162c%\002\169\160\166Z\145%L\179\n\133N\151\158Q\146\154\177j\174\254\230\179\210$]\142\1296\\\231F\149\192\170\162\024\134\175b\197R\214\160M\138\226\157\025\210)!U\\v\180SbA\210P\153\029\239\159\007\\L\146\141\bk\135\188(\171\029\137\227\202\019r\240\145\252\007O\012d7hv\179\182\219#\024\002\184\027\129\207\228K\192\221\173\187\017\251L3{\243\007$\2210\"\221\167P\172\159-^\157\215/Q\168\224|\211\007\171\184sHy\225\239\187\252\152\159\159\166\243{\031OW\019b\188!\132\129\164;B\143\012$]p\255\129\136\178\252\149\181=-H67\127\198\194\015\194\016\243\204\219\170s\251\198\018rf\225:o\216{N\020-\232\177\246\029\218!%\252}\231\031Z\223\219\147\181\204\127\232p*x\241\234\186^v\200\183%\238f\227aK\179\244_\184\215M\229f-\200!Q\244\146\150\217\152X\221\127sZ*\171\247tT\171\2393\158\236\188\nr\141^\135\212}\222\011\161\248*\172\031\159\019\"\177\006\200\187}\005\214O\206C\nkX\254\251o\229\226\185\006\255\165\182nq\218\159\187\2146|\223\218\222e\234\253j!|\185\\\160\159\196\134(\146C\243x.\200\030!\202\178\021\148fa\193\146\005=\182\188\229nm\227\020\221\017@\230/ \127&cU\012\227\144e\210s\192\136\221elw]\194\223\022\243\137\233i\155\241|\185\242\026\172{}\127\131\206\249&\208\144F\161\209R\1950\228\243F\0227\213\244\206z\019;\031b\172l\151\229\226\127\248\241\156\001Z\237\229\170\029\130gSO\252P\243L\030\171\146\173\204^fz\169\022\226\197'\005\217\246[gBD\135\1433+-\171\140`y\030\015\023\235\250TRm\020\1362Sd\165v\232g\139\"\177\235\205\159\147s3\176\213\1571\180!\224c4x\212\240^\188\167\028>|D\019\"\221n\171\165\218\237\031\230\019\203l\179)\027\141\224\022S\163F\141l\205\154\207\012\201\173\171 \163\016\238\189\177N\138\"\142TZ\150\159)\0189\172\159\182K\153d\224p%1\207\201\247.\157?Q\029\190\207\175d+\015\130<\160\015Y\172\196\n\235T\178\180>\202a^\169sO\248m\181\198R\214\213\165:M\212*\"z\199\172\185\019B\226\157\207j\153\242bze\199d\026\224*_pu\224\202\203Q>\031Z\202U;9\185\018E\246;l\165\185\175L\005\193\214\020\161\149u\000\132\173\236\199\243\1301H\154\173\193z\029w\ba\205W!u\159 H\025\215\209\003i\236\185\132}\027b\247_\182\232\019\018\020n\157\203\139\138\189\132E\177O\2257[\198-\176?\127l\177\169\207\147\212JR\135\238xb\241\240\029O\029\162\200\214\164\1909`\250}\018\176\006\177x\128\031s\232\234c#\163:<\020#\b\241}\\=~\238\005H\201\149/\022)\148DB\203\202\162\025b\230y\161do\224\153\153w<\172=0\231\128\022\024\183\240yF<\163\200L\017\204\132\144\237d\139\001\250u\218\135u\191\232\240\254\244V1[\237M\154\250Q\031\156\136\203\132\174\005\026_\254n\247\141|\1458\255\198\238\239^6N\017\195\024\156\\\246\137\167;Y\129\004a\162\t\182\149\149\247O\212d_\174;q\152\215\246}kM\220\141\207:S\147\019jx\135O\212]\174\201\158\232\151\003\253I\147\141\199\019;\160\015\181\147k\002|\176\170\240fH&\015\221D\247\193\155\240D\223GS\203\t\148$\181\178b\212\184\031\251.\183\157w\2320\175&!\1853\245\179\0273R\202\176\191Y\230Y)&o3ze\018P\222iz\016W\173\146f\197Wf\226\150:\149b\223\180U3\243\192\161\031\244\255\159\172\224\212\228\195D>}\209ic\1668r\015<\160\153\142(\174\183[Je-\235\251/\230\218\132\202\199\01116\135\161\174\022;\245\157\215\245\158A\197\182ra\205\224\186\028\187\225\1347\173\182\234\185?\245\127>\183p\235}o\024\236\171\245Px\146?\178a\201IW\000\150nV\020\0205\156:\214\185\225\235\199\245\220\202=n\149-o?\220u\183~\239DW\187\187\226\190\133\019{\245\193\253\142|\023\183g%\167\127\252\235\r\243+\000\190\t\234\133w\195]\251\187g\187U\247\143\210p\n\251\231sq\142|0\183\015_\175!Y\173U\203\186\201\1913\189\187\199\225\142#\145>\227o\247L\246\005\253\027\023\026\221\211\174%\173\175\140\140\239\246-\255\131J\191T\023/h\187\015u\031Q\196\152:<\211?\241\205\165_\145lD\181\243&\182\231/\186\182\000\130\179\158*\160\186\200\143zS\139:\142?\172\253\186\240\226W\231\225\130\170\137Oj\240\158wf\004g\004\241\190\255\239\253_(\005\250O\156\251\221\188\239 \245S\021\223!\146q\180\178\188x\228\176\211\177\025\230\165#\193\127\131\255`\212\158g\214K\225`M\t\236\244[e\146z!\163\018\022\1508\173\206\146B\161\138\017\026\2292\227\212VO\183\162\245w\n\2521o1\171Q\201\228\023\023\154o\186\1551)K 4S\225E\243?\177\209O/\187K\194\190(~@\178*\254\217\188\184\237\021\198\237o\016\031\242>~/G9q\253\127[\199\196\251\"Ji\200\189)\n0\235\196\019\146\213\209\151w'\029o\201:\146Ry\235\206D\165\237\153C\137\203b\219|3v\242\183[\2059\222\254\177\131U\139[\220(\246\247\171\209\159\252\191\236cZ\187\229qpt\148\149\195j\213p|s3g\255\13241\020S\189\140r\183\184\158\217\193\159K,@\024A\165\190a\178pz\243\131_\239~\129\239\255\179\250k\030\017\154(\173\2053\2308\0294\153\200\247\177#w.\213\027\202'\007h2\129W!\217\146\198\163\127\159\149W\005\158\031\249\168\140&bc\200=\2423\241\202G\162" + let d_36c6364e97e6e6415fcd6cc5e96cf1f6 = "-target-background) !important;\n box-shadow: 0 0px 0 1px var(--target-shadow) !important;\n border-radius: 1px;\n}\n\n*:hover > a.anchor {\n visibility: visible;\n}\n\na.anchor:before {\n content: \"#\";\n}\n\na.anchor:hover {\n box-shadow: none;\n text-decoration: none;\n color: var(--anchor-hover);\n}\n\na.anchor {\n visibility: hidden;\n position: absolute;\n /* top: 0px; */\n /* margin-left: -3ex; */\n margin-left: -1.3em;\n font-weight: normal;\n font-style: normal;\n padding-right: 0.4em;\n padding-left: 0.4em;\n /* To remain selectable */\n color: var(--anchor-color);\n}\n\n.spec > a.anchor {\n margin-left: -2.3em;\n padding-right: 0.9em;\n}\n\n.xref-unresolved {\n color: #2C94BD;\n}\n.xref-unresolved:hover {\n box-shadow: 0 1px 0 0 var(--xref-shadow);\n}\n\n/* Source links float inside preformated text or headings. */\na.source_link {\n float: right;\n color: var(--source-color);\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-size: initial;\n}\n\n/* Section and document divisions.\n Until at least 4.03 many of the modules of the stdlib start at .h7,\n we restart the sequence there like h2 */\n\nh1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-weight: 400;\n padding-top: 0.1em;\n line-height: 1.2;\n overflow-wrap: break-word;\n}\n\nh1 {\n font-weight: 500;\n font-size: 2.441em;\n}\n\nh1 {\n font-weight: 500;\n font-size: 1.953em;\n box-shadow: 0 1px 0 0 var(--header-shadow);\n}\n\nh2 {\n font-size: 1.563em;\n}\n\nh3 {\n font-size: 1.25em;\n}\n\nsmall, .font_small {\n font-size: 0.8em;\n}\n\nh1 code, h1 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh2 code, h2 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh4 {\n font-size: 1.12em;\n}\n\n/* Comment delimiters, hidden but accessible to screen readers and \n selected for copy/pasting */\n\n/* Taken from bootstrap */\n/* See also https://stackoverflow.com/a/27769435/4220738 */\n.comment-delim {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Preformatted and code */\n\ntt, code, pre {\n font-family: \"Fira Mono\", courier;\n font-weight: 400;\n}\n\n.odoc pre {\n padding: 0.1em;\n border: 1px solid var(--pre-border-color);\n border-radius: 5px;\n overflow-x: auto;\n}\n\n.odoc p code,\n.odoc li code {\n background-color: var(--li-code-background);\n color: var(--li-code-color);\n border-radius: 3px;\n padding: 0 0.3ex;\n}\n\np a > code, li a > code {\n color: var(--link-color);\n}\n\n.odoc code {\n white-space: pre-wrap;\n}\n\n/* Code blocks (e.g. Examples) */\n\n.odoc pre code {\n font-size: 0.893rem;\n}\n\n/* Code lexemes */\n\n.keyword {\n font-weight: 500;\n}\n\n.arrow { white-space: nowrap }\n\n/* Module member specification */\n\n.spec {\n background-color: var(--spec-summary-background);\n border-radius: 3px;\n border-left: 4px solid var(--spec-summary-border-color);\n border-right: 5px solid transparent;\n padding: 0.35em 0.5em;\n}\n\n.spec .named-arg, .spec .opt-arg {\n color: var(--spec-label-color);\n}\n\nli:not(:last-child) > .def-doc {\n margin-bottom: 15px;\n}\n\n/* Spacing between items */\ndiv.odoc-spec,.odoc-include {\n margin-bottom: 2em;\n}\n\n.spec.type .variant p, .spec.type .record p {\n margin: 5px;\n}\n\n.spec.type .variant, .spec.type .record {\n margin-left: 2ch;\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n}\n\n.spec.type .record > code, .spec.type .variant > code {\n min-width: 40%;\n}\n\n.spec.type > ol {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.spec.type .record > .def-doc, .spec.type .variant > .def-doc {\n min-width:50%;\n padding: 0.25em 0.5em;\n margin-left: 10%;\n border-radius: 3px;\n flex-grow:1;\n background: var(--main-background);\n box-shadow: 2px 2px 4px lightgrey;\n}\n\ndiv.def {\n margin-top: 0;\n text-indent: -2ex;\n padding-left: 2ex;\n}\n\ndiv.def-doc>*:first-child {\n margin-top: 0;\n}\n\n/* Collapsible inlined include and module */\n\n.odoc-include details {\n position" + let d_378f0a8958fd695cb8d185a1ffd39428 = "\214`2\210*k\185\139\136\027\195\219\153\207\164\232\233\213\177\134\165\2520\184\217g\236\223N\155\144\177\171\016\165\r\145!\224\220\b\212(D\169c`\170T!V\151\233\001^\012\209B@M\143`6`\014I\221N?`l\235ae\180\243c\150\161!X\017\237\020\173\164\028\210\003\165\177\006\238Z+N,7\003\236#=\"\018^t\200\251\227\149\029a/\003\199\153g \014}\186\226\232\b\205\196!\016\165\191\249x\031\006\238\233\210\143s\216X\248\171b{E+\198\200\016\021\021\019\237&\004AJ0dD\131\156\016(\136\014%1\160\"&\212\196\130\134\216\253\023\016\219\175J#y;\243\130\154\232{\145\196\151\214-A0\245\253\197.\193\201\247\255=\221b\143c\211\017;l\177\167m\024\b\134\145h \b\001ItP\196\128\137\1520\019\0116\196\030\220\001\141\175\194~d O\208JM\182\238\212\209i\238\1945s\128C\183U\127<\190#G\000C\204dY\226\145d\197\230\169Lc\0018i\191\215F\011\030\031Y\247\243\190\191\171J\202\179u\154#\025\188\004\030\201l\\yO\1928R\145\200\004\152\177\235\"!\253\005\128\237gr\148/}\162\224w\228\026h0\020\186\135\240\200q\223O\233\006\245\133\166\226-y\134\168\169\1424\222!c\183\184\134:\021\bbi\012\189N?\012\165\012G\248\149\201\174\141\226\186[\143\230go\135\145\247 \164d\144%\250\197H\151\167\205b\155\014\0024\233\190\175\147\135\028j~\025\018\147R\023\192\031'\142\198u\236\127\226\211ao\212p8,\213%\211\138E$\193\144\145\193v\\\194\1524CB\227k\1992\152a#\212\0247\172V\178\209D3$3O\182\158(\224\011#A\006\241\200\b-\014\136\245;\155\232\132\001\208\020`H\211\012\142\232\2135\138'a\129$h%U\016UY\163t9m:]\175\212\019[\024h\228\245\000z\1649z\015>uh\209\232\003\160#\211\025L=\235f\niVn\132\175}\141F\1721E\179\b\212\221\1445\212\152\247z\133\231\014\156\209\183\181\2172%\188S\207\175l\006\180\147\025\182\001\158j'\\\220\243\002\226\165\150\140\203\0053\250\145\153\168G\163u>\248\184pt|\249\238\0193:\240\202\2224\211W\252\170\228\189\141Z\253V\201\007K\189IC\236$\211=\249\b\018\214\227\238;|\180\030\164}A\141A\018\169\181\236\143K?\206\242\163\251\136O\202\014\003\128\237\1329\004An\027\002\212\019\004y\237\000\215b>AP\208\134\000\r\004\141\236F\219\006\224*\194B\005A\247\b\002,R\016\020?\030 hT\016\148D\016`\169\130\204\178i\241\026RN+\168hC\128\149\004AU;\192\014\236A\016\152\218\016\160\153 Y-\027^\173\212\208\029\212F\016`\157\130d=\160\000{*\bzE\016\160EA{{\211\182\128\206\137\210\138\201n\142Y|\r\024k6\026\158U\024\167\247yM\":\176\249\145\210\228G\208\220\r\145\156\177\175/R\246\171\024\144\253w\236\130\003\180\011\012\244#h\241#c\208\021\140\194\193\190(\028\226\139B\187/\n\135j\000\134\249\017\012\247#c\004\004\163q\164/\026[}\2098\202\023\141\1635\000c\252\b\198\250\209\152q\138mt\018\182a\213\019\182\177\180\234\207\225\178\219\007\172\197w{ h\1901\005d\027Po\0059\022\236\245/\192\129\031\000\150\215\131\254\t8\245\031 \217\005\215\157\183\191!8\004)_\012C\029\198=\192\129\130\248\128\203\020\173\221\189\154\177\135\\\221\195\001 =A\205DA\021L\191\014\174;\n\026\157\245\2094\141\149\158Ul\223(\184\196\185V\218\026\221\213B\017\2021V\165\168\147Rql\151\217p\011\216+\229)Y\186\154\019[\235|o3\\\199\\\171&Df\149[O\250\016`\002\169\154\221\002\138\194odB-\1814\166\249\182]\029m\199\243\169\211R\226\018\195\224\1409\185eU\212\181=;u|{kE\166Gm\167\177/L\202hy\224^\231\165f\246\224F\132\018\195\239c\191\204\209\202M\1715-\230\202{/6]\167l\145\192)\020\215\150P\155\212\148\154\2296\232\n\215\172!o*\137'\189x\192\155\244\023K`\130\007`\222`\250\142\176\159\003(\209\003\0318\022$\025:\163j\018\165\161>\202\214P_z\028C\170\rR\249\014\002\175\170\149\246\185'\b\240q*\031\147\193\157G\162\163\165\202\184S\014\030\212U\197\144\228\151 I(\026\200\171L\254\\\136t\019\0204\012/\211?>BvJ^\221\158\198\212\011\224\015\180\003p\242\029\159`Z&\238K\241\202\211;5/1_/\158\222\244d\135\157\001Hc\006g\236\2386e\012;\197\254B\173s\209\192\007\207\224\236\165\152\243\213\005V\153\015\135$\254\216\1836b\241\248|\225\227Op\150c\025\197\230[=UJ\228\205}\181\131.\151*I\155L\157\248\1666\245\178\127 \187\209\249=\241*}\144\196\229V\182\227\025Q\170\031\1804\253\243V\2467\233\016 \140\199*\" E\160=\248\157f}\003\175\142N\173\003h\251\199\184\n\239(\\\238\253\204\027x\238Q\131>\225\249\193TCU\134\030;\150\026\142\225\191\229\236\021N\026E0%\233\166\207#\127\n+\181_h\206\159\221\252KF\20109\208\202\171\2373\188)\194\175\025\179\212\012\017x\161faB\148\221\005Z?D\19079\208\200\015\186\023p\255\158\249t\176\245\240\221\199\164\246\130\202l\236\021\155G\196\030\139\253\1666\178\208\230\251\021I\252\173\192\232Z\139\128\005\252=\206\145\171\200\186\250\022>,%\130\204\158/'\205@@\231\240\134\031\1482\191U1\006\"\225O\139\016>v\179\197\143xle\146\168G\219\234\204\243{\190\166Ed\221\r9D#\bd\005\217!\202\\d\157\\\r+\176\134\019\140k\177\241\191\225wgqf/\251\151\134\146%\206:\166?\\\223\223\255Hri\245N?\031\254\191\164$\150\214rcNm\250\169N\162\141\211\150\214\1621l\153h\213\\pY@]\176\144\196U<\201\167\230|`\188\152\250\247\222\000\157\251\017\178(ro\1336[5\019\012\213C\159\234/\012\003,/P\187\024\027E\t+\017r\002\137\160\1380\138\0167\130\151\150&\011\015\232K2zG\156A\000Lb\t\172{\002\219\006\232\1577?\018k\201\012\171\207\255\rQr\028\183\025\rQ\181\226\244\130\2019\n\188'\223\204|W\130XL\200{$\185(\193|\208\169\019\192x\023l>\200seH\005\217\132\151Yf `\196e\025\140\238\237yZ\000SE\207p`\217\238'\214\175b1\224\138bt\029\175\169\208ZdQ<\247I\237\223\249xn\127.\174\156\157\206\024\030Tt\1979\145J\190\1989|\t\025E*\rT\216F\144\160\191L\216\193E\187d\161\128\221V\210\0165\159\2199\241W\235\249\025\198\163\155\218\153\151pz\0305\244\199\001`R\217\0233\130\226r\131t\235\142\237\136n\249\011\166W\188W}G\146}\217'\254\166\217\165\234\225\223B\158S\216\219\143]e\156\226=b\211)\184\182~\184Am\207\157\254*\155_\0126\252[,;\021x\0031a\165\184\176\247\179\244\250\222{-\002\022\154\198\251,W\249\216\243\157\176\226\196\1909\204v\t\157\"|<\204B|!\214\001\190D\155\245\199\205\226\219\227A\139\238%R\169@\223\155\155y\213Zy\014\202\132\029\242V\221E\221\029\138z\238\160n\201{\149\236\019\225\000\244\203\161A-\250\007\248 ;\228\222\254\251\135\233Nk\147f\174\209\191\127U\157\167\2534\199(\195\127\209x\199X\231R\006\133 \132\226\225\147\b\227\145Ws\204t\139\244\027\027\1727\026\233\150_M=\192\161\183\183y\207\240h\159\248r\242!\157\151\127\229\203]\219-\246\254mY\189S\2263O\165E\\\252\146\252\159\186\192\217G\1888P\208\195D\211c\2309)\253E\201\181\254*\145\224-\1356\127\175\228\133\228\244\218P\189-\199\215\240\181(\210\166\206\209C\027\182\220\129WQT\157>\163\249\217y\205\140\232\012\179w;G\149B5\172\225\251\224\195\197\247\180\031C\237^\178\015)\181\240\161\168\t\206#\179\n\139\212\232N\183\131\150\184\184\189\2211<\153}\127\240\236\173\207\160[\243e\154^)\161D\192\158\181\129\155e\151\026Q_\187\021\187\232I\148\143\145\164\029\003,\227\147p%\195w\190ci\238\2110\142\161\239+\201\242\244;\2275\1846\1587jb\197\155\195r\012\248\019!\220\223\147L\252\001\142l\181i\003\136\245y\252x\200d\168\206\244\211\222\128-\2211\027\\\161\199\254:\136K\173'Srk\246\024{i`Jl\151\178\022\223qp\183\"\177S^*\021\018R\014\189\163\148\170o\181j5.\254\155\222\253k\173\168l9{\187@\179\191\131o\255\190\229\181\246\015\t\198\176\239j|\217\140(v\249q\202\129%E\156\211\151y+K/\158\194\1846\181\209\027\230\252\250\219\223\244\226\168\233 \206&\188T\180N|\133\190\014\181\236~6\005?\204\188\189\250]N\201\159\244\005\127\162\167\144\007\236\186\210\154\185\194)d\158\176\238\025\147\203\191\148A\159\254,>\254\205t\167\218J.XY\152\219\208\0303\253\\|\234N\\\140\145\155\152\196KL\012NJ\228&\206\188\202\221\023\019\127\202*\238Fz\238D\230\191\252\170\161\150\150az\002\179\136\251f\000\251*\147#W\226M|\225\1637\253\rIv\207\209 \185]\2381Y?L>;\177s\238\018W\177\204h\241\221|\249M\157\012\022\243eV\186\189:\187\152\rj]R]\219\191\229\178\021\147N\236a\217c\208]7w\197H\237\0027M\149k\252\249\215\000U\229\156c\215okk3m\155m\179\242\222\244\219IZ\198\031\215q,\029W\144\243\250\167\185\015\n2w\164\167\175b\198{`T\135\027\216\208H\188a\138\001/\152r429\246\225\185\201M\011wO\140\177Lh\164\162\187sc\179\188\163\156\160\162m|=\158\194\015\250\233c\2535\232\198\n>\218\012n\254\003\145}\029\1377M\127\244\003\252\195\179Q\158\143\203W\141\137\239G&\202\207\190U\030,\174\241\229dio}\131a!\229)\029n_FK2;;\019C1\000\213\186\151\148a\226\237\161\tl\220U\127\166 \225XT\229\170(\239\166\169\1313vf0}\162\200\240\216\159\139\255\156M\130\1342\2451ZT\135C\230\157\024@\027\200q\179\005=\222\188\200\228\028\187~k{\171~\235\028\135\1993\199\166\223\218\022\210o\159\235t{\145\192\194\177\209\234\249\222\179\025\153gi\244\176yW7\225\164\139\190\195\245\154\211\136C \209\188\163\139>\130\255\184h\160\158O\158\243\148:w\167:i\147m\142\221\149y\134\150\017 \247n\218\024?/[o:\138!Z\007m\208\214\182\016\180}\208i%\153\222\1377Q\\\244\246h\232\000\188?\218\192\234y[{`\160r\129\221Y>\127l\180l\161\203Q\177ht\223\186\200\210\134\134\182\241\230^\207\127\229\019G-un\165\195\232V\217\\X\007k\157dics\199x\203;\025r+\239r[[]*\023\226V\243i!:x\233\004o\254&\185\229H#\209" let d_37935d98135b118d937e895f4bb55add = "ack\",!0),ie(oe,le,ge,\"(\",\"\\\\lparen\",!0),ie(oe,le,ue,\")\",\"\\\\rparen\",!0),ie(se,le,xe,\"<\",\"\\\\textless\",!0),ie(se,le,xe,\">\",\"\\\\textgreater\",!0),ie(oe,le,ge,\"\\u230a\",\"\\\\lfloor\",!0),ie(oe,le,ue,\"\\u230b\",\"\\\\rfloor\",!0),ie(oe,le,ge,\"\\u2308\",\"\\\\lceil\",!0),ie(oe,le,ue,\"\\u2309\",\"\\\\rceil\",!0),ie(oe,le,xe,\"\\\\\",\"\\\\backslash\"),ie(oe,le,xe,\"\\u2223\",\"|\"),ie(oe,le,xe,\"\\u2223\",\"\\\\vert\"),ie(se,le,xe,\"|\",\"\\\\textbar\",!0),ie(oe,le,xe,\"\\u2225\",\"\\\\|\"),ie(oe,le,xe,\"\\u2225\",\"\\\\Vert\"),ie(se,le,xe,\"\\u2225\",\"\\\\textbardbl\"),ie(se,le,xe,\"~\",\"\\\\textasciitilde\"),ie(se,le,xe,\"\\\\\",\"\\\\textbackslash\"),ie(se,le,xe,\"^\",\"\\\\textasciicircum\"),ie(oe,le,be,\"\\u2191\",\"\\\\uparrow\",!0),ie(oe,le,be,\"\\u21d1\",\"\\\\Uparrow\",!0),ie(oe,le,be,\"\\u2193\",\"\\\\downarrow\",!0),ie(oe,le,be,\"\\u21d3\",\"\\\\Downarrow\",!0),ie(oe,le,be,\"\\u2195\",\"\\\\updownarrow\",!0),ie(oe,le,be,\"\\u21d5\",\"\\\\Updownarrow\",!0),ie(oe,le,fe,\"\\u2210\",\"\\\\coprod\"),ie(oe,le,fe,\"\\u22c1\",\"\\\\bigvee\"),ie(oe,le,fe,\"\\u22c0\",\"\\\\bigwedge\"),ie(oe,le,fe,\"\\u2a04\",\"\\\\biguplus\"),ie(oe,le,fe,\"\\u22c2\",\"\\\\bigcap\"),ie(oe,le,fe,\"\\u22c3\",\"\\\\bigcup\"),ie(oe,le,fe,\"\\u222b\",\"\\\\int\"),ie(oe,le,fe,\"\\u222b\",\"\\\\intop\"),ie(oe,le,fe,\"\\u222c\",\"\\\\iint\"),ie(oe,le,fe,\"\\u222d\",\"\\\\iiint\"),ie(oe,le,fe,\"\\u220f\",\"\\\\prod\"),ie(oe,le,fe,\"\\u2211\",\"\\\\sum\"),ie(oe,le,fe,\"\\u2a02\",\"\\\\bigotimes\"),ie(oe,le,fe,\"\\u2a01\",\"\\\\bigoplus\"),ie(oe,le,fe,\"\\u2a00\",\"\\\\bigodot\"),ie(oe,le,fe,\"\\u222e\",\"\\\\oint\"),ie(oe,le,fe,\"\\u222f\",\"\\\\oiint\"),ie(oe,le,fe,\"\\u2230\",\"\\\\oiiint\"),ie(oe,le,fe,\"\\u2a06\",\"\\\\bigsqcup\"),ie(oe,le,fe,\"\\u222b\",\"\\\\smallint\"),ie(se,le,pe,\"\\u2026\",\"\\\\textellipsis\"),ie(oe,le,pe,\"\\u2026\",\"\\\\mathellipsis\"),ie(se,le,pe,\"\\u2026\",\"\\\\ldots\",!0),ie(oe,le,pe,\"\\u2026\",\"\\\\ldots\",!0),ie(oe,le,pe,\"\\u22ef\",\"\\\\@cdots\",!0),ie(oe,le,pe,\"\\u22f1\",\"\\\\ddots\",!0),ie(oe,le,xe,\"\\u22ee\",\"\\\\varvdots\"),ie(oe,le,me,\"\\u02ca\",\"\\\\acute\"),ie(oe,le,me,\"\\u02cb\",\"\\\\grave\"),ie(oe,le,me,\"\\xa8\",\"\\\\ddot\"),ie(oe,le,me,\"~\",\"\\\\tilde\"),ie(oe,le,me,\"\\u02c9\",\"\\\\bar\"),ie(oe,le,me,\"\\u02d8\",\"\\\\breve\"),ie(oe,le,me,\"\\u02c7\",\"\\\\check\"),ie(oe,le,me,\"^\",\"\\\\hat\"),ie(oe,le,me,\"\\u20d7\",\"\\\\vec\"),ie(oe,le,me,\"\\u02d9\",\"\\\\dot\"),ie(oe,le,me,\"\\u02da\",\"\\\\mathring\"),ie(oe,le,de,\"\\ue131\",\"\\\\@imath\"),ie(oe,le,de,\"\\ue237\",\"\\\\@jmath\"),ie(oe,le,xe,\"\\u0131\",\"\\u0131\"),ie(oe,le,xe,\"\\u0237\",\"\\u0237\"),ie(se,le,xe,\"\\u0131\",\"\\\\i\",!0),ie(se,le,xe,\"\\u0237\",\"\\\\j\",!0),ie(se,le,xe,\"\\xdf\",\"\\\\ss\",!0),ie(se,le,xe,\"\\xe6\",\"\\\\ae\",!0),ie(se,le,xe,\"\\u0153\",\"\\\\oe\",!0),ie(se,le,xe,\"\\xf8\",\"\\\\o\",!0),ie(se,le,xe,\"\\xc6\",\"\\\\AE\",!0),ie(se,le,xe,\"\\u0152\",\"\\\\OE\",!0),ie(se,le,xe,\"\\xd8\",\"\\\\O\",!0),ie(se,le,me,\"\\u02ca\",\"\\\\'\"),ie(se,le,me,\"\\u02cb\",\"\\\\`\"),ie(se,le,me,\"\\u02c6\",\"\\\\^\"),ie(se,le,me,\"\\u02dc\",\"\\\\~\"),ie(se,le,me,\"\\u02c9\",\"\\\\=\"),ie(se,le,me,\"\\u02d8\",\"\\\\u\"),ie(se,le,me,\"\\u02d9\",\"\\\\.\"),ie(se,le,me,\"\\xb8\",\"\\\\c\"),ie(se,le,me,\"\\u02da\",\"\\\\r\"),ie(se,le,me,\"\\u02c7\",\"\\\\v\"),ie(se,le,me,\"\\xa8\",'\\\\\"'),ie(se,le,me,\"\\u02dd\",\"\\\\H\"),ie(se,le,me,\"\\u25ef\",\"\\\\textcircled\");var we={\"--\":!0,\"---\":!0,\"``\":!0,\"''\":!0};ie(se,le,xe,\"\\u2013\",\"--\",!0),ie(se,le,xe,\"\\u2013\",\"\\\\textendash\"),ie(se,le,xe,\"\\u2014\",\"---\",!0),ie(se,le,xe,\"\\u2014\",\"\\\\textemdash\"),ie(se,le,xe,\"\\u2018\",\"`\",!0),ie(se,le,xe,\"\\u2018\",\"\\\\textquoteleft\"),ie(se,le,xe,\"\\u2019\",\"'\",!0),ie(se,le,xe,\"\\u2019\",\"\\\\textquoteright\"),ie(se,le,xe,\"\\u201c\",\"``\",!0),ie(se,le,xe,\"\\u201c\",\"\\\\textquotedblleft\"),ie(se,le,xe,\"\\u201d\",\"''\",!0),ie(se,le,xe,\"\\u201d\",\"\\\\textquotedblright\"),ie(oe,le,xe,\"\\xb0\",\"\\\\degree\",!0),ie(se,le,xe,\"\\xb0\",\"\\\\degree\"),ie(se,le,xe,\"\\xb0\",\"\\\\textdegree\",!0),ie(oe,le,xe,\"\\xa3\",\"\\\\pounds\"),ie(oe,le,xe,\"\\xa3\",\"\\\\mathsterling\",!0),ie(se,le,xe,\"\\xa3\",\"\\\\pounds\"),ie(se,le,xe,\"\\xa3\",\"\\\\textsterling\",!0),ie(oe,he,xe,\"\\u2720\",\"\\\\maltese\"),ie(se,he,xe,\"\\u2720\",\"\\\\maltese\");for(var ke='0123456789/@.\"',Se=0;Se\147\254\178\153Uv/Q\140\017@\183\224\173xM2\212\200L`\030*e?\\\004\138\144 R\184@\015\254\170~\2462\178\149\185\146eQ\168\144-\210Q\153o\237\025&%J\141\132J\154\167\024W\21079^\217p\003O\140\132\001\205\150=\174TE\239T\161\n\141.\150+\214\141uDe\178 \204e+4\149S\002\151\232/\167\019\022m\004\204\175gU\007?\159\255&\205M\129BQ;\239\156A\1823\217a6\r\173,.\222r\149\173\209\005\023\185q\231\193\211%\151]q\149\023\029\239\b\248\240\149\195\2075\215\229\186i\142\157v\241\247Q\000=\131\142:\185\229\182I\208O\127S\012\144\168\198hc\140\146$\217@)>8,\181\020\228A\189\134\248(\128Z+\018\1305\155\213\159pm&%_\n\172`\137\226\021\252\148\245\131\178{8\158Cdq\140<\029\226\020E\152\197\198V\169\162\254\255\151I\183\135\162\206\209\133\191\190\232-\132:e\146\014,mE[\139\205\138\210\026,|N$\194\163J\147!\132\145\128p\005\181\217\253\237\181\135\184\000\155mY\136\242Hg\236Sg\191\003N\175\151vD\227\029\195I'\019,\\4-\182\184\218\205&\242Y\011\028\196p\1660O\166u\025q\215Y\251+0\170\168\163\1376\186\232cHy\1401\197\028K\172\177\197\030\007\021\158\201&\154f\170\233\198I\247FX\206\184\226NE<\169\1407U\169\142/\254\004\018LMj\019J8u\137\164>\2094\1641Mfx\226\158\153\"<\240\216\253\n\211\146\214\180\165=\029\137\1653]\137\231\207\219-.\0016\234\157\208\182aV\218F\211\199\229,@6\243\231u^\18398^R\144\233\155\148y)'\242\140\203+,\"&\240\229\165\183\255\173\138\229\207\0169\164\234\249\156\148\215\213\235\159W\174U^8\162\137\1720g^\183\233c\212F\141D\176\176\214\226\146\185?\r]\158Sk\024\184\136f\216\240ob\134M:\135J\148P'|L\158\220\004\012\000\001\148H\156\148@<\004\132y\12988a\144\019f\006\226@\130\015\187\003`\000\000@pB@\b\001\000\2405\002\t\001@@\136\031\163\162s\158\191\r14\230F\207)RI&\179>\014\135\194V\213p\n\178\151y'\149\022\149\172\186/\178`K\030T\180\1519\167\242k4\233-\128\245\187\237n\183\208\022\141\181\254fjcMH\002\160\225\128\163*U\2499\130l\144\163]\221\176*\133\214\135z4\030{w_\143\131\231\169\237y\146\1406bz\n\"\191\168q\242\237=\187\140\211\137\002\201\210\180\135;\204\029\r\151\241e&gb6\222\019\210\237\017O\230\150\029\130\007\227A\176\247\220\152\197\017\186\127\014\219'|n\204\248xm\030\249\141\149\181K\138<\r" - let d_3f5b432df048be5bbafe5b7ea5cd588c = "er-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-background: #252525;\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --main-background: #202020;\n --code-background: #333;\n --line-numbers-background: rgba(0, 0, 0, 0.125);\n --navbar-background: #202020;\n\n --meter-unvisited-color: #622;\n --meter-visited-color: #252;\n --meter-separator-color: black;\n\n --color: #bebebe;\n --dirname-color: #666;\n --underline-color: #444;\n --visited-color: #002800;\n --visited-number-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n --by-name-nav-link-color: var(--color);\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-before-color: #777;\n --toc-background: #252525;\n --toc-list-border: #ccc;\n --spec-summary-hover-background: #ebeff2;\n --spec-details-after-background: rgba(0, 4, 15, 0.05);\n --spec-details-after-shadow: rgba(204, 204, 204, 0.53);\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n }\n}\n\n/* Reset a few things. */\n\nhtml, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {\n padding: 0;\n border: 0;\n font: inherit;\n vertical-align: baseline;\n\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n*, *:before, *:after {\n box-sizing: border-box;\n}\n\nhtml {\n font-size: 15px;\n scroll-behavior: smooth;\n}\n\nbody {\n text-align: left;\n background: #FFFFFF;\n color: var(--color);\n background-color: var(--main-background);\n font-family: \"Noticia Text\", Georgia, serif;\n line-height: 1.5;\n}\n\nbody {\n margin-left: calc(10vw + 20ex);\n margin-right: 4ex;\n margin-top: 20px;\n margin-bottom: 50px;\n}\n\nbody.odoc {\n max-width: 100ex;\n}\n\nbody.odoc-src {\n margin-right: calc(10vw + 20ex);\n}\n\nheader {\n margin-bottom: 30px;\n}\n\nnav {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n}\n\n/* Basic markup elements */\n\nb, strong {\n font-weight: bold;\n}\n\ni {\n font-style: italic;\n}\n\nem, i em.odd{\n font-style: italic;\n}\n\nem.odd, i em {\n font-style: normal;\n}\n\nsup {\n vertical-align: super;\n}\n\nsub {\n vertical-align: sub;\n}\n\nsup, sub {\n font-size: 12px;\n line-height: 0;\n margin-left: 0.2ex;\n}\n\nul, ol {\n list-style-position: outside\n}\n\nul>li {\n margin-left: 22px;\n}\n\nol>li {\n margin-left: 27.2px;\n}\n\nli>*:first-child {\n margin-top: 0\n}\n\n/* Text alignements, this should be forbidden. */\n\n.left {\n text-align: left;\n}\n\n.right {\n text-align: right;\n}\n\n.center {\n text-align: center;\n}\n\n/* Links and anchors */\n\na {\n text-decoration: none;\n color: var(--link-color);\n}\n\n.odoc-src pre a {\n color: inherit;\n}\n\na:hover {\n box-shadow: 0 1px 0 0 var(--link-color);\n}\n\n/* Linked highlight */\n*:target {\n background-color: var(--target-background) !important;\n box-shadow: 0 0px 0 1px var(--target-shadow) !important;\n border-r" - let d_40e315d443ab444a385ccb1e4f871da7 = "\021\238a\224\233\225mRE\012\165\186z\179t\201\140(b\218\146\189NCHW\203@\2375V\139b\221\148\206\238\025\019V\027\172#Gm\233?n8\016\002M{N\031\023\232\198v\211_\196\141y\029\b\027\219o<\156\019C\000\005\004J\166I\205\rf\201\178M\012+fM\146\211j6\209\158\"\248\141\237ky\179\230\178\255\024\175\1525\015\158>\174?\213\023\003\001\003\201\233\234\018P~i\142\149Y\142\173\178\024\255'2I`,8c\003\137\250\174Y\0152Z\178^d\203+\183\127\025\026\214\197v\215\198\162\237\212h\171ejj\152\184\247|\021X\002\174\149\191\128\161T\194\t\136\240\147o\225\212B\025\020\2243\170r\000\031\025\000\181S`\187\248x\162 \r\229\t\241\150\194\018HJ}\000\145\234\011\129\215`\242\029\218\135a\174j\0259\183\002\152\000\232\223\015BF\193@\199'@\158$\218\139\216.[\133G\248D\209n\180Hkh\255\018%\005\012\133\157C\132\182\163\024\2330g\019Q\026\188\014\191C\023\194\\K1o\191\201D-\018&\021\\\028R2\234i\014\n\250\152\181c\241\164\214\171C\213\1765TmT;\145\221\176\215\135\130c\171\130-\007U!52\223(\135\18561\180\1904\t@\220\182\209u\238\020 \206\196\020|\249\157W\007*\163e\136;\190\236]r\212\2546\240\164\004\162\140\164bj+\t`|\147\130\137ZPP11\b\bQ\242\180uI-I\194H\208\018\197\163x\196\210\027z3\150\128A\207\212F\006\146s\1368\015e\195\242\242\024\212N\019\234\255\020u\166ao~|k\1733#\1938\1818hR\244\200\004\181I\132\0293[\"\199\182\175\185\224\156p\140\240\188\214\141\196\150( \240\129\196\164tR\128a\160\168\235(\184\021\004\140\133\228\127G\244+\\O\004\182\133\022Y\252P\028$\196\018\155\198\2328\027\207\239\232{X\180m\235\234|\012M| \019\202\021\241\158z%P\211\0198\127\217\177\186\187\221U\131\209\224\163\220]7\2358\015CCkP\211j\132\187\184(\184\144}\143\130s\202\153\128:\200\142\219\157kcw\147\145\0208\215\003\216\252\147@\182,\204Wn\244L\185jvk\203\150$\135\229\202\024\b`\182\143\212\174hJX\203F\197\025\252\160u\018\209\172\2215AtDO46\140\197t\129\0254\223\228\211\226\168k7\2409\162\1903Y\246\255\212\146\213\205\019\191\n\229\162\184\214\031\249G\159:\181N\018N,w\016eQ}\183\nD\140_%\233\221:\223\028\022\239(\174|_\237\140\202C+\2102\136\147-\254N\139eD=ZO\218EO\181\213o\224\166\150\183\241:`\130\139\134\150\149F\157\205\150\212I\135\127\011\225\176}9\020ID\000\229\247\163\148_\247\173/Y/\203\183sFg\235N\182[\132\159\156\019T\200\225\144\184\247\130n\223\129\196\214\153\210\217Iy\002\012C\017\029\237-i\214\193\168\241C\011\172\243e\241#\177\168\242\222F\157\175\191\132ZH\165U\212w{\145\139\221\002r\216\224$T\194\132\221K\003`\218\129\016\024~\209I\202\180\132\165\2139\224H\1363\194\252\018j7\235,\222\226\154gO\239\024\018\225\197\250tL\1284 \155\165%W\197j\006\177\019\r\243y<\135\1916\210\154Y~\140\148\012W\177\145\243\129\011\175cq\224<\t*!Q5\139\234\226O\192\015\n\145\241F\n\234 \224\205\r\227\025\007\183%n\165\210d\205\023Y\244\156F(Qi\224\243.\197\2458\143\247\188j\167w\222B\196\199\242\1684\164\243\001\234r\160G\237\153\134\244\204\186\145\238\132D@\019-\153@Z\207\166\029\245\173\204\218\229\228\171\235W\228\020Y\150^\249\226\182\180\206\182d%\178*\228\209\0176q\162\192\147\132Rt(S\t\133\153\218hJo\011\152IL<\137\156\247)\189\164f\210\214\171o9\234\225$\217\145=\209>\218+\213F\141\246\217\136\001\207\140\251sq\01263\205\192\151\147x\012\029Te\170\218h\151\"\177\176\019\015\019\027Q\1523\178\210\161\244!\231.\212\017\188s \003\181\022z\215Q[ (\193@\131\tUD\002c\240\251+NO\253*}\154\162%#\155\255\004!'\145\153\128i\153\232\016\165\231p\214\239\028\135\005jC\18322\011:\188\226,\130#&\202Kb\246Lm@2\129\128ef\026\1882\254\003\211\157\209\019\176A\197N\177\162O\203\161M\236\136\ti\151h\160V\201\204-\147\\\207?\\\236,\157\237\021\221X\221!\138\201\170\243\145_\130C\233\012v\219\238\170=N\133`\004'Z\155\023\212%\141\237\138z\170\213r\132\170\213ml\171\218\024\238\187H\012_]\t\166\022\030^X\017\212\176\195#\167\021\150\029\198\025\\fd*\217\150\149h\t\241\006O\016gpG\024!\137\017\152\165\0303\222\127P\001\229\157B\211oat{>\139\179i\029\233\b\133\027\249i8Z\231_**_W\148\215\\W\021\217l\242}B2\027\200\140h\173\241\026\005.\130P\145.\225\234{S\218&\140\229W/\159X\198&A\137\024\006&\142\150\002\228d\t\205\212\168\1831\1307\177\025h\194\001\180\028\005\226\020\151\173\235'\2169,B\174\191\181v\232\152\212\0065A\149\169[\220~X\199\131\148\153F\000q!dEP\149\030\249E\022\168\223\154\192\189k\151A\197V\209q\2358\180[\154\192\241su\222\223\156\18349P\134|f\021\167D5\232\186\138\023\252\236%\012^\144\030\152v\203\230\141\187\027\228\158\2255\214\007I\168\154\248\234M\217\231\145\155\131\186C\226\021\025i\021&s\011\224r\028\rA\019\002o\004\006SH\193\173h\194E\027\208\246m\229Y\197\203/&\158\005\167=q\222O\201?9\141\016\248'%\232L\161\214t\218\003w\149\1523\211.P\"\211i\183\198e\178C\244uXa\171\233\220\210\133\175\006a\251\129v\147\r\228\144\232!\252\b\186H\0254$\227\208-\004]E\192>\156j8\215\144\225\1854.\250\222\231\167\212LlFp?T+\191k\187\127\022\180@\185\1453J\005E\151cxr\022\155\172\004\220=lc\029-\250S\1921\154\155%LH\134z\205\134\183UQ\247\021\tw\196\031Q\193z\209L\t\211~DX\160\200\204\240\248\246\181h\024\199\020NB\206y\220z\213E\235B(CnE\025h\168M\138\192\133fq\bv\219\233\238\026\170\222Ly?\229(\158\022\029\135\215\026\224\149\200\133E=\210\129 \195L*\186\017\130\127\211v\209\0022\181\254\163\238\194\188\250v\219\027\201\144\006\129\004V\218]i\180\153D\024\223 `M\231^\0218\192\137w3[o{\141Rm\155d\149VQ)\"M\134\127.d\018\004cws\029b\237\140q\134\180\209UC\024m\152\2074_\184\206\175\031\137\164n\160\225\238\t\155r\018hS\225E\231z\250\165\182Jx\177\155\216\021>V\233N\140\238\226\221\155\022\195,C\239*\178\030\135M\186G\156j/ASHh\127f_[8\178\024\135\027\1290\2179j\031u\1369\202c\127\191]!\234\180\218\186\167-\212\143\255\149\250LwzQ]\166\221v\1498\200\228\022\206\211\249\028!\153g\220\234\170u%\223\240\201\129y\243\n_4\214A\007\205:\163\143S\197\227\173\n\005 *\209\189O\199\2301\1322V\159\176\005e\021Z\184\180\139\163\174\212zT|u\164\130\186\204~\254\208\165>\026\031Ze\208\023\188\252\145\212}O\171\r\237\000Ak\195\167T9i\242G|\172dKjh\248t\145L\196\007\164\238\029V\021\222\247h\r\132d#F\n\t\211\162Q\187\199$\181X\021\240[J\135/f\230\214)\146\135X6\178Wn\222\188\1386\152%\241\255\187U\243$v\1749@\251\168Q\139\235\030\179\185 \187\141\011\225\205~de><;]V\019\213\215\001r3S\243\145\168\127\196\132\158\191\241\224x&\207\015\223\160)\132\014\006\bcXK\023\247&\")\210#\181*\156\016*\181\194K\015:D\215\016\180fJ\136m\211Dl\2268\003T\001\202Y\140t\018\031\1758\210/\128\254`\005eE\150\173\198\252\127\176\235\239\198\181\134nESY\023\1851\166\2209\188\005\r1W\196\2176\219k\151\164E;\195Q\169Q\132\198u\031M\241r\195.w\021\161\201\238d\211}\221\015\161\243L\183\1487`\1466\220W\244B7\137\r\190\221\191\191\211\151\253\231\178.\180\170\252\217\238\167\182\130r\151\021\000\\\022T\233@0\164r\239\210\028\195\254\252~n\166\027\156}\245\t\149\150\246@\212{\245$p\209\2029o\185\244\194w\197y\225JY\234\1993\171\n\249\157\246\127\216\253\000\252\151\224\139^\004\169\250b\146n\236\171\142\240S*j\163\222\190\150n\169ts\228\229o\\\199\nFE\240\174\131\248U\149\016\241<\173?]=\223\130cR\247\149nF\239J\252\249\148\021\198zZ\168\211\214)\158\198d!\178R%\161)\196\130E\160\212\177\134u~\193]+g\144\000Ed\245\147\155DPp\201\171\203\176Q\142\134):\151\136!\190\172jX\134\174\002\1893n\015*\195\249\209\187s\1892\129\168\140\234?F\1423F\239X\231%I\143\201\167\231\168\023\213[\028\226\170Txn?@_\234\143I\242k\019|\179\t\192e\178\156\159\174\127\153g\128\005\206\129# \255\169\157*N\021\197&/e\130\255\003a\218\233a\181|\156\178c\018w|aG\193\179\170(\218\023\152D\230H\128\150`\018 \245\255z\163Q\235\160C\249\168\145\020\236\246\017\185\029\217\219z\186\133\187[\252^\186\179QR\012\1805.x\220\169\228\158W\149V\168\029\183s\134\000\1588\179\027\151X\218\015o\218\223\133\150*\235\024\197\213>W@\244\224\213\166u{\206\232\239D]\250\190\2343\253\195\018>+\140\000\222\001h\255}#\030\248'G\215\201\163\205\149\213\209\214\255ZZ\242q\r\255\bzU\239\002\002\130\212\194\209R\155(\195a\203\240\206\172\136M'_(2\219\236\138\179*\143\030U\208\237\134\212V\156\1738\205\175'QI+QucugP\221\027\134\192E>\224\166\192Y\144\184\212S\029\020\145ky\196r\201\183\158<\239I\016\1413\021\193\147\029\001%Y\183Y\200\246\225DG\136N\169A\133\003\215]\1706\184q\134\237Cd\216\128\221+% \2173\002Y&:C\127O\161\183T\246\182\174\224\213\150p\1830$\237p\006_\135p\024h$Ym\148\134\253\238\190*\175\207\143\r\245\241Su\239@\238\186\246\004\136)\146g#:\195\169j\215\235\134S\007\2055\012\027\019k1\182\198\184\230bw\141S\158x\215f\150\147}v\143m\160\220\226\221\227ax\248'Bd&y\163\028\227\152\134U\007\r\019\186H6\214\145\211d*1\003\247D\026Z\164\178\r\129E(I\138\158\185\003L{Ng;jI\145\006W\143\240\170A\228\191{\133a\177\202D\207g7\235\182\139\170e+/\1426ZC\028U\247\237XD[h\169\200\170\149x\131\255\0050\235\127\237\205Vx\151\203\213s\244\198\222d\216\179\151\022!\156\174\189\030\191\214>\222\223\218\244J\175\0224|Q1T\221\128\\\219\195\198\247\200\241\202^\235\230\176\178\174\157\239\151bFh\236\132\169T\201\rh\024j\155\221M?\246J1`\169z\190)\136\184\182\167\179\171\025D\161\022\210\170\177\130\187f{'R\150{i\149\212)\189{`\224m\015\190\155\015\237X?;H&V\025[\209\003)\217}5\212\251\016\011\162kN\022q\012\004\001xC\244\228E\160P\135\134\"h9\161_\178\005;W\130#\172\162\203C$PTs(X\024\151\223\014\184+\144\153q\226\211\165\219%M\195+\018\242\144\004d\012`\017D\178\130\155\027\137\\\140q;R\244t\003\194\177\208\205\247\133\143FRUKfjW\254\187\159\198D\156\144\016\1697bE=\195]\234]\227\130@\228z\029\130\021\243\217X\198\251\247.\r\014C\188k'\227\189\162#`\156\143\029\158\196)K\029v:\155\215\166G\023\183\138\206\187\231E\167\225\201&$3\222\225,`\179\174l\236\253S7<^'\146\004\"\139\227=\175v\216S$\001\164\1656\138\020R\136\186m\029\135IY\143_0\1480;r||this.consumeSpaces();var a,i=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),\"{\"===a.text)++o;else if(\"}\"===a.text){if(-1===--o)throw new n(\"Extra }\",a)}else if(\"EOF\"===a.text)throw new n(\"Unexpected end of input in a macro argument, expected '\"+(e&&r?e[s]:\"}\")+\"'\",a);if(e&&r)if((0===o||1===o&&\"{\"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return\"{\"===i.text&&\"}\"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:a}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new n(\"The length of delimiters doesn't match the number of args!\");for(var r=t[0],a=0;athis.settings.maxExpand)throw new n(\"Too many expansions: infinite loop or need to increase maxExpand setting\");var i=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if(\"#\"===l.text){if(0===s)throw new n(\"Incomplete placeholder at end of macro body\",l);if(\"#\"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new n(\"Not a valid argument number\",l);var h;(h=i).splice.apply(h,[s,2].concat(o[+l.text-1]))}}}return this.pushTokens(i),i},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;){var e=this.expandOnce();if(e instan" @@ -156,13 +158,11 @@ module Internal = struct let d_5e57240b8ff6745d663ebd2060201199 = "0;d<2;d++){for(var f=!0,g=c+1;g a.anchor {\n margin-left: -2.3em;\n padding-right: 0.9em;\n}\n\n.xref-unresolved {\n color: #2C94BD;\n}\n.xref-unresolved:hover {\n box-shadow: 0 1px 0 0 var(--xref-shadow);\n}\n\n/* Source links float inside preformated text or headings. */\na.source_link {\n float: right;\n color: var(--source-color);\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-size: initial;\n}\n\n/* Section and document divisions.\n Until at least 4.03 many of the modules of the stdlib start at .h7,\n we restart the sequence there like h2 */\n\nh1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-weight: 400;\n padding-top: 0.1em;\n line-height: 1.2;\n overflow-wrap: break-word;\n}\n\nh1 {\n font-weight: 500;\n font-size: 2.441em;\n}\n\nh1 {\n font-weight: 500;\n font-size: 1.953em;\n box-shadow: 0 1px 0 0 var(--header-shadow);\n}\n\nh2 {\n font-size: 1.563em;\n}\n\nh3 {\n font-size: 1.25em;\n}\n\nsmall, .font_small {\n font-size: 0.8em;\n}\n\nh1 code, h1 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh2 code, h2 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh4 {\n font-size: 1.12em;\n}\n\n/* Comment delimiters, hidden but accessible to screen readers and \n selected for copy/pasting */\n\n/* Taken from bootstrap */\n/* See also https://stackoverflow.com/a/27769435/4220738 */\n.comment-delim {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Preformatted and code */\n\ntt, code, pre {\n font-family: \"Fira Mono\", courier;\n font-weight: 400;\n}\n\n.odoc pre {\n padding: 0.1em;\n border: 1px solid var(--pre-border-color);\n border-radius: 5px;\n overflow-x: auto;\n}\n\n.odoc p code,\n.odoc li code {\n background-color: var(--li-code-background);\n color: var(--li-code-color);\n border-radius: 3px;\n padding: 0 0.3ex;\n}\n\np a > code, li a > code {\n color: var(--link-color);\n}\n\n.odoc code {\n white-space: pre-wrap;\n}\n\n/* Code blocks (e.g. Examples) */\n\n.odoc pre code {\n font-size: 0.893rem;\n}\n\n/* Code lexemes */\n\n.keyword {\n font-weight: 500;\n}\n\n.arrow { white-space: nowrap }\n\n/* Module member specification */\n\n.spec {\n background-color: var(--spec-summary-background);\n border-radius: 3px;\n border-left: 4px solid var(--spec-summary-border-color);\n border-right: 5px solid transparent;\n padding: 0.35em 0.5em;\n}\n\nli:not(:last-child) > .def-doc {\n margin-bottom: 15px;\n}\n\n/* Spacing between items */\ndiv.odoc-spec,.odoc-include {\n margin-bottom: 2em;\n}\n\n.spec.type .variant p, .spec.type .record p {\n margin: 5px;\n}\n\n.spec.type .variant, .spec.type .record {\n margin-left: 2ch;\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n}\n\n.spec.type .record > code, .spec.type .variant > code {\n min-width: 40%;\n}\n\n.spec.type > ol {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.spec.type .record > .def-doc, .spec.type .variant > .def-doc {\n min-width:50%;\n padding: 0.25em 0.5em;\n margin-left: 10%;\n border-radius: 3px;\n flex-grow:1;\n background: var(--main-background);\n box-shadow: 2px 2px 4px lightgrey;\n}\n\ndiv.def {\n margin-top: 0;\n text-indent: -2ex;\n padding-left: 2ex;\n}\n\ndiv.def-doc>*:first-child {\n margin-top: 0;\n}\n\n/* Collapsible inlined include and module */\n\n.odoc-include details {\n position: relative;\n}\n\n.odoc-include.shadowed-include {\n display: none;\n}\n\n.odoc-include details:after {\n z-index: -100;\n display: block;\n content: \" \";\n position: absolute;\n " - let d_5f9942b4d85184e45b9addfc25ca6fd4 = "xMaxYMin\"]}for(var k=0;k0&&(n.style.minWidth=V(a)),n};function Ut(e,t){if(!e||e.type!==t)throw new Error(\"Expected node of type \"+t+\", but got \"+(e?\"node of type \"+e.type:String(e)));return e}function Yt(e){var t=Xt(e);if(!t)throw new Error(\"Expected node of symbol group type, but got \"+(e?\"node of type \"+e.type:String(e)));return t}function Xt(e){return e&&(\"atom\"===e.type||re.hasOwnProperty(e.type))?e:null}var Wt=function(e,t){var r,n,a;e&&\"supsub\"===e.type?(r=(n=Ut(e.base,\"accent\")).base,e.base=r,a=function(e){if(e instanceof W)return e;throw new Error(\"Expected span but got \"+String(e)+\".\")}(wt(e,t)),e.base=n):r=(n=Ut(e,\"accent\")).base;var i=wt(r,t.havingCrampedStyle()),o=0;if(n.isShifty&&l.isCharacterBox(r)){var s=l.getBaseElem(r);o=ee(wt(s,t.havingCrampedStyle())).skew}var h,m=\"\\\\c\"===n.label,c=m?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Gt(n,t),h=Ke.makeVList({positionType:\"firstBaseline\",children:[{type:\"elem\",elem:i},{type:\"elem\",elem:h,wrapperClasses:[\"svg-align\"],wrapperStyle:o>0?{width:\"calc(100% - \"+V(2*o)+\")\",marginLeft:V(2*o)}:void 0}]},t);else{var u,p;\"\\\\vec\"===n.label?(u=Ke.staticSvg(\"vec\",t),p=Ke.svgData.vec[1]):((u=ee(u=Ke.makeOrd({mode:n.mode,text:n.label},t,\"textord\"))).italic=0,p=u.width,m&&(c+=u.depth)),h=Ke.makeSpan([\"accent-body\"],[u]);var d=\"\\\\textcircled\"===n.label;d&&(h.classes.push(\"accent-full\"),c=i.height);var f=o;d||(f-=p/2),h.style.left=V(f),\"\\\\textcircled\"===n.label&&(h.style.top=\".2em\"),h=Ke.makeVList({positionType:\"firstBaseline\",children:[{type:\"elem\",elem:i},{type:\"kern\",size:-c},{type:\"elem\",elem:h}]},t)}var g=Ke.makeSpan([\"mord\",\"accent\"],[h],t);return a?(a.children[0]=g,a.height=Math.max(g.height,a.height),a.classes[0]=\"mord\",a):g},_t=function(e,t){var r=e.isStretchy?Vt(e.label):new Tt.MathNode(\"mo\",[Bt(e.label,e.mode)]),n=new Tt.MathNode(\"mover\",[Rt(e.base,t),r]);return n.setAttribute(\"accent\",\"true\"),n},jt=new RegExp([\"\\\\acute\",\"\\\\grave\",\"\\\\ddot\",\"\\\\tilde\",\"\\\\bar\",\"\\\\breve\",\"\\\\check\",\"\\\\hat\",\"\\\\vec\",\"\\\\dot\",\"\\\\mathring\"].map((function(e){return\"\\\\\"+e})).join(\"|\"));ot({type:\"accent\",names:[\"\\\\acute\",\"\\\\grave\",\"\\\\ddot\",\"\\\\tilde\",\"\\\\bar\",\"\\\\breve\",\"\\\\check\",\"\\\\hat\",\"\\\\vec\",\"\\\\dot\",\"\\\\mathring\",\"\\\\widecheck\",\"\\\\widehat\",\"\\\\widetilde\",\"\\\\overrightarrow\",\"\\\\overleftarrow\",\"\\\\Overrightarrow\",\"\\\\overleftrightarrow\",\"\\\\overgroup\",\"\\\\overlinesegment\",\"\\\\overleftharpoon\",\"\\\\overrightharpoon\"],props:{numArgs:1},handler:function(e,t){var r=lt(t[0]),n=!jt.test(e.funcName),a=!n||\"\\\\widehat\"===e.funcName||\"\\\\widetilde\"===e.funcName||\"\\\\widecheck\"===e.funcName;return{type:\"accent\",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:a,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:\"accent\",names:[\"\\\\'\",\"\\\\`\",\"\\\\^\",\"\\\\~\",\"\\\\=\",\"\\\\u\",\"\\\\.\",'\\\\\"',\"\\\\c\",\"\\\\r\",\"\\\\H\",\"\\\\v\",\"\\\\textcircled\"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[\"primitive\"]},handler:function(e,t){var r=t[0],n=e.parser.mode;return\"math\"===n&&(e.parser.settings.reportNonstrict(\"mathVsTextAccents\",\"LaTeX's accent \"+e.funcName+\" works only in text mode\"),n=\"text\"),{type:\"accent\",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:\"accentUnder\",names:[\"\\\\underleftarrow\",\"\\\\underrightarrow\",\"\\\\underleftrightarrow\",\"\\\\undergroup\",\"\\\\underlinesegment\",\"\\\\utilde\"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:\"accentUnder\",mode:r.mode,label:n,base:a}},htmlBuilder:function(e,t){var r=wt(e.base,t),n=Gt(e,t),a=\"\\\\utilde\"===e.label?.12:0,i=Ke.makeVList({positionType:\"top\",positionData:r.height,children:[{type:\"elem\",elem:n,wrapperClasses:[\"svg-align\"]},{type:\"kern\",size:a},{type:\"elem\",elem:r}]},t);return Ke.makeSpan(" let d_5fcd7eba230acf47d54c1897a9a9c394 = ":t.slice(j-100,j+100),mode:n.mode,resultSoFar:v},_emitter:M};if(o)return{\nlanguage:e,value:Y(t),illegal:!1,relevance:0,errorRaised:n,_emitter:M,_top:N}\n;throw n}}function x(e,t){t=t||g.languages||Object.keys(i);const n=(e=>{\nconst t={value:Y(e),illegal:!1,relevance:0,_top:c,_emitter:new g.__emitter(g)}\n;return t._emitter.addText(e),t})(e),r=t.filter(O).filter(N).map((t=>E(t,e,!1)))\n;r.unshift(n);const s=r.sort(((e,t)=>{\nif(e.relevance!==t.relevance)return t.relevance-e.relevance\n;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1\n;if(O(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=s,l=o\n;return l.secondBest=a,l}function w(e){let t=null;const n=(e=>{\nlet t=e.className+\" \";t+=e.parentNode?e.parentNode.className:\"\"\n;const n=g.languageDetectRe.exec(t);if(n){const t=O(n[1])\n;return t||(W(a.replace(\"{}\",n[1])),\nW(\"Falling back to no-highlight mode for this block.\",e)),t?n[1]:\"no-highlight\"}\nreturn t.split(/\\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return\n;if(k(\"before:highlightElement\",{el:e,language:n\n}),e.children.length>0&&(g.ignoreUnescapedHTML||(console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\"),\nconsole.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\"),\nconsole.warn(\"The element with unescaped HTML:\"),\nconsole.warn(e)),g.throwUnescapedHTML))throw new J(\"One of your code blocks includes unescaped HTML.\",e.innerHTML)\n;t=e;const i=t.textContent,s=n?m(i,{language:n,ignoreIllegals:!0}):x(i)\n;e.innerHTML=s.value,((e,t,n)=>{const i=t&&r[t]||n\n;e.classList.add(\"hljs\"),e.classList.add(\"language-\"+i)\n})(e,n,s.language),e.result={language:s.language,re:s.relevance,\nrelevance:s.relevance},s.secondBest&&(e.secondBest={\nlanguage:s.secondBest.language,relevance:s.secondBest.relevance\n}),k(\"after:highlightElement\",{el:e,result:s,text:i})}let y=!1;function _(){\n\"loading\"!==document.readyState?document.querySelectorAll(g.cssSelector).forEach(w):y=!0\n}function O(e){return e=(e||\"\").toLowerCase(),i[e]||i[r[e]]}\nfunction v(e,{languageName:t}){\"string\"==typeof e&&(e=[e]),e.forEach((e=>{\nr[e.toLowerCase()]=t}))}function N(e){const t=O(e)\n;return t&&!t.disableAutodetect}function k(e,t){const n=e;s.forEach((e=>{\ne[n]&&e[n](t)}))}\n\"undefined\"!=typeof window&&window.addEventListener&&window.addEventListener(\"DOMContentLoaded\",(()=>{\ny&&_()}),!1),Object.assign(t,{highlight:m,highlightAuto:x,highlightAll:_,\nhighlightElement:w,\nhighlightBlock:e=>(X(\"10.7.0\",\"highlightBlock will be removed entirely in v12.0\"),\nX(\"10.7.0\",\"Please use highlightElement now.\"),w(e)),configure:e=>{g=Q(g,e)},\ninitHighlighting:()=>{\n_(),X(\"10.6.0\",\"initHighlighting() deprecated. Use highlightAll() now.\")},\ninitHighlightingOnLoad:()=>{\n_(),X(\"10.6.0\",\"initHighlightingOnLoad() deprecated. Use highlightAll() now.\")\n},registerLanguage:(e,n)=>{let r=null;try{r=n(t)}catch(t){\nif(K(\"Language definition for '{}' could not be registered.\".replace(\"{}\",e)),\n!o)throw t;K(t),r=c}\nr.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&v(r.aliases,{\nlanguageName:e})},unregisterLanguage:e=>{delete i[e]\n;for(const t of Object.keys(r))r[t]===e&&delete r[t]},\nlistLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v,\nautoDetection:N,inherit:Q,addPlugin:e=>{(e=>{\ne[\"before:highlightBlock\"]&&!e[\"before:highlightElement\"]&&(e[\"before:highlightElement\"]=t=>{\ne[\"before:highlightBlock\"](Object.assign({block:t.el},t))\n}),e[\"after:highlightBlock\"]&&!e[\"after:highlightElement\"]&&(e[\"after:highlightElement\"]=t=>{\ne[\"after:highlightBlock\"](Object.assign({block:t.el},t))})})(e),s.push(e)}\n}),t.debugMode=()=>{o=!1},t.safeMode=()=>{o=!0\n},t.versionString=\"11.7.0\",t.regex={concat:p,lookahead:d,either:f,optional:h,\nanyNumberOfTimes:u};for(const t in A)\"object\"==typeof A[t]&&e.exports(A[t])\n;return Object.assign(t,A),t})({});return te}()\n;\"object\"==typeof exports&&\"undefined\"!=typeof module&&(module.exports=hljs);/*! `reasonml` grammar compiled for Highlight.js 11.7.0 */\n(()=>{var e=(()=>{\"use strict\";return e=>{\nconst n=\"~?[a-z$_][0-9a-zA-Z$_]*\",a=\"`?[A-Z$_][0-9a-zA-Z$_]*" - let d_61e011d9fe425bb5367c70944eba9fbd = "border-radius: 0 1ex 1ex 0;\n right: -20px;\n top: 1px;\n bottom: 1px;\n width: 15px;\n background: var(--spec-details-after-background, rgba(0, 4, 15, 0.05));\n box-shadow: 0 0px 0 1px var(--spec-details-after-shadow, rgba(204, 204, 204, 0.53));\n}\n\n.odoc-include summary {\n position: relative;\n margin-bottom: 1em;\n cursor: pointer;\n outline: none;\n}\n\n.odoc-include summary:hover {\n background-color: var(--spec-summary-hover-background);\n}\n\n/* FIXME: Does not work in Firefox. */\n.odoc-include summary::-webkit-details-marker {\n color: #888;\n transform: scaleX(-1);\n position: absolute;\n top: calc(50% - 5px);\n height: 11px;\n right: -29px;\n}\n\n/* Records and variants FIXME */\n\ndiv.def table {\n text-indent: 0em;\n padding: 0;\n margin-left: -2ex;\n}\n\ntd.def {\n padding-left: 2ex;\n}\n\ntd.def-doc *:first-child {\n margin-top: 0em;\n}\n\n/* Lists of @tags */\n\n.at-tags { list-style-type: none; margin-left: -3ex; }\n.at-tags li { padding-left: 3ex; text-indent: -3ex; }\n.at-tags .at-tag { text-transform: capitalize }\n\n/* Alert emoji */\n\n.alert::before, .deprecated::before {\n content: '\226\154\160\239\184\143 ';\n}\n\n/* Lists of modules */\n\n.modules { list-style-type: none; margin-left: -3ex; }\n.modules li { padding-left: 3ex; text-indent: -3ex; margin-top: 5px }\n.modules .synopsis { padding-left: 1ch; }\n\n/* Odig package index */\n\n.packages { list-style-type: none; margin-left: -3ex; }\n.packages li { padding-left: 3ex; text-indent: -3ex }\n.packages li a.anchor { padding-right: 0.5ch; padding-left: 3ch; }\n.packages .version { font-size: 10px; color: var(--by-name-version-color); }\n.packages .synopsis { padding-left: 1ch }\n\n.by-name nav a {\n text-transform: uppercase;\n font-size: 18px;\n margin-right: 1ex;\n color: var(--by-name-nav-link-color,);\n display: inline-block;\n}\n\n.by-tag nav a {\n margin-right: 1ex;\n color: var(--by-name-nav-link-color);\n display: inline-block;\n}\n\n.by-tag ol { list-style-type: none; }\n.by-tag ol.tags li { margin-left: 1ch; display: inline-block }\n.by-tag td:first-child { text-transform: uppercase; }\n\n/* Odig package page */\n\n.package nav {\n display: inline;\n font-size: 14px;\n font-weight: normal;\n}\n\n.package .version {\n font-size: 14px;\n}\n\n.package.info {\n margin: 0;\n}\n\n.package.info td:first-child {\n font-style: italic;\n padding-right: 2ex;\n}\n\n.package.info ul {\n list-style-type: none;\n display: inline;\n margin: 0;\n}\n\n.package.info li {\n display: inline-block;\n margin: 0;\n margin-right: 1ex;\n}\n\n#info-authors li, #info-maintainers li {\n display: block;\n}\n\n/* Sidebar and TOC */\n\n.odoc-toc:before {\n display: block;\n content: \"Contents\";\n text-transform: uppercase;\n font-size: 1em;\n margin: 1.414em 0 0.5em;\n font-weight: 500;\n color: var(--toc-before-color);\n line-height: 1.2;\n}\n\n.odoc-toc {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n max-width: 30ex;\n min-width: 26ex;\n width: 20%;\n background: var(--toc-background);\n overflow: auto;\n color: var(--toc-color);\n padding-left: 2ex;\n padding-right: 2ex;\n}\n\n.odoc-toc ul li a {\n font-family: \"Fira Sans\", sans-serif;\n font-size: 0.95em;\n color: var(--color);\n font-weight: 400;\n line-height: 1.6em;\n display: block;\n}\n\n.odoc-toc ul li a:hover {\n box-shadow: none;\n text-decoration: underline;\n}\n\n/* First level titles */\n\n.odoc-toc>ul>li>a {\n font-weight: 500;\n}\n\n.odoc-toc li ul {\n margin: 0px;\n}\n\n.odoc-toc ul {\n list-style-type: none;\n}\n\n.odoc-toc ul li {\n margin: 0;\n}\n.odoc-toc>ul>li {\n margin-bottom: 0.3em;\n}\n\n.odoc-toc ul li li {\n border-left: 1px solid var(--toc-list-border);\n margin-left: 5px;\n padding-left: 12px;\n}\n\n/* Tables */\n\n.odoc-table {\n margin: 1em;\n}\n\n.odoc-table td, .odoc-table th {\n padding-left: 0.5em;\n padding-right: 0.5em;\n border: 1px solid black;\n}\n\n.odoc-table th {\n font-weight: bold;\n}\n\n/* Mobile adjustements. */\n\n@media only screen and (max-width: 110ex) {\n body {\n margin: 2em;\n }\n .odoc-toc {\n position: static;\n width: auto;\n min-width: unset;\n max-width: unset;\n border: none;\n padding: 0.2em 1em;\n border-radius: 5px;\n margin-bottom: 2em;\n }\n}\n\n/* Print adjus" + let d_609f576f064dfa5ea1545119859f0158 = "or: #002800;\n --visited-number-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-background: #252525;\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n\n --spec-label-color: lightgreen;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --main-background: #202020;\n --code-background: #333;\n --line-numbers-background: rgba(0, 0, 0, 0.125);\n --navbar-background: #202020;\n\n --meter-unvisited-color: #622;\n --meter-visited-color: #252;\n --meter-separator-color: black;\n\n --color: #bebebe;\n --dirname-color: #666;\n --underline-color: #444;\n --visited-color: #002800;\n --visited-number-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n --by-name-nav-link-color: var(--color);\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-before-color: #777;\n --toc-background: #252525;\n --toc-list-border: #ccc;\n --spec-summary-hover-background: #ebeff2;\n --spec-details-after-background: rgba(0, 4, 15, 0.05);\n --spec-details-after-shadow: rgba(204, 204, 204, 0.53);\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n\n --spec-label-color: lightgreen;\n }\n}\n\n/* Reset a few things. */\n\nhtml, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {\n padding: 0;\n border: 0;\n font: inherit;\n vertical-align: baseline;\n\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n*, *:before, *:after {\n box-sizing: border-box;\n}\n\nhtml {\n font-size: 15px;\n scroll-behavior: smooth;\n}\n\nbody {\n text-align: left;\n background: #FFFFFF;\n color: var(--color);\n background-color: var(--main-background);\n font-family: \"Noticia Text\", Georgia, serif;\n line-height: 1.5;\n}\n\nbody {\n margin-left: calc(10vw + 20ex);\n margin-right: 4ex;\n margin-top: 20px;\n margin-bottom: 50px;\n}\n\nbody.odoc {\n max-width: 100ex;\n}\n\nbody.odoc-src {\n margin-right: calc(10vw + 20ex);\n}\n\nheader {\n margin-bottom: 30px;\n}\n\nnav {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n}\n\n/* Basic markup elements */\n\nb, strong {\n font-weight: bold;\n}\n\ni {\n font-style: italic;\n}\n\nem, i em.odd{\n font-style: italic;\n}\n\nem.odd, i em {\n font-style: normal;\n}\n\nsup {\n vertical-align: super;\n}\n\nsub {\n vertical-align: sub;\n}\n\nsup, sub {\n font-size: 12px;\n line-height: 0;\n margin-left: 0.2ex;\n}\n\nul, ol {\n list-style-position: outside\n}\n\nul>li {\n margin-left: 22px;\n}\n\nol>li {\n margin-left: 27.2px;\n}\n\nli>*:first-child {\n margin-top: 0\n}\n\n/* Text alignements, this should be forbidden. */\n\n.left {\n text-align: left;\n}\n\n.right {\n text-align: right;\n}\n\n.center {\n text-align: center;\n}\n\n/* Links and anchors */\n\na {\n text-decoration: none;\n color: var(--link-color);\n}\n\n.odoc-src pre a {\n color: inherit;\n}\n\na:hover {\n box-shadow: 0 1px 0 0 var(--link-color);\n}\n\n/* Linked highlight */\n*:target {\n background-color: var(-" let d_62016f2316dffaac5eecc447ca24c81c = "Z\195\229\202C\147\172\201\012\133\016g\129\1363\134A\135z\186\216\000]!\192\004Fk\245\251\253\207\238\128\029\005\186a\196\181\221`\004\1644\\\184\031[ \136\195\144'\139\152w;+\213\0116X%\165t\000^\204\243FG2C \213\004\017\211\208\132\198\r\136\re\205\1838\031Az\225u\148s\250\194?<\151\132\225\209\218\196\203l=\015\006&K\002E_\228!:w\2361\214\027\188\134\201\231\158\002uhH\229\152\160\203\224i\015K\n\130WPh\\\127\018Jv\143\147\026\000+\1348h\207]S\200\143\221]\166\022\216\132\180\171\190@\194c\187\1296\170\164\169\131\174\232y\1423T[\000A,Jz\240\207\029\215\253\174\129R\189\149Tx\251\018\149P\b\rP\185\149;\203\245\238\183\235\218\166*\148\011\0219Y\226&`\165M\232)\148\024R\245A\0067)L\n\156\021F\167\236\157:\211\189Gb\153ot\224A\248\208\151\250\185\159\\w\222\130\017\129\1736m\131\232\240\180VD\024Q\253\004.C\nD\194\193\133\217\030\164\016\192\1536\015+$\207\253\209\140\028\000^\018\1483\165\183LO\182\168\201\016r\150\187n\174\\b\205{c\157\166\183\215\165\235\150\247\203\187\243\177\155\207\242\197\249\017\\l,\016}B\156\145\178u\202[\135h[\163b\132K\207;\189Fg\194\206\225|I\206\215u\014\240\250\226\b\131\216\181\030B\152\211\186\004\151\188~p]\021\203\167\195`V\244\173~d:b\158\169 \022\164\194\183T\t&\129\022\144\152\015x\155\025\136k\018c\142\232ox\149\0274b(\"\017\218\168\254\184\154\028\156\132\025\0118V\250\180+\233\143\205\206\246\159\171\031\007f\194\224\024\243A\"Q\018\180\0196Q(\219aY\247\165L\137\225\147\219\234\137\185S#\206\007>\247\026Sj\215o\218\006\0055-\000hM\247\215}\254\136\r\244\250\tM4r\234\189%\156\020h\172\\2\028\026\011\237\t\178c\211-\180\139@\026\191\019]\158\209\180\219\196\143\135\198\019k\242\025\005\235n\156\028\225s\167\155]\201\239\247\216\215\229\180\227\217@A\168\186\168\251-E\230l\204\237\224\237e\030\026\215\196.S0-F\027\152vkK\\{\128\030\254\020q@*\000^\1846{\1920\n\158\204\220m\200@B\220a\194\002\134\253\188\179\206\194\230\137\197U\145\254\190Wo9\193\172\006_ry\207\181\249\242G\135\206\243\129T\2425HPc/;&\210\208\197\151\"\146\195\249\188Iq\031\129\001\006\000\156p\138\145\165S\n(8_4\183\226K\001\211\230\209;\159\167t\132:t\024\249\130\244^\131%'e\146z\023ua9\173KA\229\143\197\235N\253|\239\254\"J\209\205\003\129\017\236\236\135}&r\031\148\176\129\199\136'\172\1608\014o\141\205\216{\138l1\247;J\189V\229\130Q\158\190A}\160\144$\\m`CP\189J\224\1495V\234\181iB\215k\141\132\232rR\229\178\156\172\243\173\173\127Y\n;\149\166\160\148\255\149j\211K\243\140\134!?j\015\rT\188f\226\254R\242\180\140\158\128\028\222\185\230\193\t\000q\255\241\233\205\229\012G8,\019j\184\169\193C\178)4MH_\014\184\208\165\166\026\241.\255u\217\246\138&\016\241\1918W\2176\0199\228\128\165\188\132\023\024\029V\127\132O\011\215\227\204\210\229\202\186\236:]\159\187\148\005\189\1863q[0Rn\017>w\215\242\192\217\167\241\196:\137\b\0056N\180i\136\155_\182\222\015U\031'y\202\215\221\0267X\1583\235\181\151F\141P\191\137\253T\250w\175k4\152\183$\164\157\002\153@;As+{W\218\190nl\182\020\221\002gX]\184\189^\230\188\169\184\129<(\219\004\218 \160\218\172\026\176\015\1296\019\023\007\001\241\144\251\204\144\"x\rw\184\182\003\248\227V\207Y\145\2394\226\218\204\252(\133L\004\r\159V\170\219\201\003\192@\000\005\188-\024>\020\024\031?\rz\232\245G<\004p\002j\233\220\160E\1432k}\203\007\183\211\030\230\234^\030\244\014 J\001\211\031^\2037\233(\182N\000\019\022\148\158\205\133\140\011\225\153\146\213E\218d\234l&\209\129\031\251\246f\218\243S\187\137t\1302\139\172k]c\139\237\236\015\022\233\180\150N\174q\149#N\159rhk\180d\209\248Y\134V'\001\005\145K\002\151\198Z\132N@v\252\2511zn\243\164L\028{V\0298;\206y*\138\233\253\244\174\240\005\028a\181o\\\018\198\177\015\221\214V\244+0\247\006.\218L]\000\156\018~\248\141\030\154\138\221\175\226s.<\236\128\145\183CS7\135\156\168\225\000\211\135\179\183\186\141GJ\181\193\243\1778\216\209\156\171Y|\186_\149p\182\243i\021n\028.\243\224\212\211,5\211\150^\163\137\246\151~\179q\216a\163\230\155\156\222\149\014N\183\238\232\129\230c&\016\"D&t\144\227O(A\225\144\000\021\236\018 8\015fB@jSR\026\249Gr\1976\023\159\b\170MH\t5\197J\164\137\241\215z\158\250&*\028\140M\231\\h\216Q\163\240\186\000\241w\187\134{\1441c\230\005\203\248V\243[\255\190/\211\133\134\203:\250\t\191.U\181|\\>Ts5\157\252\141W\231'\129\218\176\177P\192 \176\151\026\\\240\202\231\1552\185\183\183\025\026\245hR[\213\028\189\134\245\134\128\130\006U\181\233\210\012*\225\018\157TJ7\166]\241>Wn\232\r\189B\131n,\220\171_\171\218\216o>\144\2354\205\000\238H)\181:-\225\015\227\170\168>9wBP\219\146\222\\_O\214\159\178\136M\130\004\234Q\210pA\211\165g\211h\220\237\224\209\169\226\220Ry\210Fuq\211\161\163Nm\238@\024\212P\248\136\161W\133\223\226cc\227\164V\212\177\219\028\185\133<\1357p\201]>\174+\250>$\232\162\254\138\005\247MFi\247?\149\015\248-\251\255\207\183\222\129i\236\193'#\001\004wu\221\189E\239\146M\194\158\024\225\248\209\226 }7~\170\197\216;\018\128\127|\152\251;/\148\199C\240\130\158\229\027\156\188'\230\214\172z\027\160\229\026 \249\227\n&\161\211T\165H\"8N\202\133rC7\199m,+<\208\158\140l\142d\2030<\246\147\130\1435d\221\250JU\254c\011jmz\004g\190\022\250H\171X\153`5]\232*y9\192*V\174\155\187v]]V\163\128\164\129\206\001\028\136]E\248\171\249B\025\000\242\189\208#\251o\132\218I1\030c\157m\164MD\218D\219\223\189\004'\005\230vM\000 1Y\150\247\0147\188\183R\146v\175\180\133`\1891L\027\181\000\180Q\250\192\196&v\024\231\137\021\170_\178\233\21459\151J\164=\1977\206to\189%h\134{\221u\025e7cr-\214\188\025%++\179\142\022\002\170\166\170UU\021\193\000*\005\185\244\029X\173\028\149\172\169\012=7L\128\006\220gd\133O\229c%\186\227[l\222J\245\1514\144 \n\239\224\001\232a\171\031\205\161\221\184]\029\135\234.\139E\174I\177\168\153\242JiM\182Q\151\250\\>PX\197\195\177\226%\131g\027\n\178\186\138\128\004\195\170\172\134\161\151\128\162:\184\171r\215\".\222m\023\024\209\150\205\218\222\228\184\134\248:\199\196m\209\2249Q\031c\161\185\246\251F\237A\197\152\250\152\187\205\255\002UM\164\192\172\198\218\1485\158yd!\240B\217.\247\131\255\237\247P\149\243\220\228<~\242\198\253\197g\209\183\236]` \014\030\206\250\149\135\172\227\007\163\130$*\132\175i\127\251\243\153\1661\001x\160\195atKbq/\231\153M8\136d\159[c\156T\015d\166\207'\208D\203\174\127\252\189\003\017\168\001\162%\016\192\241\017\030\159$goJ\027\146\018Q\205\005\b\222\b\016\155\158\134\153\143\223\156R&\2363\233\t\241\174vF\190\160\018\228\159\012\021\1398\184\215E\028\149\1462'KJ^\185\020\251n7\166\004i\028\161\206\195\1919\228J\245\1814\131ZE\244\167\204\131\188+\190\004\238\025%\0306\014\160K\012L\203\171 \025\176q_\163\026\214\175+\176qF\241B\196R\016f\164-\220\"\186\139)rpw\2549\1446\144\158\252@8\023\242W'\180\235\220\b\150Mqu\165\184\152`\026/\199\024;\153s\186\206m\200\t\023\237@\231*\227\171\163l\174\167\227\201K\144\251v\031!\1915\151\027\210V\139@\027#\024ev\144\144\168\248iP\153\202}/\233\158\172\\e\172\246\204\229\240!\179\203\2005\144\162\196\229\185n\201/;\178\024\029\184\253\021\007\173\253\160n\238L^\127\150XY\237J\242\t^\167\166\202zLV\219\004\202K\135\182\174\168G\192\200\147\031m\154\011\026\200\136\246\019(\228\142;y\214\207\140\200T\011z&\199\024\139 \246\1770\215\198\018\193Mz\178\247]\206\235\203\156QM\210\014\012\001\200\149\014\127\242\r1PT\170\170f&wm+k\216q\177\168\142\202$\248\154\027\147\012l\193\137KlH\151t=9Kpq\243\2148\201b&\249\227S'\201\005\217[\230\183\212O\240vWc\233R\245\020X\149\133\226\221a\235\245\206\141C6Z\222t\132\027\135\0295\b\165\133\189\244g\237\237\2178\224\181?\180l\145\208J\153\136\165t\019\219K>b\222\134\178-\n\136#\028O\028\147}\168\255\2057\218\212<\0243\163vp?oA*\244\255\240ih/\242};\014\215\162\196\202o\191\251\146\187\159\127\014\192&\152\245\221Bc\178*2H\152\182V\r\001\179L\148\153<\024m\136\182\030\140\187\004\2155\002\177\140\"5u$8x\190\154\228D\129:\ndd\141\149\232\023\195kv\029\133L\198\014G\202\158\194H\238\172K\197%\145d(2'y}\202\193b\\\018\226\222\202\162w\215\199{\135\186\022bWw\127\014\239\223\156\235\181^\220 *QZ\189{\248\227\158\152S\148Z=Sz\017\127\160\022\147\253q;\166|[&\159O8y\014t\026\147,~\255\200\2369\005qL\227{\2221G\201{\031~\215\206\142%\249\194\195%\141\150\175\131(G\170\132o\176R7[-6\139\190\152\018YyH\227\145\204\240q\029\237\174\173\177\203\n\173\186\229i\223\244<\244\136\162\152\176\132{v\251\144\243^\023\151Z\248\011K\226x\172=\181\240\179`\006sj\227$\141\211\139\203\006j\233\227\163\182\014QS\197k\139h\\dd\016\144\133\150X\0064\b(\247\225S\179\226V\146\145\015\186\205G\151\127s\138\235\1737&^I8\226\156\128\140\224\024\011|\170s\177<\221\170\223\171n\011\\\237\147^t\244\130\199g\222\166W\237\236\2387\002wl\250\176\015\161\026\166kw\212\129l\188\019\174h\\\199\243\141\173\155\189\186\r?\232\1568\160c\\\144T\204\209\228`{*\006)?\208\005:v[\199;\018\003\233~\173\189{\227\175W:\255-\137\151\0146\206\180\212\169\134\138\219\13982dZ\nA8\128g\018\211]\165\147\226\"\031\025\t\132\023G\196\r\151\189i\181\248l\n\154:E\235\1453\242\195\160\214\2008\004\237\2279\137\000B\023\207\233\205\025T{u\007\007\196\238c\177\011\245s\255{`\154\231i\141\138\243\183K\163vft\203\016\139G04\127]\139\238zw\171\201\214\242\155X\204\190\145\241\177\211\213\137t\177T\180k\135\216y\239#\153\218G\004\139\024iX\173\193\150\224\254_\140\214w\173\1663\\U\191\252!\189P\188\r\166S.P\031a1,\022\233w\136\237Q\139k\203Z\148\191/\155\022\196T\016\b\027\227\214v-9%\167z\r7>\2337!F\239\196\1908v9<\162/\017\018\245H\142\002 \233UQ\147\198\190\198\160\029\159\153\t\241\187o.\027\157\243#_4o\016\022\201\136\236\020\249\020\248[R\213\139(\164\152\238y\155\174\028\165q\130\219\205\140\175t\240\0283\175&\245\006j:\132>\173\207x\245\007\200\012\135\142\190\t\150\169tLo[6*\198X\154\"\235\014L\r\023\007\215SC\\\246\185tm\011\194x\177c\182\206h\025V\220\161\129L\207qz\186U\243\242*\000\161St\133.v\194\175N\208:\162\003\217*j\232\023\209?wd1\128\164\180\180u>\155\132\026\156\167~A\239\240i1S\179\244\216\133\162\236\229+\241(W\206R\190\210(N\164\012]\154@\209@\1859\164\167\226\184\165u\1843=\tu4\206\183\189\149\152\173`}\022\177d\016a\147\160o\142\200\204\127q>\226\235\140\003\160\246e\202\140]\r'\190g\225\237\001\212#\223\182\222\030\t\002\218\195\003\205\206q\127\198\174\149\002p\215\r\130\228\020e\221\138\235\005\210\219\199\138\131\204\251M\226c&\137s\158)\219\001r\130\000h1d\128\2244\136\1363)\142\172m\231\221\137t\208nsQ4$\235\\\193\221q\157\207\246=\251\142\189\007\219\142\239l\0019\225C\b\144\027\228\005m\177\219A\190\020\249\t\199y|\236P\252\210\b\169\247\028\168\003\228\020So\178\255\239\143\129\\1\128\231\227\254\162\"W\140C\226\180\127\011*f\145\131\139~)\139\1291\027\235\231-\n\139\003\252\143\n\251\208.c\029\133\147\158?'\177\171&\007\211\237\202\212\029|\024\179\232h\206\202\029\166.D\187\239>\168\199\206p\245H\156\225lLS=K=t\167k\236U\223\171w4\215\218\141\017J\252\233J\136\006\148\249\136\159\192\000\243{;\1903\235\153\\\1289\231\174\184\245\023\b\244W\140]f&\160\1981\176\154R`\204mP\2026\180\144\198d\223H\167\b4\204\132\004m'\178\194T\172\196\184\003;h;:\190\156\026\003\189g\207dxJ]\241\207H\238\210I\252d\203\204\212p\172\2273\242\135\007\157\155)_ms\190\135O&:%E\005Ej\156o\181\175\237\230\244\217\134%\230\128Pc\168\149\199x\012\198\241\242\191E\182k^\193\024\027\252T\205\146\148\254\024X\\O\219=S\132:,P\255`\182W\015.\156_9\232b\168\224$\174\202f\153\235Yd5ni\014\153\183,\1789X\147|@\174Y\207\229#6\n>OD\242\177\025\007)\145\254\166\228\249\199\215\244\217\190\130\230\221QP\208\029N\232\165\1759\186f\209\238\233\137UG\199.w\141WT:$a\210\211\179\017s\167\142-\187t\185\179N\158\204(#N<\240\204^\193?U\031\140\025\199~\144\n\127Z\240\206\245\238\203\\\247\142\233M\177.8\225Y_\132;\002\219:\189+\198\133\199\028\143]~\236P\179y\203|\139M\030\192\238\146\200\254\145\128\241\230\138\193\133\031\152\251\237\018\232\185\182\024\2473SA\003R!\221\192\255!\175u\1865\235\135\172\251j\168\247\158Ua\171<\155\191\020\220\1551\239\255\170\239]h\234\247\246\182N\183\222L\245+u\249\005*\189DE\201\253U6a\192\027\226\157\154,C\r\174\138\169(\192\228u\r\158\153\2201z\177\127`dfg\231|\201\176^/\153\179`\190lX\171\151\012/ \162\1828\138Ti\151H\243\246C\244\208\214\233\243q\215;\005\n\182\198\246\167S\161\228\231\147\178\231\138\253\237L\235f\191/_U\160\014\137\205|6b\193\161P3\170\214_\192\021\218k\169\138E>\171P\161\018\022\242\020\020\018\228\138\002\254C\016V\229\247\146\202[\237\247\003\0251\254k\016\240\247*^m\173P\223\212;T\127\191\245\1483\207\154/\201\179:O\181A>\156j\255bj\238\023S\189[\229\144\215\243\229\255\169\254[\232\154\n\177\165\218\167\029\138\167\249\210*\252\228\212\220\215\163\175{\206\t?j\029Z\147\1896\187\231^\1959\025\182\1625\242\151=\131[U\219U\221\191\236\134A\138b\138>\246\006\222\n\002\167}\158W\180\191J\161\206,\1895z\226\1463\155e\246{t\182aO\167\030\2058\203\135j\227\n!\198\000\198[]\237s\252uQ \193\208\218\196\006%\131N\188EV\249`Q\169\144Y@k\174!\023<5L\149\190UB\200\021\012g\188\020\151\171\180xt\246jW\021\025S\229\203\220\027\015V\235\208\249\\\t!\253\165\132H!\153q\170p\199v\128\025\173'\127rWD\167\147\225p\200\206\238\141\130\178\031_\234p\164\242\162esz\027\214\150\185s%\182\224O\141\177\200-\243\133\129\1462\142\143\131\222-}\221+\025\\e\148\145\025jJ\t\154\2135oE\159E\212\223\1701W\023\2283\149\239\1652}\1608\160w\201X\235\030\208/sai|\221\210\144\130\200\167\252\187\253\015;\234!!\255\191\031\127\nFJV\234q\212`p|\200\194\232\243\171$\022~\220\022\1880Pr\190AF\213\191]\152\031\252np\250\207t\147=\254/\149\246\231\189^\161\227\242\018[\222@\163J/\175\205\0197\022h\248\141%\">M\003\191\011m\241I\149j\029&9\r\210\168@\019\217r\179\201\"\179\243%\138\226\000\243\212*\163A\152#K\199\210\228\198 \138\2195\178\170\223\196\239\175Wk\171\187\023\247\1921\001\245/\242\130\b\195\2030\157\192\196\227?~\162\134\163\nr\196\172\012b`*\214\186}uhu\167\173\179\136\193\208\251\bB?\227\229\r\r\144\249\146&\165\177\024&?EB\217\181\243X\028^Z\200s\229\208eD\211<\231\160\167\"\155\168\226\149\193K\199\184f%\022\139,\165\249\212\026>\025\242`\2347\162\138\197\229\218\131T\137\003P\150\181\b7\236e0k\216\012>\167\182r\253\245\187\175\2368\154Vk6\012\133B4\030\030#!\023w\135~l\140!\166^J\153\015\135\207C\162:\224\b\213c8?f\221xn]\183\198\026U\218i\169}n\162\178RR:\016\240\014\020r\030\028>\031\233\220\182t\255\234C\136$\199@\198`u\149\243\190Ub\184\029\250\1691v\254\237?0\011~@>|4\140\148,\149\155\241S\144\130z\139\201\2376\190\217dM\208D\191\132q\229\214\249\193.\242\133t\"k\185O\248\168\150%\218;\135\153\217\170\020\217@sv\161;\161$R\017\233&\230j\181\022\253PH\155\187\253\r2[B*\238\ti]\207e\224\132\137\191\241v\017\184n\007\028,\131\224~D/\163ku(\202x\175\223\232\131\019\176\158\021\131\131}+\155\154{\151\015\247\247\175n\018:\133\254\146RA\161H$\240\151\150\224@!\249\187/\248\189\142^u\211e\217\221\206,|\1599\175\207\201\254\027I\147\229\18093\241\221\167YB\127i{m}\209S\144p@\224\015\182{\234\003OA\170\020\152it\b\146\253\015\208F\215\211\179\134\134\169\210wr0\177\134\\H\254\159\173\029cs\135\029\227n\222\0198\190\168\152d\198\170\"\028\155\194,\b\029\129\022\129\241\150W\162]$XD\188US\142\246\016w\129ai}\213kJm\1327\141\177\191\149\000\229\159\026\t\020\169c\173\229u\1414\143\239+-gz\217\181\215?\220\166\199\146\206\231\250\153\176\179\t\143\250\183\147\184\020\198\148\006K~k\140\157\205Vy\203\252cs{\235\214\150\184\028\231\131,/;{\158\244m\183\164\2465\180.\249\162\185\174\216\236\200(\184\\c\198\155\141!\163y[J\023\\\238\150\201\254.P_Ae@\221~g\154S!U6YK\218lB\154JE5\149\229\165V\183782\236J\149e\196\026\156\227\208\230\201\163\205p2\171\251I\208&\197\252\245E\153.%#\137\235y\139\150\209x\012\139\147\192\209\022\227\244\n\028\233+2nj\255G\198\015\016\1683k\203K3\224\030<#N\001\t\165\21464U,\127\030eJ#{K\n\205\2406k[{c\236\156\195\177\150I\024\233\004\157}\029\167e\\\159\160j\176\2172B~\127(\177\004(?\230!\208\rz\139a \164\173\031>\149\2085wzt\186\005R#h\207o_\224N\168\227\220\208\142\134\228\163\156\027U\142\004*\233l\218\174\183C\181'kO\246l\127q\022\244g\031\216\190\007t\188\248\132\149\252\131?\250\188N\200u2\233\165\n\165\168\1661O7`\243H\197y\018\139DmPi\132\018V\230\205[\182\2109\162EW\\\185\204\160Z\155\215X!\148\245\182L\175o\145\236\235\t\216M\191\019\213_\177U\182\225\240f\161\185$\163\143o\211,\173\198+\136#a!~\149T\179 %R)t\2397'\212\195f}\197U\143)\224\026\191\136\151\231m`\234\ruL\174\155\219>\"\232\205\213\240\005Bk)\129+(\198\231\153\248R\220\231\222'\167\0288Z;\147\217\150\251G\142U\130\248\216K-\230H\132b\177L\204\192\175>\215\177\180\127\177\233\208d\213bt\166ya\246\178\238\232\202|\141\023\1923lFP\174\021VWs\229\176\230\135Sa\173\156RE\158P\175S\243\165l\030\228Y\250\255q\t\255\003]\014\139O\171\181\022\234tV\159Vk\241\233\188\172\191Q\210`\153\020\249\031\027&\253\209M]\179\204\170\145\186 G\207\221\149\147\191\222\003Rd\138\1724}\238\165\212\212c\153\185y\235\004\n\159D\157G%7\169Tt<\0200v\172\tC\177qtd\011\228\140a\187\0005;%\237\007d\238p\014\007\141eC\030\015\127#a\186\229\171\236\188#\220\161/\181\144\186\163\142h\171\206\198\1482\201\023\216V\129\2107\"jb#\222d\164\031\003C\254\021\031{\023)\221\196\165 Y\018\014\179\191*\130`\158\237\184\194g*\152\185l\187Dj\180y\180:_\145]\244GY\200\219\212\251\029\002\246G:\141\153\1275k\229\0153\n\024os\018\250\244\199\249\179\247\237@P\156\028\131\193\202\162\240\141)\191?\128\229\024i\018Y\001\rs-\233[W\135).\246\030\020:\019\211\223\1915\n\014\207V\161m\t\216p\153=[\253\237]\bK\206\200eyD2\189U\147\239\237\247\207\137O\149\172ie\000\180\002\134K'\bx\209R\187\155\18264\231P\239\200" + let d_716cf074e5806616f6d61aeb32dbe70e = "@charset \"UTF-8\";\n/* Copyright (c) 2016 The odoc contributors. All rights reserved.\n Distributed under the ISC license, see terms at the end of the file.\n %%NAME%% %%VERSION%% */\n\n/* Fonts */\n/* noticia-text-regular - latin */\n@font-face {\n font-family: 'Noticia Text';\n font-style: normal;\n font-weight: 400;\n src: url('fonts/noticia-text-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* noticia-text-italic - latin */\n@font-face {\n font-family: 'Noticia Text';\n font-style: italic;\n font-weight: 400;\n src: url('fonts/noticia-text-v15-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* noticia-text-700 - latin */\n@font-face {\n font-family: 'Noticia Text';\n font-style: normal;\n font-weight: 700;\n src: url('fonts/noticia-text-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-mono-regular - latin */\n@font-face {\n font-family: 'Fira Mono';\n font-style: normal;\n font-weight: 400;\n src: url('fonts/fira-mono-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-mono-500 - latin */\n@font-face {\n font-family: 'Fira Mono';\n font-style: normal;\n font-weight: 500;\n src: url('fonts/fira-mono-v14-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-regular - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: normal;\n font-weight: 400;\n src: url('fonts/fira-sans-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-italic - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: italic;\n font-weight: 400;\n src: url('fonts/fira-sans-v17-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-500 - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: normal;\n font-weight: 500;\n src: url('fonts/fira-sans-v17-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-500italic - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: italic;\n font-weight: 500;\n src: url('fonts/fira-sans-v17-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-700 - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: normal;\n font-weight: 700;\n src: url('fonts/fira-sans-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-700italic - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: italic;\n font-weight: 700;\n src: url('fonts/fira-sans-v17-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n\n:root,\n.light:root {\n --main-background: #FFFFFF;\n\n --color: #333333;\n --link-color: #2C94BD;\n --source-color: grey;\n --anchor-hover: #555;\n --anchor-color: #d5d5d5;\n --xref-shadow: #cc6666;\n --header-shadow: #ddd;\n --by-name-version-color: #aaa;\n --by-name-nav-link-color: #222;\n --target-background: rgba(187, 239, 253, 0.3);\n --target-shadow: rgba(187, 239, 253, 0.8);\n --pre-border-color: #eee;\n --code-background: #f6f8fa;\n\n --li-code-background: #f6f8fa;\n --li-code-color: #0d2b3e;\n --toc-color: #1F2D3D;\n --toc-before-color: #777;\n --toc-background: #f6f8fa;\n --toc-list-border: #ccc;\n\n --spec-summary-border-color: #5c9cf5;\n --spec-label-color: green;\n --spec-summary-background: var(--code-background);\n --spec-summary-hover-background: #ebeff2;\n --spec-details-after-background: rgba(0, 4, 15, 0.05);\n --spec-details-after-shadow: rgba(204, 204, 204, 0.53);\n}\n\n.dark:root {\n --main-background: #202020;\n --code-background: #222;\n --line-numbers-background: rgba(0, 0, 0, 0.125);\n --navbar-background: #202020;\n\n --color: #bebebe;\n --dirname-color: #666;\n --underline-color: #444;\n --visited-col" + let d_725c52bce5d22dff34816d0cea74cf51 = "positionData:g,children:[{type:\"elem\",elem:e},{type:\"kern\",size:h.kern},{type:\"elem\",elem:h.elem,marginLeft:V(i)},{type:\"kern\",size:n.fontMetrics().bigOpSpacing5}]},n)}var v=[m];if(s&&0!==i&&!c){var b=Ke.makeSpan([\"mspace\"],[],n);b.style.marginRight=V(i),v.unshift(b)}return Ke.makeSpan([\"mop\",\"op-limits\"],v,n)},un=[\"\\\\smallint\"],pn=function(e,t){var r,n,a,i=!1;\"supsub\"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,\"op\"),i=!0):a=Ut(e,\"op\");var o,s=t.style,h=!1;if(s.size===x.DISPLAY.size&&a.symbol&&!l.contains(un,a.name)&&(h=!0),a.symbol){var m=h?\"Size2-Regular\":\"Size1-Regular\",c=\"\";if(\"\\\\oiint\"!==a.name&&\"\\\\oiiint\"!==a.name||(c=a.name.substr(1),a.name=\"oiint\"===c?\"\\\\iint\":\"\\\\iiint\"),o=Ke.makeSymbol(a.name,m,\"math\",t,[\"mop\",\"op-symbol\",h?\"large-op\":\"small-op\"]),c.length>0){var u=o.italic,p=Ke.staticSvg(c+\"Size\"+(h?\"2\":\"1\"),t);o=Ke.makeVList({positionType:\"individualShift\",children:[{type:\"elem\",elem:o,shift:0},{type:\"elem\",elem:p,shift:h?.08:0}]},t),a.name=\"\\\\\"+c,o.classes.unshift(\"mop\"),o.italic=u}}else if(a.body){var d=ft(a.body,t,!0);1===d.length&&d[0]instanceof Z?(o=d[0]).classes[0]=\"mop\":o=Ke.makeSpan([\"mop\"],d,t)}else{for(var f=[],g=1;g0){for(" let d_7302b0e4baf62f448250e8f2ceec4e57 = "wOF2\000\001\000\000\000\000]\212\000\017\000\000\000\000\240\192\000\000]p\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026t\027\129\159N\028\146J\006`\000\133,\b\1300\t\154\022\017\b\n\129\229(\129\198w\011\133\n\000\0016\002$\003\138\016\004 \005\131P\007\142O\012\129U\027\218\221\023\208\211v \207\2216`\232\240\228z\251\254\160@9\182\139\2206\000%+kx\030X\192\141\161\027tGB.\251)z\242\255\255i\201\137\012%\212A\210Z\157N\253\247C\2046\205rL\167zIp\202a\192\169D\173\024\168\172\154\189WWLl|\127G\135co-n\156L\r;\255\240.\236\251U\225\152\204\166\018\155\166\018\213\164\158\151\134\214\027\005!1Q\209[\016\140u\030p\205\254\192P\225'\\\161ox\160\166\237\247\1987\150!\161\134i\138\221P\163?\248K\222E\190\219\129;\190s@\177\162\162xG\135\241a\163\197-\138O\171[\006\203\197\255\249\192\021\r\243\007j=\151\202\138R[=gb@H\017\1453\b\018\213rs\188\232*\160\028\155S#Y9y\242%\168\214\194\158\185\015\001*@\148\169( \007\128\150\216\1368T\209,\017$\216\220\254\234+\218x\137X\195\184(N\255\249O=\237\171\212\011\251\170\003\252>]\1753\002\195\140d\b\148\000P4Nj\155gw\005\031X~Q\128?\168\145\146Nz\238\194x\254\001f\233\206\192p\170\154\191\142\153\214,\251/\131\182L\233\220\210\026S;\191\n\207\175\002\206\149\241E\005\132\2062\t\134gEL\129\239/\195\1991\2060,\247Iu\164J\145jC\164h\211\180\229\244?\000\187\193\235\231>\247M\221>}H\028\176\149\157JV\226\128\224\019%\249\012\0230\162-\128\127p21@\151\247\175\015oW\223\159\139\186.\161\171\026\026\168\167g\252\200\254\152]\247\231Z\209w\bF!\025\017\249\250g\138\192\254_\157\213\151B\182\227\216\002\019\138\156\196\225\225E-UG\220\213W63\139uu\239\160\194ij\174\200Z\223\219)\173\000\028\000EA\014\245z(\169\166M\026\223\024\150T\186/d\161\174\164\162LX\205(\0276\004\232\193!\217\190{\004mP:*\234\020\181\186j\228\176i\182\220}\000\b8`y\031\127\149\214\148N\247\004\249,2`\169\029\192\132\144\213{Wz\163\255\164\209\1503'\025\143\199\173OZ\219\248d$\141v\180r/(\233(0\208\r\165t\228\004@\163\028\030@:\128\tC\t4\r33\225\129z\255$m2\153x\243\243\tJ\182\b\143\154\172\156R\147\003)\240\169\156\201\178\212#\192\132\141\157\162*Z\153\005A\242\235u\253j*\169\234(\207L\005\001+32\203\178\n+\127\031\159\2139\246D\250\255\221\177\131\247\217\156\15395UQQ\017\017\017Q5\183\191wa\005\206\021\168\007\002\004Yoo\255[\150\17919\243yM(%-\001\130L\190gjN\221\128\221v\004.{\004\143\231\172\200)\188\145\000\166\000\180\134B\128=\012H\024\224\030\211\173\137\026\208\002\148w\131\181\149\192G\002\148?\012\142\202F\154\139\161`\204E\200\232?\0064\2080w<\174\174\132|\164\167hU`\168\141\168XI\242-@\"!oC\012\254\189\131@\153\249p\213\218\189\245\158\178\014\022J\002\004\026\020\137<\128\194\017&\190sN\232\178W\187VV\027\173\182T\1399\026L2N5\139\193J\2293J\151(\154^ \228r\159\129\172\031\003@v\2449\200\166\161\005\185>\184 W\135\\\215\028\131\204\213\2500\135\214a\165\217]\025[\252&q\176\213~\160t\247\137r\246V:F\155\\\176V\027q\1806\187\222f9[\158;Z\158\249\026\248 <-\192N~\004s\155\236Q\137R\229*T\246\189\240\001\244\213O\173\001\006\026\164\206`C\213\027f\164QF\195\004\205\150\t\011\152\197\020\1981\150\222t\165=-\165\241\144\154\214 \204n{\160\196t/\022N^\167\253<$\1428\024\024\144\021\019\007T\014\237\190\003T\166\151\031\b)<\244\212\223\0160\208\244.\208\244:\b\214\216\003\137c\164i\235\236\002kJ\172\159\176hK\171\176\145\213,\165\1339/k\152\147\230\184\2177\171\167e\014\158\165\219\184\252i\156\2333qFO\253F >(GK\167h:O\222d\146)d\192\134\241\003t\243\129W\163\158\140{\227\198\1844\206\140c\253\004\209\131c\247\2169\254\027[\151\174\031+\199\2265M\156F\166Q\207\152QUc\248(\155\162Q\234\157^\219\184\192)\142\176\159\206\145\219\251O7wm\151oH\228\197r!b\187~^\213\137\153\157\210:\162\150J\134\190|P\011\155\211\204&7\182\225\213\213oC\141\012b\r_>a_\022NC\020\195\239\228Wz\243i\252\155<\203\131\220\202\149\156\203\t}\188k\182\206\023\216\146\189(\219A\235.knI7n\204\234,MK\230`~\r\153\148q\213\165:\150\012Ni\242cL\250F\"\209\232_\030\024\159(#\141(\206\225\133\137Q6\129\177\232\135\221~\000yRnvwA\248\007\231\162\157\248\157\220l\025\249\159u\175\0234bd3\170\0124\245\015\148F\023D\147`\229h\189\200bDK,\239L\243f\147ov\243q\147w\186\213^\185\190\252Be\158\027n\243V\177K4\183\129\145\230Y>=\174\201\154\172+YrEk,\150'\207#\001\250\167\246\207\157TO\190\173\177\223\195:@nxe\030>\2104\132X'\225\149\021tE\243\202\200\023\237\187\243+\190\"\172\215\156{\248d\2161\223\241k\132\168\238\173F\030Qs\r\207\149k.\224\145\198\235U\021\187\186\240\244\245h\129\254S\219\016c\228a\226\003\142\142\213R\\F\190hcX0\134\151\182!\003\140[\173#\006riqiS\182\t\191$\245$\183\249\152\216-\216YWHD\143\142\177\007R\139\229\177\228 w\194\137)l\211\228\228\252\189\130Z\151\230\242;)\148/\191|K\185$\171Y\244\220\028L\147\1838\150\132]\228\155\254\182\007Zg\244\149\197\249\154%W,Z\243\206\186\226\213Lv\021\200\004y;\241u\139\018\006K\020\149\128\136\128 \029\232S\213\188g\248\194+\017\229\166D\015a\253Q\214&\182\\\205\195=Y?R2\2107\164\031\160\255\174\n\216i\146\202\231\246\135\220\016~U\226?\227\212d\b|\246X\014;\238\186<\011\175\011D\238\216\241\255UpO\188\244\007&\144F\2004H=d\012\164\n2\028\216\bl\128\228B\012\144TH<$\018\018\002\149\134\180\129\138\149\161\169R\1392\007\129e\242`\193\197=@\1363%G\217\025\214\135H\252!\206\242aR\166\211\181n3\225).\029\217\233\244+oA\214\202\003_\014\028\219\127\205D\004\016\012h\014\147\139\004\1882\015\029I\217i\233\173\193\217n\229AyY\254\150\224O\251[\141\255+\017t\190\000C\211\192np\214\1414^>\1529\230\195-\183\r\213\014m\196\206\186\192\221G\221d06:77\178{\243\152=\246\194\029t\227\142n\030s\2175\200m7\238\193fq=z!}\232y\218\165?\138\177\237\206Sx2D\002\185I\230\186q\243\199\199,\183\001\213F\219\208\226@\170|N\133\207\187\208t\127\244y\196\023\221h\211Ul\184e\254s9\191c\249\161B\249\173\164J\250\141D\165\147S\019\242]\162i=\138t\210\176&\192\016\2522\204\015\134j\233\193Q\144\200`\177r4-\237]\173(Q\246Y\200\236\157 \132\192$\177+\025\157y\134\227\241)\153H\215\162ro\225}\189\0014\218\201\148\182\195*\212\202\027dS\166B\199\170ba\174\162(\193d)\2023\251X\173\143/T\178:\017OSK\148\154\022\183\138\241m\232\228\217\147\225X\153\168\154\238\127>\156*\221\164\022\254\191A\166#Se \180\235\208i\151\221~M\197}\129\217\231\192\028\210\245\127\233\152\019N:\237\178+\174\186\230\186\027n\186\229\182\007z\244\234\243;\236\192\164\195\209\14500\1441\217Rp\228HAH\136OJM\193\1557\005_\190\\\249\241C\225/\136\146\142\014U\176`*!B\b\132\210\163\t\019\134.\\\028\161\004\025|d\202d+K\022/\249\n\016LL|\153\141\224\163R%\031U\170\240T\171f\175\198X\254\198\025\199\209x\2279\169S\199\217\004\0199\154d\018\023\147M1\012\155\214\012\030\142\153#3k\0284\014\219\236a\1533~\230\142\157\249\185\153\007\001[\128v\140Z\1990t\014fw8\174\131\028\220\144C\024\174\174\179\018\135\029\225\235\232\224\142\141\212\137\241t&\027\019R\128\221\2170\215i\188\221\024\177\155\227\237\214\136\221>\139\220q\159\175\007\211\148\196\0273\245\2144\222\030\231\207\173\218\152\014\186\022\181Jh\\&\r\b\012\019\1342t\147\148\177\149\180\140\205d\006K^\016\220\194\221\r{,\153\005\192\176]\254r\002\128'\000\132(\128A*\210QI\189\131\214\246\130\130\133\202\224\003\189\202m]\159\195\215<\151\0013}\t\212\b\018\129_#/\190\253\156\178\208\012rI\228\r7}\234o\251\147?' !I\204\204m\153S\000\250\248\004y|\138\162\011Mug\243\252\137\019=\250P%\192;\160]\136\225\255\161LN\015\193\211\2509\164eY\186\230\161\250\154e\025Kd\n\241v.\189Q\188%\171\216\222\234\207cu@\163\188r\196\170\233\024\250\189 \201\195\170\164\t\139.\209:\150\014\189Zh\221}J\135\211o\128|\231\029\201\246\148\007->\002 Z\134t\026\147Bn\206vtg\003\024]S02>\132\019;=\016\175\211'\016\131\181K\223m\b\000\170G\232\136\208\237\017I\130\026\202\182,\226=e(A\251\213\007\184\018\245\212\251\186\167}k\193\031j\177(#\197\005,l\030i\234\019ECA|\164\182t\130/\144\203\017\185\028\197\180q\154G\b\165*f+\220\205gK\247\184Of^\166\028\231#\031\244\128R?6\233!\170T\145\173\242\012\166\244\220T\158\159\210\011\019{\169ZQ\180(\rGI2\154\145\021\249\164D'\197Y\181Q\011>)\185zm\252\237\027\222\246\209&\210\163\234\243>\225\011\226[\199\199\012\127\255I\132\225\251x\005D\015\166\236\r\234\251\127\148di\133y\025\203\233\139\134\255g\151M\027\249\218\151\018\159K\203.\192o\221Jw\194\007\127\193\150\172\175\237nAP^\183\189\225\217\174d\182\183\183\168\146\1351\203w\218\199\253\230\194\159\243\228\172\144\159\128S\tJ\176H\135\212\139\161t~1\206-\215 \156A\0070\223\185(N8PiJ\235\180\221\239i\007w\207>\229\238\006\127rA~\203\128\173W\207\132:;\208\189\209K3\027(\157>#b\238\152\003\0227\2330\001\217t\007\235$\252#\023\161\015\2464\207\\]!\207\0171\153w\179\167u\t\144 \241\225\172fDf\186_\248M\223\245=\2237\219\1786~c\178\143\016na\t\181-\156\196\b\170:_ii$\127R\149J\142\233\224<\153PD\208d-\249TS\212\022{?\215\021Q5\163\166\213\180Z\195js|\001\167$\021\012C\203\191\174Q\177\229\222\136o\210x\190;\194\247F\250~&q\2496[\176\133~B\195\252l\184\223d\019ES\209u\186\019T\174\139\243\197\205\209G\206\163T\203\175?]t_3\132\2082_\222\026\139\024\031\136\132M0\240\017\175\176\216\231\150s\204\188\250\162l\214\209Gi\180o'n\178d\177\238\217\186P\243\188\163\251P\178\151\229\242\144\168]e\178\168Ygv\029\199?\252\203\191\253'L;1\236\003\015-\007F\185_*\149\138(c0\\\200#H\209\171\138\007+\003\138\168\127\026\185\208b\186\179\156\148\149Q\143\175E\165V,2uJnW\174!,\253\131W\205\253\203\127\240\128\128\231#\176w\168\150\241++\153\245\234&\137S\154\240,>Pid\253\145J\"\227\021\157\240\157\250t\240Q\175\207zO\252\152\177\185m[U\160\222k13s&\212T}v\133\169%\016\182G\191\144\219SOa\168\238]\254C\187<7\003\254\172\137l\178Y\219u\221\217\2288\187|wZ{\246fm\155\213\012\243 \141\180\156\185\225\209qyB\00025w\136V\211\142\014\012|\153\227\231\147\163\133\189M\030\162\183\134c\000t'\244\229o\200\195\205\196.?$\252\155[\195\127\157C\252_\211\245\220\223\158\142\172}y\185\237\255k\005\217\200\163<\140\178\179H\182\021\006\241\2319)E}h\164&\030\237\172\235tv\224d\222\232\192x\003\141\239\246\214\188b\228iD\029\019w\185\145\211_\202\031\022\201\190\152\238\1367n*w\031\245T\144Zz6\172\254\022\182\150IU\169\250K\1523}\227`;Nq\146\186S\023V\253\217\244\237\234\196\197\011\1787\249\141\219\237\203\156\146\158\014\178\022\246\000\002H\253\127\133\183\174\228\146\170RQ$\031\019N\021\006\154&\140\1634\140\162\189\020\209\019_3\200\141i_\017!\219\252_\134D\131,\229R\006\"(\200" @@ -364,8 +366,6 @@ module Internal = struct let d_d4ad292e224daee7b097a1260d10244d = "\190}\227S`\254\200\221)\186\226\252\191_u\252\240\247a\139\235` \224:\208\012\170\172\202o\210\016\1887\219\012V\127\181\175\140\2362Q\153\225\157\191\244*\149}F\163\178\167WA5\031W\245@\\\213\167\188\129\025\249\159\186\0244\175p3\173\210\197\020\240+\152\244\202\205B\186\183\130\193o\253\246\209S\1546+\191*\187Z\149o\027s\237\130\023\019Q%\228\194\240@\018\232\1822\218\0241\015s\215D\203\234\227\000\028[B\020\\w\218\250U\000-\200W\031o\216\180s\159\228w\254\239G8\167[-x\166\145\201d\232\17382\217\130k\186\152,\134\001\142\133\\\236u\163P\154\146\146\n\020\202]\194\003\135\t{\178\005\171r-{Zv#\253\156\180\172\031\245\215\202\0147\220\169\1903\219\252\163\131\229\015=\b\0057E\171\151o\212\r?\149|\234\152_7=j\178I\170i<\027\167\250d\235\233M\127:X\134\129\133i\2406s\200\143\148\214\166\248j\215\187\227\216H\005\162\225\249S{\176\186nW]\187\137\205\240\202\208J\027=\011\192Yf\200\214\201\20207\216\203\2510\218\014w\164\213\193e\187W\244\006f\230\250\172\127\205\217zi\153\209H\181\225n\188\006\202\159\249\198\239*_Q~\241\191\246\245\025\137\176\175\225\240\175\017\136S \253\227\142\143\145\240\1349\225\172\181L?)\022+\197\227\025p\012\012<\0224\"{\127\132h\254\191\015\176\246\153Da\187\209p\020 P\201\021\239\220\022\2520'W<\234\201\007\204\135u:.\215\165D\162r\215LswnnwV\230\248\233\029\239r\151\019\127\147\134\192\144\200\029#\154)\149\016r\128e7\215\165\129_\255\020#\151\138\beE\147\244fz\201\2437-)\025\178\201\185`c^\252\243\226R1\135\130=\187\149\229\227\205\127\187\164[\1521\234\223\217\190\0078\208\147wZ\r\216\001\1928\203f\183\246\144\004Z\186\246Q/\214\244\173\003\176v\2075A{\211e~0\192\255\137'\158\024\012\236\028\228\138G\203\161\128\249\207W\2111u\249\183%+\245\158\208\221\201\2218o\175>\196\165\024\202A\132\\\154A\163n\rO\252\215\127\159\175\187\231\211&\1538\174\196\001\214\253\184\210&\157\156\169\175\210Rj\128\000\029\002z\003 \153\136W\027\135\211\140G\175\152\132^/\144\241*\028M@\183MD?\024\135~+\224\209\245\212\163\154\178\240\160)<\136\135\007\188\156\188.\007R\139\240\134\127n\166JG\016\242\234S\188\154,\130\207&b\150qX`<\250\183@\198LBL@\223\150\136s\224\139\025Z\161\141\016^\1671\204\021\204\231\242\236\"3yei>Z\150#V\164\185\160\204\203\180\1711\007\162+\223\162+\127\163+\023\176L\189\195\193\208\138\160\176P\022\150\237}\171\135L|c\159$gR\181<\216\173'\175\160,H\011\155\174\158\148l\182\223L\218--\218\178\220,(\211\150\214\242\234A\152\201\247\145T?\180\226b:\180:]\199C\190xyz'\007\160\030\228T\193R\156\228r\174\192B\220\155\r\\\164\139\2559\165U\192\149\182g\022\208\026\026\005J\\\188\244\026\219\239&:\174>\133\202\027\159A>\207\13556=\028\154\157\194\204\158\186\176\224\012\246\245l8\177\027\021\205\027\017\218M\169y3\177\007\210\0285\226.l\022\177\166JuX\154\138d\214\148i|]\173LQ\003TV\212M\208M\208#\024\227\159\1568\248\166A\011.\130\184?N\184\255\209\176\220\b\000\184\2365\028\203\000\208\022cvO\141|\b\142\224\157\255?\000\243\025\212\211\186\133h\159\183\164\200G\181:\241\185\252)\005\237\227%\000\221\189\132\252\\\237>r\148\159\179x<\240\240\130\234\226\191kA=\177\235(\214\251\154\179\018\2261\218\003\222rx%\017\249\178$L;\151\156m\153\159\160\158\012$\155\028\146\b\134\207\147\023YX\247\192@\152\128\225c9>j\000\2544~\243\027\228L'\206\005\144\135t\248\156\004yt\203Uy|\\\185~iT\226{Q\235}\014\213wf\208\204\233\163\140>\012\159'g\2430\233\181\181\t3\156\242\214\196\2495\161\0184\161\223\229\195\176P\255:H\026\n\213\214\001\238\024\156z\249\019[\212%>\254\245\140:V\214\007\138\132\165\239\208\211\rX\213\173M\189\186\190\195\182\178\162\211{\189w9m/k\143\213\140Y\154Ie'Y\221\138\187\165fD\219\012\186\213\132\149Q\254\210Z\229+'\rf\212r\174Qmu\231\222u\146^y\229N\239\217\148\140\250.:\255\166g\021\173\212\158\030%d\139i\140P\174W}\178\182\158\143\223\132\252\177\172\204K]\158\229,Ym\190\151Fr\028\208\235L\150\1664O\210&\025\202\235k\201^\239F\200\206\207\138C\015\240\185\149\206\139rQ\003\179\154|\204\0041\025\159\229u\155\172\214\132w\"\222'--?\191\162\226\248G?ga\219y\183=um/Q\181\141\016u\235\161\217\157\132\246#N\127\166\174\235X\149p\163\143\229M\0063\169\215_9\n\r\173\255f\212cXo#\247:\236{\141#\135\166\016P\183\186\209\206\017\133Q\151\135n\015\200X}\143\196\145\163\000\029\143\144\218a\195E\174\229C\2237\024\215U\152\b^c\001\190\196\029\247\129\227n\136\165\135\170 #\239:\188\245\225\2414\195\012\227\231\194\132C.)w\020\bE\029\017^\227\222\014\000\176\182\224\145\169\030\242\019\138H\030]\183\205 \177\236\178-x'\196\194\189\223kt\240s\199\211d#s\247\024x\200;\007\1795\194\211\208\014;D\160\006Xs\219\247\014I4\209\250\014\250P\015\016+\236\231f\224N\136l&\171\195\225(\219\198T\247\248v1\250\189\015\143X1\194\166&bG\1306\245P\001\176Fc\240\241\240T\168A\1860\031\250^+\006\208\208C\137+\156\163R\231!\022\030\240\0127'\0316\227?\246\218'eo\246i\251{\167\211*\162\"U\b\198L]\134\bf\238P\015\001b\131\187\179\128w^?\244\253\128\133\135y\143\011O\130\016\136\139:\236g3\245~\235\147cXGF|J*\170C@\002\203(\177(2\208\138D\136=\131H*\160\162\023w\162\021\005\249U\233\253a\201\248\137R\"\179\216\225nu\002\179v8 \231\t\172 \221\011\184\204\251.\250X\015\144W\248\"\207\245\216\171r\007\140O\194W-\005g\004\n\012w\157\207|8\227\168\014\129\140\2427\003D\237\016\145\0063\253\018k\190X\163\146\000H\172#\0310w[\226j \239\168o\018\195\225u\200\236|\\\223\140\198\192\\6\152D\r`S\027\140mu\237\019a~\r\160\192\014\153i\137d5&\187\233Mu\133\n\012\162\250\232\136W\rB4\140I\205P\244\197:\136\189\014Mi\152\002\017\215\160\206\005\177XO\030&\164\184\194\237\164\159\195\207\242,\254\128\137\247\205\002\205\235\232\020\214|\253\173\159T\2481eI\180\148\245\193\137Lq\n\166&\166\024/\130\024\bpi\192\163\004\177N\179E\012\182\203\189\127<\134\011?\156sO\000\237\236\206\127\000\127\r\015\006]\213\207%\162\180\217\190\2027\183IR)*)\155\161F\140\000j|[\136h\001^y\149\211\148y\234\023\1926\"\175\146\186\015\178\132r\bt\229B\018\247\177\228\238\154\185\007\004\226\019\178\246\193qG>\253\249\000w\199\203\204L\163\249\195\225b0bk\217\2494\250\235\151Y\194\150X\140NjW\247B\156\016h\227\227\227y \1931En\158\209d(\139\178Y@\203\214\000jf]\015\246\1539\142\214>2Q\165Q\031\211\166a\023JC\207\143V\031\128\233I\252*(T\024\191\246\235\169\139\245,\t\190\182\183\205:5$\204\022\211I\202\143\153\017~\152\179F\145\004\b\166\231\005\172\027U\199\234\213\030\192VX\194&\189\006x;(5\204\195\164z\213\157\195\214\007\134\150\194\186r\138\158\004\017\254\017\166=\003l\140\223\215\198)\170\231\179\000\181\238\017)\176g\162\198b\131\225aa\016J\026\241\193\007\167CQU\136.\149\2392\148\130\206\022 }\246\222Y\148\176\210\007-\n\189\187\135\170V\014\194\236\187\169\210y\200\213\145,\0069m\003&\024\159F\146\201\253\156\192;\141#\248n\221a\166:\210hC\153\147\003\145\1839\232\152d\223\161\221W\238\006\019T\252\209\160\185\129\225\204\158\146r\012P\237\238;a\208%\211:\162C,\246\137\1749\028\139W(L\n<`\206A2\135<\176\031^3\236\140\233~\227\163I\137\002]4\222`\194\022we\154\002\2007\226}\128\132\027\189\199\004[\161Q\011V\030\158\243\146\195\136\209\249\180\249iH\184%\181h8\021\136\016 \178B\232\232,U\024@\"\029=e\012\004\001p\245\"F\140\1400N\014\127\194\194\129 \195 Z/\004\020\213\136\020\226\164D\168\245&\151\211\213#\223\193If\001\171\199\203c\182T\162\132\194\203q\224H\152?\229A+\182\129\153\182\202E@X-\250\174\144\210\246\222\011\207t+\224\246i\167\231Q\2419\134\127\170\131\152T\018c\225\251\234\229\235\014\024\193\2507\205\225\255$k\250\020\031\016I\244\174\242\131KM\140\148.\135\194\138Tc\225_\135\158\200\224\131\213\154\000jxGy\250\140\158\219{*lLE\151z?\156F)\197\204`\004}:\151D*\171\158\251\016\225)\250\177\160\023\164\220\1887{\211su\020O\231\252\245\238\231\215/o\223\004\027\156wi\139o\2201-?\201\172\194t\\\167e\021\225\182(I\250\209\183V\210`\171P\142[i@\021\002\238\142\1602\182\233o\136@\023\017\151\235\203\131s\136\195\137\173\155\175$m\244C?\134w\004\152-\137\147\236kiF\001\208\159\145\201\249\019\211\029I\019^v\0293?f\004\186\014\190=\133\222a\208Qc\135MsIweF\030\007g.dD\176\246\016\169R\128\1706Uk\181\150\160\000@7y\238;a9\007\028\220R\145(\000\154\164I'\196o\146\188U\141\204\028l\210\190\134l\146\224\203W(-\214\171\166\214JpF3~\156\183\155!\200\136\166j\166\0203\173x[G\2277S\030s\234\143\193Ma\227\179\190\145&QQL\181D^\206K\151\244\220\\E\226\002B\204\029\210=\248\159\003J\145\237\193\17970\210,J\t\1664\"\026\"\030\004\206\157P+\128\205\128tmrTFFu\160\212c\182\247#W\236\026\218\021p\202\146\239\204Y\020\031\130}\198\007\156\147t\191\160\139\203\239l\176p\241Z\0226^\232\023\200UF\181\197S\n\181\246\150\002\170\176\215\212\190\134\156/\167\030\151jRZ\015\144\2159\1575}\207\001\172<\219Sr\213\143\244 \017\146+uuW\136\228M^\232\207\215/\243\221\015\142\134OS\242u\165\177\138I\027\016\212\162\neK\236!\b\237\135\167\253R\029A\196\245#B\249\018\182\208\146\128Z3\218\206Q\215\158\233\230\179\169o\147\140EE\020\177\182\193\163k\1317P\146\028N\206\158\011\148V\225\198\131\139T\152\225Gzm/#G\163!\184\135\196\170M3\242\028\173\198\b\195\215q\191D\215_b,\134*%fA\128\138&\132\234\140\138&Q\201\"\002Y\187\1725ih\003L\154\132\252:\191\129\rd\137X\190\212\177\015\137=\127\138\129\027\212\154\155\015\001^ds\192\212\150m\014~\230\136\153\0169\021\146\202\175-\018rU\027\227x#x\193\014\206`\255\249\242u\012\1998\230\028f\193\217\147\156A\141\"\134\n\n\156mP\169\t>\151Bq\132\228\194\255\190n2B\131\236xI\226$\031$\195\253\209$R\220\153\002\195\179\134\190\161@\016\029=\128O\018D=~\219\187w\152\155L\177\236\234\131)\025\167\136\178P\b}\250\168j\015L^\140\254\250\218h\201\t\134\018\163\003\227\253\003e\147]\178\193\251\142\163gN\134\197B\209\191\192\151\187\244\212\132\151\129u\183V\231;\167Z\213\1760\151\1731\221iv\142+\001\229\237\150\248 \025Xf\202\246@\153I2\162Wr\031\232H\160\148\158\250T\214\021Oab;\148\236\165\031\003\136\193\239\242^\236Msqr\202\163\223\132\215\129x\027,A\007\211\207J\140)C\168\016\200 ~#\028`\"7E\025\000\218]i\133g!$/7\172\007W\212b`\215c#\0244\212{\191\178\186D\139\011\166\136\237\175\176\194\019 \162\005\224;\167\016e\200\156\160)\249)\149\159\209=a\128F\225\217\202\129\179i\253\151\192\028vG5\243,I\180\022\141\178-l\016\003\rZ\190\227\017\169\237\215v\205\020\029\165\"BY\"\180\016d\128VU\197\236\021\179s\138(\233W\163\\T\225\017\131\031@\160\197\157\137a\177\003\006\212\242\158\127\204\198\128Rk\138\201n\230&xPm\194\203\175~\131\243\145\150\137\172\026\149\007^4\234\127G\147\t\0035\002-E<\216\130\133\211%\011\161o5\162\171\211lM\198\015\251g\193\0184lkhr\167\128\154{\2420\224S\158=~\189\\\140\226t\235\189#\230\005\154\\\228\001\024\238\228LR\181\021\188k\151e\025\005\188W\183\216q\184\242\131\182>l\142bb\019\"'\230\2381j\208BT\141\246\1316\163\180\197\2354\176\214\178X\203\2254\022\225\191]\000\177;\156\005\140\247\194\255\023\178Q\251W\191B{\240\155\211\134nn\222h\146M6f\150\156\197\184\202\255\174\138\n\014\155Q:Q\021I\130\249\1729\030\158?\135\195\200\185\216\157\248\205e\003C\175@V^t]#7\tr\198\255`P\231\t\157M\130\251\158\182'L\244\182\221h\186\190'\029*e\153\176z\173\133\150{d\015\153\182\239\014u0\178\234\187\148\156\014\t\153\141\025e5\022a\020D\197\216w\193R\208\168\245" - let d_d65a17438333f43514c4a4296a4bb221 = "tements. */\n\n@media print {\n body {\n color: black;\n background: white;\n }\n body nav:first-child {\n visibility: hidden;\n }\n}\n\n/* Source code. */\n\n.source_container {\n display: flex;\n}\n\n.source_line_column {\n padding-right: 0.5em;\n text-align: right;\n background: #eee8d5;\n}\n\n.source_line {\n padding: 0 1em;\n}\n\n.source_code {\n flex-grow: 1;\n background: #fdf6e3;\n padding: 0 0.3em;\n color: #657b83;\n}\n\n/* Source directories */\n\n.odoc-directory::before {\n content: \"\240\159\147\129\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-file::before {\n content: \"\240\159\147\132\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-folder-list {\n list-style: none;\n}\n\n/* Syntax highlighting (based on github-gist) */\n\n.hljs {\n display: block;\n background: var(--code-background);\n padding: 0.5em;\n color: var(--color);\n overflow-x: auto;\n}\n\n.hljs-comment,\n.hljs-meta {\n color: #969896;\n}\n\n.hljs-string,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-strong,\n.hljs-emphasis,\n.hljs-quote {\n color: #df5000;\n}\n\n.hljs-keyword,\n.hljs-selector-tag {\n color: #a71d5d;\n}\n\n.hljs-type,\n.hljs-class .hljs-title {\n color: #458;\n font-weight: 500;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-attribute {\n color: #0086b3;\n}\n\n.hljs-section,\n.hljs-name {\n color: #63a35c;\n}\n\n.hljs-tag {\n color: #333333;\n}\n\n.hljs-attr,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #795da3;\n}\n\n.hljs-addition {\n color: #55a532;\n background-color: #eaffea;\n}\n\n.hljs-deletion {\n color: #bd2c00;\n background-color: #ffecec;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n.VAL, .TYPE, .LET, .REC, .IN, .OPEN, .NONREC, .MODULE, .METHOD, .LETOP, .INHERIT, .INCLUDE, .FUNCTOR, .EXTERNAL, .CONSTRAINT, .ASSERT, .AND, .END, .CLASS, .STRUCT, .SIG {\n color: #859900;;\n}\n\n.WITH, .WHILE, .WHEN, .VIRTUAL, .TRY, .TO, .THEN, .PRIVATE, .OF, .NEW, .MUTABLE, .MATCH, .LAZY, .IF, .FUNCTION, .FUN, .FOR, .EXCEPTION, .ELSE, .TO, .DOWNTO, .DO, .DONE, .BEGIN, .AS {\n color: #cb4b16;\n}\n\n.TRUE, .FALSE {\n color: #b58900;\n}\n\n.failwith, .INT, .SEMISEMI, .LIDENT {\n color: #2aa198;\n}\n\n.STRING, .CHAR, .UIDENT {\n color: #b58900;\n}\n\n.DOCSTRING {\n color: #268bd2;\n}\n\n.COMMENT {\n color: #93a1a1;\n}\n\n/*---------------------------------------------------------------------------\n Copyright (c) 2016 The odoc contributors\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted, provided that the above\n copyright notice and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n ---------------------------------------------------------------------------*/\n" - let d_d6a1be8caf2478248edb48ee82070d9e = "ary:\"node\",relevance:5}),{\nlabel:\"use_strict\",className:\"meta\",relevance:10,\nbegin:/^\\s*['\"]use (strict|asm)['\"]/\n},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,y,N,_,h,{match:/\\$\\d+/},E,R,{\nclassName:\"attr\",begin:b+l.lookahead(\":\"),relevance:0},M,{\nbegin:\"(\"+o.RE_STARTERS_RE+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",\nkeywords:\"return throw case\",relevance:0,contains:[h,o.REGEXP_MODE,{\nclassName:\"function\",begin:C,returnBegin:!0,end:\"\\\\s*=>\",contains:[{\nclassName:\"params\",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{\nclassName:null,begin:/\\(\\s*\\)/,skip:!0},{begin:/\\(/,end:/\\)/,excludeBegin:!0,\nexcludeEnd:!0,keywords:g,contains:p}]}]},{begin:/,/,relevance:0},{match:/\\s+/,\nrelevance:0},{variants:[{begin:\"<>\",end:\"\"},{\nmatch:/<[A-Za-z0-9\\\\._:-]+\\s*\\/>/},{begin:d.begin,\n\"on:begin\":d.isTrulyOpeningTag,end:d.end}],subLanguage:\"xml\",contains:[{\nbegin:d.begin,end:d.end,skip:!0,contains:[\"self\"]}]}]},O,{\nbeginKeywords:\"while if switch catch for\"},{\nbegin:\"\\\\b(?!function)\"+o.UNDERSCORE_IDENT_RE+\"\\\\([^()]*(\\\\([^()]*(\\\\([^()]*\\\\)[^()]*)*\\\\)[^()]*)*\\\\)\\\\s*\\\\{\",\nreturnBegin:!0,label:\"func.def\",contains:[S,o.inherit(o.TITLE_MODE,{begin:b,\nclassName:\"title.function\"})]},{match:/\\.\\.\\./,relevance:0},x,{match:\"\\\\$\"+b,\nrelevance:0},{match:[/\\bconstructor(?=\\s*\\()/],className:{1:\"title.function\"},\ncontains:[S]},k,{relevance:0,match:/\\b[A-Z][A-Z_0-9]+\\b/,\nclassName:\"variable.constant\"},w,T,{match:/\\$[(.]/}]}}})()\n;hljs.registerLanguage(\"javascript\",e)})();/*! `sql` grammar compiled for Highlight.js 11.7.0 */\n(()=>{var e=(()=>{\"use strict\";return e=>{\nconst r=e.regex,t=e.COMMENT(\"--\",\"$\"),n=[\"true\",\"false\",\"unknown\"],a=[\"bigint\",\"binary\",\"blob\",\"boolean\",\"char\",\"character\",\"clob\",\"date\",\"dec\",\"decfloat\",\"decimal\",\"float\",\"int\",\"integer\",\"interval\",\"nchar\",\"nclob\",\"national\",\"numeric\",\"real\",\"row\",\"smallint\",\"time\",\"timestamp\",\"varchar\",\"varying\",\"varbinary\"],i=[\"abs\",\"acos\",\"array_agg\",\"asin\",\"atan\",\"avg\",\"cast\",\"ceil\",\"ceiling\",\"coalesce\",\"corr\",\"cos\",\"cosh\",\"count\",\"covar_pop\",\"covar_samp\",\"cume_dist\",\"dense_rank\",\"deref\",\"element\",\"exp\",\"extract\",\"first_value\",\"floor\",\"json_array\",\"json_arrayagg\",\"json_exists\",\"json_object\",\"json_objectagg\",\"json_query\",\"json_table\",\"json_table_primitive\",\"json_value\",\"lag\",\"last_value\",\"lead\",\"listagg\",\"ln\",\"log\",\"log10\",\"lower\",\"max\",\"min\",\"mod\",\"nth_value\",\"ntile\",\"nullif\",\"percent_rank\",\"percentile_cont\",\"percentile_disc\",\"position\",\"position_regex\",\"power\",\"rank\",\"regr_avgx\",\"regr_avgy\",\"regr_count\",\"regr_intercept\",\"regr_r2\",\"regr_slope\",\"regr_sxx\",\"regr_sxy\",\"regr_syy\",\"row_number\",\"sin\",\"sinh\",\"sqrt\",\"stddev_pop\",\"stddev_samp\",\"substring\",\"substring_regex\",\"sum\",\"tan\",\"tanh\",\"translate\",\"translate_regex\",\"treat\",\"trim\",\"trim_array\",\"unnest\",\"upper\",\"value_of\",\"var_pop\",\"var_samp\",\"width_bucket\"],s=[\"create table\",\"insert into\",\"primary key\",\"foreign key\",\"not null\",\"alter table\",\"add constraint\",\"grouping sets\",\"on overflow\",\"character set\",\"respect nulls\",\"ignore nulls\",\"nulls first\",\"nulls last\",\"depth first\",\"breadth first\"],o=i,c=[\"abs\",\"acos\",\"all\",\"allocate\",\"alter\",\"and\",\"any\",\"are\",\"array\",\"array_agg\",\"array_max_cardinality\",\"as\",\"asensitive\",\"asin\",\"asymmetric\",\"at\",\"atan\",\"atomic\",\"authorization\",\"avg\",\"begin\",\"begin_frame\",\"begin_partition\",\"between\",\"bigint\",\"binary\",\"blob\",\"boolean\",\"both\",\"by\",\"call\",\"called\",\"cardinality\",\"cascaded\",\"case\",\"cast\",\"ceil\",\"ceiling\",\"char\",\"char_length\",\"character\",\"character_length\",\"check\",\"classifier\",\"clob\",\"close\",\"coalesce\",\"collate\",\"collect\",\"column\",\"commit\",\"condition\",\"connect\",\"constraint\",\"contains\",\"convert\",\"copy\",\"corr\",\"corresponding\",\"cos\",\"cosh\",\"count\",\"covar_pop\",\"covar_samp\",\"create\",\"cross\",\"cube\",\"cume_dist\",\"current\",\"current_catalog\",\"current_date\",\"current_default_transform_group\",\"current_path\",\"current_role\",\"current_row\",\"current_schema\",\"current_time\",\"current_timestamp\",\"current_path\",\"current_role\",\"current_transform_group_for_type\",\"current_user\",\"cursor\",\"cycle\",\"date\",\"day\",\"deallocate\",\"dec\",\"decimal\",\"decfloat\",\"declare\",\"default\",\"define\",\"delete\",\"dense_rank\",\"deref\",\"describe\",\"deterministic\",\"disconnect\",\"distinct\"" let d_d7b447b6bfc36721f581470728505547 = "3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},\"Size1-Regular\":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},\"Size2-Regular\":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},\"Size3-Regular\":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},\"Size4-Regular\":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.6666" @@ -396,6 +396,8 @@ module Internal = struct let d_e4a12f7ec4801d06858e634cb2f32ebc = "\018\028\204\199H>\155\200d\242\159\131\000\016P\247\201\139\005\011me\199\005\027{\016\000\214*7\1888\224\167.Y\024\164\031\218\025\016\192\000a\160\194h\021\154\245\017\203\192\139\007\139\128`6\231\226\012r<\220\025\145\156Ql\012\254A5\147\185\011(bj\2012\200@\199\166a\020\016\185J\031\185x\196\2477\002\128S\1514\189\137=\136af\003Y&\161[\191\192\246\147\012#H\242x+-\145\185\142\202a\004\240\172_fW\209F?\134{\161\219\210\003\167p\018\134\2174\236\141U\221\156\196<_I/_<8t\002\250F\253X$\171?\168A\2473\239\139\172\230?\000`\192b\176 \206\000\224V\192RKp\227\214Z\006V\245\180\176\017\196\153\023\183\135^Fs\250qX3\159\164\139#\183o\156\025d\031\209u\240\168\174\006" + let d_e7b369ed54608093279987f9690b2577 = "\n width: auto;\n min-width: unset;\n max-width: unset;\n border: none;\n padding: 0.2em 1em;\n border-radius: 5px;\n margin-bottom: 2em;\n }\n}\n\n/* Print adjustements. */\n\n@media print {\n body {\n color: black;\n background: white;\n }\n body nav:first-child {\n visibility: hidden;\n }\n}\n\n/* Source code. */\n\n.source_container {\n display: flex;\n}\n\n.source_line_column {\n padding-right: 0.5em;\n text-align: right;\n background: #eee8d5;\n}\n\n.source_line {\n padding: 0 1em;\n}\n\n.source_code {\n flex-grow: 1;\n background: #fdf6e3;\n padding: 0 0.3em;\n color: #657b83;\n}\n\n/* Source directories */\n\n.odoc-directory::before {\n content: \"\240\159\147\129\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-file::before {\n content: \"\240\159\147\132\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-folder-list {\n list-style: none;\n}\n\n/* Syntax highlighting (based on github-gist) */\n\n.hljs {\n display: block;\n background: var(--code-background);\n padding: 0.5em;\n color: var(--color);\n overflow-x: auto;\n}\n\n.hljs-comment,\n.hljs-meta {\n color: #969896;\n}\n\n.hljs-string,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-strong,\n.hljs-emphasis,\n.hljs-quote {\n color: #df5000;\n}\n\n.hljs-keyword,\n.hljs-selector-tag {\n color: #a71d5d;\n}\n\n.hljs-type,\n.hljs-class .hljs-title {\n color: #458;\n font-weight: 500;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-attribute {\n color: #0086b3;\n}\n\n.hljs-section,\n.hljs-name {\n color: #63a35c;\n}\n\n.hljs-tag {\n color: #333333;\n}\n\n.hljs-attr,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #795da3;\n}\n\n.hljs-addition {\n color: #55a532;\n background-color: #eaffea;\n}\n\n.hljs-deletion {\n color: #bd2c00;\n background-color: #ffecec;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n.VAL, .TYPE, .LET, .REC, .IN, .OPEN, .NONREC, .MODULE, .METHOD, .LETOP, .INHERIT, .INCLUDE, .FUNCTOR, .EXTERNAL, .CONSTRAINT, .ASSERT, .AND, .END, .CLASS, .STRUCT, .SIG {\n color: #859900;;\n}\n\n.WITH, .WHILE, .WHEN, .VIRTUAL, .TRY, .TO, .THEN, .PRIVATE, .OF, .NEW, .MUTABLE, .MATCH, .LAZY, .IF, .FUNCTION, .FUN, .FOR, .EXCEPTION, .ELSE, .TO, .DOWNTO, .DO, .DONE, .BEGIN, .AS {\n color: #cb4b16;\n}\n\n.TRUE, .FALSE {\n color: #b58900;\n}\n\n.failwith, .INT, .SEMISEMI, .LIDENT {\n color: #2aa198;\n}\n\n.STRING, .CHAR, .UIDENT {\n color: #b58900;\n}\n\n.DOCSTRING {\n color: #268bd2;\n}\n\n.COMMENT {\n color: #93a1a1;\n}\n\n/*---------------------------------------------------------------------------\n Copyright (c) 2016 The odoc contributors\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted, provided that the above\n copyright notice and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n ---------------------------------------------------------------------------*/\n" + let d_ecbaa97b8be9573105676709e2dbc384 = "3\252C\149\147\203\185\\r\202\173\144:G\211n\211\195\161\151\006X\177\234L\234\146(\017\194\186D\0211(\230S\228\157\171{\167\211\235T\184\155\187\199>\128(\168\012\185\203KKS\189\248\242\004\248\197\236\142\201\014\180\"\015Y1\224.\189\142N\201\r@U\211D\208\205\005\129%\217\231\192\128\149\127\158\216\015p\016\014I\247\194\176\1403\221\210\167\238\180\212\012v\141\251(\178]1\1759\018\157\161D\141\191\250``\172\026\201_z\255\226\210!\160\229Re\167#\128\178\025By8=\230\230\1288\030\167\023\014\250n\156\232\249\b\172\156\024(\215\145Cd\131\146F\194\213Z\250\188\152[\175E\248u\220\207\by\216\152\150\238\169\242\\\240\210j\197m\213\158a\181}\031\236\168gZ\201\019Et\213x\198e\158\215\002]\160\196\154\249\184\244D\016\168\152\147\022\030 \180\245\127\145\151:7C%\215\222\019\245\254\221N\019\233\135NxJ\156A\019\248;\217f5T\141bi9wIH\197C\171Kt\001\238\197\002\235\232*\172\022Dt\185\204e\200\210\168\216\029\242\224Qe\0054\225y\197+119\188\199Z\255k\231\019\132\212\225\186;S\007Y\218m+\191\204\028JI\206_\012\161\130\250\168\230\151\195\135\253\000I\216\179!\1764'}\250I8\208\135]\242Fj\002\140\135\014\239\165\002\210\141\177'\147w1J\169\181\169`K:p\007s\245*b\168\185\141\176I\186\0152\011\251\r\171\144\236j\237$\139Z\222\129\241\206R\133\n;\180[\255\238\200)\195%\193\026\213\158<=\233\007\182n\153\214q\146\193\181-\001\167\206\"\146\214?J4G\214\2181\160E\171\155\213A\165\133\253\185F\175\254\177\b\180e\231\140\219f\172T\218\154\218>Y}~\239\212\155\171\174\172\223\015\017\004\0123\173\020\228\148\2409\227K5\203^]\163e\133\011&\222\245p\206q\171\211H@\168U\149\130\245\251a^\158\149\n\031}\171\1734\160n\255WH.\005\151\2119\\\007\201\235\018\209\238\232_H\131\144\19167\247\182\146\181\000\174\194\166_\158~y\209/\237\029\140\184/~\143\219\253Rv\156$\251\220\146\167uPU\228\136\179\209\239\2547o\1275s\173\195\189\246\r\217\218e;\2021\018\177\012\251\141v\214C\172\177\150\139o\244\245\031Y?\250(y\011\219D\167\140\184\197/_\017`x\185:\252\229c\199\219t\130q\161#d\187\241}Q\\\130\160\161\214\029u\151\201\158\023'\200\157\021\191\150\001\002G\214-\176\222\172F2J\223!\211\012\182\226@\160\173PqP\247\249B\157P\1346yZ\029\150\146\205\129\187MD\218\227?\231)\245\019bn\155\244x\220SRV\210_Y\180[\167<\222\215Kj\234\150\185\194\r\253u\246\2430C\\\153\201\247\1796\150*.\231\004\023\tI\163=\159\217\170r\234\2522\182\149\236@\169\004)H>Q\029\156SY\028\157 ?\187h\255\254\216\195\212\020L'u\215Y\194\136\006\211`\022\006\206h\162\144\139 6\b\190\0034t\227Q\132\"\t\226\168t\239}\189\167\001\166\"\181'\241\025*\128O\023\135C\190G\183\015\177\193\135\216G\234d\193\238\207\239\004b\175\020\228P\209;\185\1907\229\030\157|UZ\242\158_m\185\206=\b\149\183]H,+\196\143&\019_\255\199E\238Eh\023\191\019\166\012\237(/\138.\019\1484\244\145\148\028\019\236q\027{T\175m\253\202\233/\235\171\158\231\176_\236\151d.8\192\231\1988\149\222+w\n\188,'F\020Z\025\2268_\254a\131\141\235DP\193\172F\188\012\163P\224\bY\182d\163#\249\155[38\159}\225\163\232b{\227\175\222p\153\026^c\016\202\014/7\006N\232{\203\2026\203\018\127\022`MTLL\023\174_\154\200\023r\252K\230\149\139N\176\153\187;X\232\180'0\235&\147r\018\146\178\172K\239~\194f\175\237\180-}\238\130\003\012\209\133\018Q\195\219\140\230\024G\240\239\133\210\184`'\227\207\130\176\145+\015\209\012\186\t\026\255\179$]Z+\204H\199J[\217\151\227\233\230\242\158\130o_0\186\246\t\216L\190\178\136_qQi\155\167$\192n\148B\021`\249\223kE1\174\193\165\024F\024Dv\156\251T{\200\221\172\253\187%!\185=g\203\019\230=\028\016<\132~H,\221\004C$\213\204\157fQ\176\194x=DK\\\243\249y_\234\202\205r\179\1827\173\164\241_\137\178\196\028\204\253oz\"\156\006\147Cb\205\216\230\0126\246\254\151U\238\241\186266U\146_z\169?Bi\"\147\237\143\217\146\206?\248\221\1925\153)\169K\202\r\153\187K\172\190~\149\189\011o\139w\240\186\171y\172\b\130\127\183k\169\178\234G\144\208h\170l\157\170}o4\156\153\129b\200\146\137\246\236\024\159\1779<[\179\231\243\187\204\212T\230\129\242\150\255C\198\148\018K\204\128B\197~\163\"\1506H\221x\253\137\150\248W\164\150\218\140\028\141c\197\225\236\180\184\185\"\226\004B?\203\131\2095\020\250k\230\212Y8cq\229\135]\011\238v\215\219\024\179to![\216\189\161zl*l\205\184+\030&\196\228\002\154\"G\243\135d\222bX\011SZ\168@\223Pw\235\185\153\021uB\219\022b\218\226(\012\167\188\221\199\229\015\188\154o\127\023\024\191\002\018\163\160\140\180\173n\161\134?\180\253\209{\023\179|\017\158\011\236\220\224\186ES\159TP\145\176\164\225!\164I\175\1479\220\198*\171\141EE\231\239\167\018\251\246\1484\028\208p{\135\243#\252\212\020\233\197\190'G\015Oj\162{\203\135\030+\167R\0300\146\181\247\242\145\242\240\141\011\b\197\156A\213Z\014\189\t\237\253\144?\221\190\234\196t\1285$\242\153\137\236co\207\025\189C \131A\128m\181\212\137u\149\026u>\223\209\192\141\200H@\146d\237\212\023\231W\209\151\146\003hG|\247\170\007/\235\221\"\144\240a\254|na\216\2212\181hy\244\224c\178V\127\006\147m\157y\221\164\191d\230o\152 C\185#\001\217\004\007Y\227\135\011B\222&v|W\188\209\158\219I\146\002\028\233\n\r\\\016q\129\190\223\193u\002\178'=\146\205>[L\178\tN\1643\225t%\149\"\192){\242|wE,jr4!\238\207#G\022\166)\232\168;q\209a\189\133\156\156<\210\180EX\028TS?\251\176&\185\154\149\250D\245\1625\158\129\148I\217\228\147\b\030\200\230\029\029\172,m\t\165\215\133\223\028r\011\213\150MY\130\004\163T\178\022\193\210%ed\242;C\003\129\253/\206w\206m\182\167Tg\006\180\222\148%\b-\195'W\255\223\025\214H\012P\004\251_\207c\018\191\148\199\133#\2153gL\187\255A\130\241\2433O\\\206kj\020\016\234\145\163\226\245y\222\1466SYU\132\234\180]\219\n(\197\025(\146\180\1897\184t<\213\145\182}\144\151\150\206\003\021\177\135+\223Y\1350x\006. \247\226\168\167\145\203\143A\0191+\251\227\133n\131\227\006\005\030\242\165\011\156,.\005\141\220\142Uu\137\229R\222\194\245\171\230\132L\151\014\243\002N\190`H\233|\242\221\225TU\151\160\245\147E'p\137\198\127-+e6!\248\229h\143\182!a\161TB\130\128\168]\178Ni\137\157\175\228\165\127\146$\245\148N\152\195\225\176\254\019\143*\031i\130\031q\154\250\027\253m\016\140F\227f\149\240\007\231\180\b\189=\131bG\224\226j\127\127\1917f)\207s\165\139x\229\161\251_\128\1680\165W\201\023\156&_s4\150\245z\170:\167Q\217\214RY\226\241\135\151\152\140\007\217tf\028\245J\211\174\231a@\234\016\172\247\255\150\188J15\1817^\148\176\016g%\229W\180tTq\171\222\143\236& \132\210LE\242\220\251o#\016\129\016\026\142\226\031dle4\191c\195_\003n\012\222\132\136~\211D\012\155\224\025D\022U\191\224\188\210\241\215\188\142\211\219\179b\156\253\255\238\1397\2291*\\\214\234\253\164\016G\231\227\023\002\129?\1830\244\139\r\250\173\215?\200\131\207\246\168\000\131\017\223\204\156\164\022r_\203\164)r\022\1494\1730\237pqx`]`\016{\219\173\190\006\188\252\234\212k>\225\181NR\136c\029\1276y\160\030i\210\224h$y\205\182\175\029t\173\"\249P\021\"\165\165\213\253\211f0F\154\142\134\001\188\249\187\027\0297\251\167\174\187\222J\152Zt \141\166'\002g7\132\147]\185\007j\2440lA$\193\012\206{2WJj\231\183\127L\166\201\164_\132:=u\145\239>\183\023W\b9m4\221\181\023\152\242ek\229\254\178\005\223\162\154\023Th\016\207i9\207\175\181*V\1510\233\001\213\205tA\236\178\195\197\181\004]\213\029N\199\145y}![\254_\184\023\228\238\227\014,\151p?\0146\229\150\030\222\192\197D\209\2373\214\210h}\192\019\2187\255\248.\132:O\129\020z\138\252w\178\236\218X\209X\201\156\194j\021]N\147Y\011\175=%5\000+N%\"06\169\179\154\171j\248\246\176/\215\174/7\181\006n\\\191\249\189\187\242>\243^3\205\170\140\154\"\199>5W\230\002\168\151Y\237\252hn\249\028[\249\196;\r\207\127vX`n\232b\167\240$d3\201\159\018\224\127A\t\206\146\196\204\178d\151{\215\131\174^\167\179T\250\164\164B\129\198\163\176\030~0=\0162F\023\239\127\175\247\222v))%\243&\021\190\n\161\002s+\163\167N\207\030\248 {\249\193~\249.\001\163\165\028\028P\011S\246f\2417{\200\218\250)\127\175\242\164\141$\136\bzH\019\196\027^`\015\188w\\\142'V\0228\183=\137\139\r\241\142\230\233\129\206\218(k\146_\nWU\248\t\156\222Q\185x\252\212\137*K\234\237.\255\174\228\208\002\134O[\214\025\157_\177\191H=\174\229\156\237>\179\167\168\170rBX\186\134\006o\186\249\199\243\171I\0209\254.r7\190\195M\133QD\248\161\153\181\140^U\186\205\2244\2461Js\t\144\140\192\017\152\222\199o/\174\015\207\239\241(~_\202Q]\223\145\133\192\218\232\206y\b\245\2523\b\029&)R\001Y#3\240)(\251\248yl\222\225\130\249\205\199\219w\214\212\200{\178\221\161SY\222\030+3!)\1331\235Z\244\225N\163K\212\130s\t\2428LK E\241K\191S97\247\189\243#5G\153\157\208\150\2183V=\221s\136%0~\216O\191\210\242\196\183\b\197\156\133\135_#\129~A\145U\227fM\216\030\012\137x\2079\0035\021wb\245\157e\014\252/{R\192L\182r\226\214\198K\228\188\132\252\180\130\141^\183\173\229\127\194\241.sI\143\171D\206x0\170\128\155\150ul\130\232\135\130~\230r\\D\245.3y\234,\161\209\147\197\156\196\155\237|\164\2503\205+o?\157\1468\166\024\219\166\253>'\180riR\150\2154\188\218\029\204\nR\006\201\210\014\189\2295E\234\163\201\237\255{o\173\223f\211\001\240\187\143u\171\163\\\127\174\147\132\017\166\149\249q\208\158\251\178\139\203\242\214\200\004z\158\147g1\134\228\146\028\135\004\215ev\029_\240\254\246\201\210\193\029\141\139\185\0175?\207\159k\145\236\024O\n\015\026\189[\226/\232Xr6\255\238\127\196\169\174\195\153\143\003\248\203\173?\ra\183\168K\230\197\205\139\167\1395$\021[\155\149\168\014(&\142M\254\1671\214\229\200\253\1347\215\016u\184\004+\148\161\198\255e\249\2351\150\201&\152\179\228\210\186\140\218\157$\141\132T0\141D\019k\156\177\183\197v\171\139f\161\231\020e\243\133\236\138\138\138Hd\129\186A^9\230\148\191r\029\015\196\003\236\139+s\249JA\246Iz\169S~\204\228\230\201\251\226h\255,Q\219\171\186\146E\156\t\007`)\"e\141E\229\252\\\127I\180\133J\129\bXt\142\243\185q\206\226e\149Y+/|\198c\006IR\192\247_\156\144\144\173g\143\203\030\202\254\030\242\213\169\253w\197T)\0026\135\018\245e\144\127\217s$)qN\189R\233H\140\163#\018H\178\160\204\191$\166\005\016 X\182\130\164\211\025\156\145.A\255\144\251\239Vo'\224\204\197\236\202\208.\148\165L{a\\Q\155\\\001\243\028xw\141\158\000\024b\153\148_\215|S\192T?\252\160\147\185\241s\251\174;s\201Y<[MV\157\180\212\015\213y\187\228w\1768\163o\153\227\211\007\211\003[x\131\201s\014\028\140cYr\235\2196\221.\164w\240\239;\247j\029\n\167\209s\007\220\237S[\130\209\172\njV\025|\022a\165\250xY\2502a\133\1615\234'0^\244\254\185\133\236 \153\194\165\184Rw^1\165\172\196~\251\156\231W|\130\160\168\175\250\142\237xf4h\171zj~\128\241\1770?\180B9\216\200]\243SS\202\137\ni\219\170$w\175\173\249*\235\214Wp\168\153(v\164\b7\165d\222\245\176\1504r~\228\198\247\188\156\148\236\176\019Y\206S\233p\018\005\1515\202\127\206`\006C\148'\006\r\161\021\007\005\004\135\127%3\253>\127\131)\188C+\134\136K8\149J\025\225\015\218\242\173\005A\246l\156E*$H!Q\241\204L\159\252\136\210\234+)d&\211\237\026\183\225\018\189Z\229\206`S\225[y5\133\"\178p\244\145\181g\172\225\0255\181\t\229R\000\000p\246\190\151&\030)\170\252\243\019\022\192v\222H\189Sm\229\144\185\248\188\251\177\242b\015\003\211\168\137\199\142~\225\204\210\216\171\244?\202\155'+:\2136\238\1838\156\206\210\188\191B\197\205#\165b\012\165\240\168h\238\246F\251\174\165\252\n%\145\187\142\133\017[3.\188\213\230\171/\237\249[O\b(\200\188@\238G\130\198\219\180\202\141\224\137\027^\187\217g\bU,\\K\004W\162X\184\016\199F\238\1569\224hU9\143\237rx\172MU\031|\176\250\1328\002\163\239\215X\247\b\007X\182\175\249\194\184o\211\155\179\132{/\227\159?`\166f\011\142\205\1484\184=\023\t=\130\206\021f\004$\014\205<\205p}w\176acM\204U\218J\018\156 \142\190\168\241j\134\149\237Y\193\028G\229\130N\030\244\230\023\158\246\2401Q^C\166\251)\189\211\153~\147\nG`\212\n\164\211\218,gUv\233\011\193\239v\1917V?\016!\190#\00486\1598\127,\248\164\151\167\011\253F\129\023n\190\242ic\203e\000-\252kt\152\029m" let d_edc3c186d80de2039375bef179a67067 = "546\1985\005\225\149q\159\172\199\209\192\151Y\226\022\024\028f!D\174C\015\138E\139\165\234KT\127-Y\148\246q\030x_p{\000\172w\242\164iW\178\024}n\223\199\003\031\1468A/HRD\230\139\146\213cX}\158\157\175Y\224\221%\242\143\251\156\228\2390\226r\147\250\146\140\230\237\166\157\004\224\002\011UQq=\213\176\232\214\203S\002\228\184\163\210\232g\153%\234\163\025\200\024\192\208EV\234\129`\237\023-\145\168%\015\222\\\022\196\r\bM\214\220\142\182\242J\145P\218\230&m\027\"?\028\251*\195\206\011Qp\140\023\178a\156\193M9Y1\149\\\163\211Tn\215\169a\248\148J\190\017\139\138y\137\185\204\147gc8\135\150\244\245\139\164\192\225\012\140\205\153\020\246\203\179\000w\150d\007\251\218\244M\"\0266\251\185\196\018\175\143\\u\r}\017i\222\213\027\137\202H\211\208W\146\217\138\138nUs\127\206Pg'\161\225DR\168\199\2284bhF\175\216\160\178E\1631C\188\212\180Q\134\141Y\024\n\2132}\1475\215\180\"\165\020\223r\214j\136\242#\213\129O'\173\180DD\215\011\021\202\216,\012\144\137\230$\226X\214+iX\\\229\214\tC\196~\182\024\206\140\137\188\217\177\138\129$\194q{\221\153H\016\200\146\153]P\194\173uK\021\205\181\246\210\144\212\180DA(\2261\149\n\252\207zn\232\161\204'\220ODw\229`C-\030\166\217B\236z.\179\158\215\181\016}]V\019+\223N\157\168\246\140\232\243\182\243\177A\137\228\144]\253x\155 \169\148\162\220R\015\139\015\196W\180\t\181r0\246c\242c\027\219\242\165\161\"\181\190\222\173\180\184\221\243!\015\150\174+J\214\185,\138\139 W.\212|\r\1497\000\022\199\146.\217\000\223\004\002l\026;=\1650bE\245\011%\137\129m\136\216F,\136w\159P\247Bc\t\199Ki\214\201\168qs\221\131zv\245\138v\174w[\136\143&\005\017+m7\173\139E\206]\209}2G9S\179\147 T\183Ri_\026\141#\028p\023\250\197\219\252\b(\002Y\243\"\017l\019 \162\151\232\003\019F\255\014\192\224u2Gn\rI\243\224\n\239\162\185Aqt}\001W\153KI\185B\131\007\227\197\136!\210\158:\235\190\153\208\232\149\233{&\021H\199\197M<\226Z\023\220\224-\128\196\023\170\166\018\242n\016\172\181\026\217\166\146{K\020\238\025\128\023u\147\029F\158D&\205\023\024r\208zn\176\128I>#\187\2429\014\175\173\024\229\250\156\230\173\004\155\132{\157\233:\012E\1847\178\240\153\156,\020\146\237\234\177X\202\153P\243\136\028\241ZA\240\240\245\230\132\129\135\214\209N\215SFU\146\147yQ.\157|\142\251\191X\211#\222(b\bW\192+jR~\168\203a\173(\184\169\143\255\148&,\232\021::\234d\"0\031\0195\012\247i\218l\217\138hN\244V\149\129\198\237\134E\244jI\235\242PZ\162\0167\b\164%j^\162lZ<\230\199\204\019\031!\182\029\187\234F\243\006\128\213y\199\017\151\001\168W\233\147g\215\228\190\183/[\250,\159yk\190<\189\231A\023\193\225\146\212\220\214?\185I*+\n9\144|\249\227H&\2234u\252\254Z\179\241\217;\202\164w\241\026\215*\022\141\177Eo\252\163\n\154\178\219\185\0295\251K\229X\214\244\164\172\205\\^\177\234\210\031\250\197\172\027\2078\168\182r_\169\006S\004\214\166\245\2007K\155\158^\212R\127`;\170(\135\164\r\142\185\173M\163\234\133g\020\150\007\1860\139w\190\143i\011\007K\203:\r\233\001eK,W\236\249b\218\178\234~In\145P\156fD\019\243\018\191\217\214\214h\240\237\171\183,;Q\198\163`T\012\225\244\245{|\191\204z\180\186>7\222\249h\224\24798\199\017\238\228\254\180i\136\007\160\138v?X\156\132@|\204\252MF\236\250\248\166Z\141\190\233O\173\203\201=G\143\004\207\199g\170\194\187S\227\023\007\164S\214W\230n\249\130\208\189p:2\184 \188\158\187\135\027\030:9\169\218`\190\218=\181\132\199\142\157\b[\159=\235\142\011\006\137;\190c\196\025\148\191\233\195\206.\n\211\202\226}\215\020V\173l/\239c\240~\228\225\228\191\158Z\227p\187+\029\027\203\190\145\177\216,n\254PS-\213,\163\1771\022\239\191>\159\236\241t\217j\142\192\192%\2374\207\208#\200\157D\149O\018\139>\245\213\139g@@\188.\127\135V\202&?M\161V\137\145\250\243\236\207\r\229\249\233:&\229\020T\169\146`p\007\145\130\129\241\206\140D\204\207~\244<\139E8\001\162\161\137\204\234\213\136\225h\184\153]D\249\215q\140z/E\164\216\249\176\194N\163\245]\127\021\127\134d\155\189Q\231zP\147\144\186\180.m\222j\209pE\209\t\208Tq\212\164\241\168\174\208\189Z\015\165\206x0\132 \202&\244\2488\129\182aBA4\235\\\022\029\225K\027Pu53p\250\020\016?(^b\249\137x\244kk\179IV\176\204\253?d\255\135\145\142Ef\206\0154\135\168N\156\151\205\161\185\n\132i\215\1757\174o\159@R\162\030\168\247@V\157\016m5\151\172q\150\140\166;+\142\246%\153\t\tq\191D:\170\2086\234\030\027\000\224\251\247\214\133\163=\148Nf\205F\201\011K\139\016\025\145\227\129\234\137\031\229\187\146E\173\0121\171q\251T\207\172\218\216\000\020\251\161\194\214\149\210\153m\209\216>\0183\250\208\216\007F\196\242#\146\147\196>\238\245m\148\016\145\175J\189\211\217v\175\221\142\154\247\"\212\134X\001h(fG\217\245\029\227\027\217Q\132\227\214l\150\170\203\031\227\241bO\255\183\020RVqc\139\224\233S\024\212ZE\221\255sg\201^]\174\217u\202\230\142e\130.q\214H\212A\251\145\147\156<\165\195\225\192\135\201m\234\252\134\012\127,\1836v\166\143k\251\244\006\155,,\220*\136\019\191\n\162\193Ym\157y\025q\219\248\206\128j\145]\220\243Q\022\1543\007\030\158a(\190\219\173\211t=\128%\220m\164\031\224.\238\2034}\142\157=lw<\026\175\152\220\185\167\182#\1981Q\131=\237e\210\186g\222\224\214\022\187\199\153\145\245\1483\189\011^z\017\014\251\187\194\220\187W\175M\028\168]*^h\176\152!\245e\231\167'\031\248u\228\0248\006I\002\015\241\171\160\174\189-\168/x\238s]\181,\001\156!u\192xoq]s^\165\186&Q{\201\192*\248O\233mQ\174\132h\145\1838R\229\235\251\209\169\189C\021M\219\156\021\023I\220\194?\180\021\161p\245\015\154\255\180\2166\216\239O\251\244\207\235|[~\162\205;\194\220\243\132\139\219\164\2167\208\151JvD\191#U\246\255cV\250\245\237\186l/\018 \232r\135\171[4M\137\220\136\161\232\020\183\205\233\170\011\238;5\028R\255v~0'T^\240\2095\248\018\201k\138\180S\206n\220o6Co\232io\209\017\175\174\031\1337\030\236)\155g\203k\170\205\151\243.\155\171kP\156\207x0\188\182\196\197o\228\190A\185Y\157\223\172\173\011\024\230Bo#\162\238\222y\163\180hj1spF\216~\222\235Q\251\158h/,\132\140W\216\222\196\188\245?\211\177\206\191\227\239t4=\029oT\012['\167r\029\184O\210\180\170}Qp\150!\176\182'\204[\168O&z\218R9iaj\221\162\208\140\194\206\011\154\174\185\251\195\162&\177\252\219\135\152q\017o\180\151]\223\236\139q\187;d\029\003\243r\235tie\206\142\160\169\183L\023\241)\220NJ\158\253\201\212c\141\003\214fZ(\239\158\193Vl\152#\020\222N\206\1741\210\178\030Z\028\022\148l\253o\239\024\152\131!*\174\252\150\242\203\204\167Z#v\129\238\\\160\254\247\028\007u\234.p;\220\179Q}\142\157\b\166\214o\001W\134\133\249\225U\162\130\213\006\207\144T\245\207h\024\132\132\179\252\207\022\023#W\170\204\193\186\235}\025\163c\170,\143c\249\021\160d\n\140N&m\216\nA\225\215\249_=\028\005\245\180\190\205)\203\140\198P\222\167@\217\193\129n\203\003\201\252\213q\193\202\187y]\029\170\173\221F\153\177<$\156q\027\228\170\131\027\203\189\236r\213\197\030\230\252\029\163\131\1897\234*\175\019\007\219\130\169\219n\003\163\029\236\225\205\195\203C\195\197\129\187\006\154\201\163s\206\r\244Vl\234\137%\162\229\\\134C\178\169k\014lj\004\023\023\240\131#\006/\179\151\147\235Z\\\020\1654A\206\214\211\000}\2421\226\140[\149\023\206\001\132\004\131\194\254C\007a}\001E\227\007\192!h\250\012\162k\226$`\198Xa\001z\141hKn\212\167\158\210z\2268\192D\163\194!\004w\238\210\031\018\023\229\223!\187\011\217lDV\195QN\003\172\168\132\196\178\137W0\146\237\015P\158\0209\216U=\171\135\004M\183\0237y\247\207\030\219\024\240\226HF4\250\242\191\195\212\153\147R\143\216&\216\222\203\222q\1339K\196\234\1521'\158G\224\016\184\170\016\168\152yXq@~\208f3~\193\253\024\168\146C?\134K\183J\183\244cp\251\025\132\006\136\003m\020\210KW\164h\211\238\135\0021\255x9\163\007#M\200\177\127Sq\007\237e\129\247\142(>>N\231B\021\128?\186f\243[0VP\186\137x\2330j}\2068\2110X\218\0259\027=\007v,\133l\221;ld\177\244}\029\153-\016\005S(\029\029\237|\238\\y)d\239_[_E\196/\193\229\025\232\005\141w3\030\238\231>\156\000\t\209\132\159\225\1726\160\186\150\238n\150\"x\156r`\186\237\208\142\217m\001\237m@\217\t\224s\189M\206t\212\172\221\243\230\249\170\132J\0312\1679\242,\239\192\184_\180X77U\179\006\168f\192u\254\224\184}3\231Y\156\238\184+Q\245\227\027\135M!\226\200\012\006\007\154Lhr\252\159ZC\173\001 \155\r\161eI\136/\001\196\245\167,\223\244c\168\231\022\204\231d\162\"{\182.Y\220\249\249\147|\243W\166O\211\216\140\007\219\005\142\234Wv4{\251\147#\157\1800\130$\145DO\188\219V\145*\181\195\134!\139.+Co\146faqid\235\139m\141F\003L\239\030}\224\249\148\221\014\135\022I.\016\170\235\129\n\136\200\191\235G\142F\202\230dHd\2505\206\191\141\021\134\242\252\150\135WW\204m\134gRgZ\251p\200z\149\020!\031\202\183\148\137p\200\031T\212U\175YNX\2513\0242\239aa}\146\236\0241cd\2171+@U\213EqS\231\211\129\150]\135\003" @@ -446,8 +448,6 @@ module Internal = struct let d_fb24a47ef888e3c9faa8d7cb8f0b649c = "d|\142\190j\203>\182B\016v\1883{\240\173\178\157\167'SG\242\239\218\185\224\208\138'\226\211G\245\215\226\148\207W\236\222\190\217\187\022\028Y\021,:\230\1787D\149\171\199\022F\178N&\183u\031\173\222T\178\240\151\019G\004\146\228$\199\016\167\219\210o;|\218\0246\015O\156=%^\\1]\172*\167\252\148Cc\160>g\181\230\243E\n\207\159\155\031\006\r\216\245\230\152\225\031V\202\253U|$\219\166\147\016\181\006\153\012a\136\133\243\023-|\179\183|Y\167d\215\254\134m\134\202W\133.\1387\235Q^\204P\027\225\180\155\131;;\182\240\138\171bo \227\143\158\225\175\234\218H\004\155\"\145\135\196P\015\019\027\151\183\165\020/[\142a\204\133\191\248\175\161\143To\218\177s\156X\190\204\241\240\226\141\168\169)<\190\027Z\255\tl`\190\1629p\240\203/\209\138\149\b\155\245\215\188\202=\002\135\199\177[\176\160\242\175\212\154z\217\031\233\178\159\209\222\164\177\193px\144\2529\"Q_z\\\205\"\021\225H\144W\250UR\242[\165\188`$\172 Y\234\199/\169%\145\159I4\251wMk\240\233)\253\212\180\191\250\167i\185\188\164\019\166W\219\215l_\012\211\131\018\246:\014\127\238}\230)x{As\006D\018\173o\179\189u\238\222.Q\206ol\017\254\229\164gQ\238\240\131\210\253\252+\251\247\004\235^F-\000\176\0013\149\162\236uAk\212\163\025\241\255\"V\239Z\012\024\252\rN\024\137\170\232\239\"\022\128\027\247\182u!3x\002o\194\135\004\238\001q\240 \204\005FV\240/gZI\228\254\149\133Y*\226\127\240\020#\167 \163\027\029\tZ #\156\227GD=\174b?\154`fP\012\031f\196R\024\130Q?/\016\249\002<\140\150\213%=\139r\0310\188\216h\243 \128\144\015b\219\028\024\135\003\"8\158Nx\138\185\b\148N\204\197@\bw\206\197\161\216\227s\tH\011\240\2312\192\031p\238\147\217:W\128\205F\147\175\164\016\210CoC\129\017\163\230\027\023v\135\001\147H\148\016#\146\019\141\150\201*+GX\148T\168\223\132\129\026.h\144\001\253*\004\171\022\16428q6\\\247\211\029\210\225Q\021J\211\227\026\190\176G_\237\0312_\133\128\198U6\235\210 lA\191S\189\254pOS\006\245\024Wl\196\176II\141wM\191'c\163}B\178\144\142\246\195\186\220+\176*(\153q&\172\145\208\193\006T6U\147\135\154\173TS!\0281p\164\134c7\211\216\171\166\135\141\139\145\249\131\202\178dg\1739\230>\245\219\012\233\t\225\128\bi\159\199\198\208\223$\143\177D\187\22975\007\187\175\158\197\174\253\135\022\\\189\t\1473$\191f\130U5\r;\251\144\229\\&\169Z\143\161=TB\174\180V.4\178\189\239\ts\213@1[\205=0\158\"qj\144\152\016{\152@\031\166L\031\tC\2102\253.\1942\149\161\181\198\168\193\174\220\239\187\210\r,{\160&\1466z\187\239\189\159\212c\218\155pUM\2365\184O\146\025\211\227\183\213\167NQ\157\148\133[\164p\210\168W\246\183uB\168xRT\147\209\216(d\006\185\190\234\219\213(ViX\192@l\236\204\202\156\210\212_3\223w\192\003>H\229\201\231\213\169;\128\193\155\240\022\194\017\001\007\016\003\246\195i8\132\152\136\133\216\136\131\184\136\135\248H\128\132H\132\196H\130\164H\134\228H\129\148(\14255\028\166i\031-]\187\139vr&\195\131}\253\255\025\147\213\021\167\211A\195Xg\129Sh\023\141-\160\029\135\227\180\\S]\180\199\201t|\150\127jF\145\199\202\156\234\163i\199\2258\157\244{sC\197\019\226\169\226M\133\222&U\002\1297\198\227\159\006,JN\149{\225o)\197\188\235[\001\230{cZ\149[\133\188l1\211\177\232\000)@\001S\169\220\031U\253\180\255\0270!\166\031'\241:\170\161}h<;\247\t\024+I\002S\198\184B.kN\189\247E\151K\127\028\127/\0165\175\169\153\227/\005\131\245J\131G\242Z.\233\153C&@\151\030\011\1286\142\214\187\231\212!b\223\209\003a\016|-P\030: \007\"\232\219\241\0292Z:\145\214d-}Sm\157\018\189C\192\132\180\245\167\242\217\023h\201Y\0205\182\000i\213Z\129]@f\244P\002\022\206\166\220\2308\155\200\233]\1750\240w\019\195\226\016\184\174d\144\012f\238\243\016\028\139\202\179\217\207w}\243x\007-\144#\157t\154\162\140\149\214:v\030%\1285\160#\1762'4\186\025\148\254\242U\141x\007\194\167\167;\214\177\225\004nOK\248\023Y\217\237\141\179\240\192\0204*\235c\2478/c\025jI\210CrXu\167\249r\199g\184\226M\137a\153\246\022\019j\192\024\214^\230\029.p:\200\2437\250\200\149\178\205b\191\181\130\005\r\157\214\0291\196f\145j\003\129\0031\026\224\155\170\220\240\211\175d\139V\177\167?NQ\198\194\147\231\1878\210\252b\243\162\158_\248\208\194\237\143\131\210\206r\129\175d\160m\220\014\190>e\n\223hD\217\023H\128\162\014\167\179_\030\022[\193\174c\192\245FJ.UY\137F\144\178Hcaj;\197\133\196&*\153\024\197V^\020\195\209~\028\197\133\006;\132\019P+\001Dg\161nB\007\234\"\1325z\173\203{\251\136\154U\225\002b\151\241LW\175\178\176\160\137z\227f\2502\164\229\184f[\133\220\211\168A\029Fxf\230\135\\\197\252\002\222\019\204\227\211\235\1302\233*\234\156\136\195\164tf,\165Q\198\141B\140\r\028\021\173\242\187\224\221Qa\019\1978\195\208k\222\134Mx\178\020\004\193\219\208\152\225\202W~g\r\133\020-U\244\239\169\"\202\203\142l@n\245?\137\031\238c\171iO\217\202\000\133\166]hH\134T\182ZM\022N\164o\007\202\001\228\132\183\027D\141nL\164\218\222`\182\198\167u\0059u5\005\157\211\137\226lr\196D\164<\200\175\177-\246\171;\014@`$\181\237\011\209\017(\\\rR\228\020\139\129\021\222F>\129\005(\136\170\023\182\249S\216\029\235\216G\006\146%\178\150\246\135\235\252\014~\196m\164\187\155\130\237\141_\188y\195~\210\244\129\015\028\003j\223k%\186\191\191\217~\239{\143C\026>`\003\148D\023\017kC\129d\t\175\171\190\bC\229\207C\208F\246\220q\163\138\191aX\208\240Bo\019\167\230;\167\222\236\016'\219\235\221\141\128\176\193\187\231\238\193\203\189\167W\215\208\0111o\244\227\169\155\201\214\019\027\144\183\014\020n6\203X\1958n\229W\140\255\131\025\130\130\129\225\146\184\227\244Y\239\000N\188\252\144\193\190\162\133yd\163\208p]#u\187\223\205\149\159\247\011\197\247\160n\180M\254\"\154\127\017Y\026\221\160:\163P\201\134\168!\2437_\141\191\006\2040\154\030\207\158\001\198\198&F\001\214\133\252\205\225F\030\153\216]p\219x\174{\235\155\237f\243C\136\233\223h\234\233\188\142\221\130\178'\194\031\161\209\216\185\190\186\197S\23629\151u\195\194\1970\152+\215L\214\250\239X\183r7\176\017\238\227lpa\223L\128\196\214r\210\1903\246\130\156kl\003\\\201\140\176\230\234\252C\027\177)\162\180^\218\"\007\018\160" let d_fddb6a653fc258923b0bfb5ea1b30fb1 = "2\209\195le\169\224\235\167htX}0\160_\135\193<\192~\020QP:(\017A\228\187z\163O\005\210\007\240\177\207\242\029\242\212\138\194\236\204<\1391#\153\169\180\002\rl\0207\194\199e\242\255\159J\186\155\168ooR\179\213\138\146\028\129%\181\231\173\170\234\245\017W\220H\141w5\139`^p\216\200v\201x\175\249gc%\251H\018#\247\141ge$0\210\0262|\202\1624\205\214o1D\141\137O\231)\212\160\250G\209\171f\160{W=\205\1836$Jl\236\170\233\172\169V\207\026\150\156\203\180\143U/\154\171\154\217\187~}\251\144\243\181dx\150\186\218\194\238r\170\138\n9\145\183\217\168,\143\t\172o\153rS\162\218\192\149\153\180\214\180\176\225\001\213\240(22*\025\024\014\179\166iM2\174A\157hz\217\134E\165\150\192bPtt\209\200~\222\134\005zUQ\148\178\154;\193\031\229\174_\002\"\216\177F\186YO\209_J.\015\248\000 \003\137\247\bn\129k\001\151B\249w\162\163\151\nC\172\030\166-\012,\012\252w\015\138D\202\154\234\1840\227\200\154#\127XC \181\183c\226_\n\165\213wZB\160\001\154\2306\176\004\172\207\253\232\r\136\233\241\242\224\211*\1578\186l\251\131V\2255\185\242\147:\193\166\029\172\022\177\139\236\211\227T\\Dc\154\142]NK*\236\198h\r!\197\229\001\215\146\216\228:a\146\023e\031\131Q\023\159\1732\174\182e\209yQ).\195\217As?\2244\233\129\017\n<\025<\230\198\155\207\135\153\132\204\214F\228\1657\022q71\246Q\146\188\132\235Hv\196\181\242\128\208\226\006\026\214]\152\150t\249\152\137I\019\225\212\227\159\202\\\196\140\188\240\212\252\185\195<\181\1928j\145\204X\"\204\187\003pg%h\246\242\243`\254~\127\rR\189\015\217x\183\234\163\190\012\207\134\149\204b\207 ONk\186}\246\227d\031[\216\127E\030]\195\204\026Z4\141\145S2\152\228s\189\236;\014U\206\011Hw\139\207\172\158c\203\178\231\246t\236\219\211\017\252\155bF]\248\007t\196/\229\192\007u\168D\178M\159\029\192\205\138\213\220\003}\254\245.\238\242\190'\214rq4\207\135\198\249\174\236\186\209\187\184\155e\rO\t\231\182\158\220<\223\163b\0069\182\153\221J\139\1661\139\026Vex\246}\180{\233\254,\231\186\251k\238\255\206\244\240\243\186\167\185\240\227\137\128l\2536\137\004\173\251\224@\138\031B\255\160.\\1\227\255\154\214\181\219\026\152\165\224,<\198\159\238\159\154\170\1768E\"\136\224#\167\134\230w\243,b\011\015L\238\157\206?v\236\138V\221\243\135N\141\224\b\020\137^\228\238\002\231\247\198p\216\169=\171\221\220\127:0\171\007w\028\178'\b\227n\216\140\209\005\001v`@z\220\245\184\244\197\216x\150\027\215\007M/\139\0143\022\232\252\170E\"\228M\223\166\245\253\003\196C\023\214\136z`p\209\178\201{r\168\2250p\160\234c\226c8\232~\185S\196\153?!\"\145\212q1z\167L}3%\011\138DH\209L\222\245\250E\131\131\228\014\182\203Cb\160\127\253\166>\016-=\254\132\201X\171\030\028\\\244\218]\207\243\147C\254\136\135\254\153\247\195G\189\150\193\158\026\000\003\239\239\229\181\"!\210D\199\222\157#\249\145~\149\188^\223\188,\205\200\206\189\137\014i\b\183\"\239\222{\160\031\217\196\024_\202\026\029<\240\158\002E\162J\137\161\145\175\r4g\004|\204\2498# \200l\142\169\174\247\021\137 \245\171\253\235FYK\199Y\141\160o`T\245\196l\176\151\027\158\168FA\196\022\214K\006\186\147)\136\242-\015\029\232\007\207\217$\031v\132\015\229~\240h9\141\027\029h\t\158\133\025\003\"\024S\193\016&\243\170Da\136L\022\157\253\244\202\220]w;\178\191\142\150\201\1440Q\021Tp\185\000\006O1X\239R\218\163\211\173Q\131--\234\157l\214\014u\181\147\193\244X\157\165=\229\029\136|\1998\253\221\181\004\228r\233q6\243\184T(\004\221\210'\160e\128\143\023\004Ba\0110I\007?\0073[\192\t\147$?g4K\179\204\031l\236\157isX\157V\2320\219\016\236\022\134\b\228?\006\245\247\247\238}\185\215}z\134\181\183\127\022\241\248\164\181 {\003Q\157=C<\165z\225\250B\181\154\246\255$\129\227\213\141q\206\184cD^\"\134\234\231\232\221\252\149\143W+\012\241\202\245\238\130 S\"mGM\252\198\154\184\017aD\184p^bt;\159\199\241m\238\231\243\138i\137\t\255\186\186\175\247\1417\192<\242P\154\239\159\235@\228\176xj\160\031!R\137T\016Cp\185\136\231\144\000\137\212\173S\142\242\247\012\128\001\196gL\199\230W\241#\"\167\022\228\204\161H\215z\204GaVVK\237\017\175e\rd\186J\141\244\244\248W\0300#\221\187\218{\151w&\183\130\018\003\163q\199h\235l\135\181M\no\206\026=\145IP\177\r\024*(qF\231\229\214\0272\240\250\232\001\189\155\184/\139\253\143\143p+\195D\216\016l?\243\195\0112\232\131)\143N9r|0\019mHI:\203q\208c\233\161\251\170\024\029Q\\j\218\233d\191\132%\198\232\150\138\164i\011>5,t\154\238\207IO\018\254fc\205\154\205\182{\131:\239\136\1840\206\131?\234v!X\\\186,\175\217\166\1484\255\147\153\181\130J\026\002\178w6$p\170T\001\127\016$\159\240Q\170J\024\146\146\152\220\028\240\136\205K>\142,\027\161\011\001\236\183\249\183\253~\246{\202\019|\225vC<\021\176\001l\216\136\179\155\194\003\030\191\128\240Fqc]r\160`=6A\167I\203\0037\161Z\026\246\025\134\170%\161\227\b\023\220W\011]\213yA\1357\031\245\175\244\221Z\018\164\202x\144a\172\r+\217Q\157d\210\228\007\221\175d\031\182\153\173f<\193y\151R(PaN\171\168H\161\\:\011\211\171\235-\242\015\221\205\177/2=S\149\\O5+j??\012\198x\236\231\166?\217\136\160.r\177\157\160\22671\154\022$f\012m\210\155\217Z\0280'\193\177\004\023\"\158\146\248E\217\220\024\251\172\170\154\018\186M`cZ\t\209\201~\242\194\245\005\221.\170\140M\254\182}\249\195!\176\152\001\202E\191P\185|\230\172r\1634\202\142@_T\150sN\150\131\250B\004\244\234\007\024\216\004\142\244\006\145\210\231\0029&\023\028\203\158h\186`\243\202*F\026\143~S\004)\167\005\006\208\193\0237\238r\028\141\216\r6\255\216\196f,\005\238\238qgN\189\002a\1805\165\1431\214\024s\024\028\\\202`.\221\0126\197\173\161\227\0197\027\025b\210\bb\24781V>\239\209C^>\011s\154\192\238]\224\215<\022>\006v\237\006\166\026\238`\209\139sq&\211\167\166\230\252\249\230Fb\131\187\207\222R\019T\236,\134\b\148)I\230T\207\239]L'\n\203\234\135\157oJm\b\134\030>fN\241b\" \214\139\165bWYX~ \206>t\151\185\187\169\220\\%n\226\2237D\185s\221\221H\177\219\027m<\016\190\142\193\239\174\157\242\014D\236Kw4\252\165b`\015\158\175\240=|\232\007\255\212\165\233^\204EtT6&N5\215\252\219\"\016\182|\191%\242ruc\198\188\183\203\187\129\162)=\175\005\181\185e+\024=\172\224\209\229)\210_\254{\241\183\164L.\251\245\132\174\"^\194A\140\137\217\252\243Iqa\001C\135\025/U\018 \187oC\177\t\140\170\000\202B4\217)\251'P\138\241\198\212[c\006\205\185\150<\137\141\194\229\211y]XT\172x\143\015\146\148R\254\244\173\176rA\228\007\226\169\174\023\174/\186@\031G\018\019\158\191\019*}g\253wi\217\1513e\156\203\147q\201>0\247t9J\136\\\137*\171\002\202\253[\193\161Mw\029\157\216\015>\157f\153'\176\247zH\136\248\147\217f\1894\237fr\208\131\216\135\012$\188\168K\179\253J;\255\179\235&\142\194TmAp&\130\2023(\186\239p\015\022\199K\159\154uv\149\208-\171\156\002\131,\129ip\237Z\133\128M\136\170zp\023|\188\246\198\207\154z\002>\011J\219\150\157_\239$ncT\191$\1651=\r|\207\198o\022\228\129'1\149O\024\239X\140)\159\208,U\022t\152\253?\184\209V\202\011\171\253\194\t.~K\250\149\218\148\142P\242\027\157SU\164\161\148\178\131R\228_(XR6}!'!=\195H\231x5\155k,\025\207Z9k\127\025\174\130\138\202v{\192=\136_vh\161\150\175\023\184\146\192\241\142\154\150\025\186\199]\154\246cb\176\252\201\228\\bx\028\159\158\026\192\n_\178b\127$\137\028\162\004\138\136N\235\169\161L:}\0243\233?pM\202\174\205N/\228\205.\230\018wa\223i\234\\\201\193\154t\211\180\200\244\020\199AS\197\160\242\138kd\201t\1458\242#?\025q\253\234\219\163.o\175^o\227\030\254\248>IE\185}\132\201~~\144\145\150(\185#M\011\210\227\134\131\224l:\237\031\173\186\166\128\254\223\184,\137\1586\205[\227-\t\154\207\158\234Z\\\004\243\2414\016W{\004\236a\017\b8h\152\236\207\024Q\007:\2013\031s'\220\005?\216P\150\155\221\030,\184\253\185b7\031\215\214\1445|\160\233\199\196aVI\158\155p\179\252\219\223\229\155{\132t\r\1318\183\189\1823\189\179\182}\238\031\027n\206f\003\242\250:\225\245\219\189\011Jog\220.\030\177\192o\021!_\134\250l\141=\236\017\250o\190>~MK\250\151~\017\2512\197\218Q\170\208\151\254\012w\162\224\194\215\020\014U\145\127.\153\212P\142\182\145Ub\249\n*\235\207\218\205\\\184\137D\226~\250`\190\206\252zq\245\187\160\249\230\140\254bC\241\253D\021\176)%C\219\211fh\023\234\189\023j\021T.I\011\006J\135\200J\022\227xk -\254\026\243e\194\159\226\231\137S\236\201ua\230;\006\2519\176?\165-\165c\242!\207!P\201\175$\165C\222\011i$\151\170\208\134\213\251k\182\232\191jp\160\171L\016\027(\231\r1\255>?TZ\221\190w\015\152\228\191\155s\239\025a\167\b\240`%i\001\214\129D9\191zt7\216\251\132Q\003\1553i\151\190K\199M\179\128\219D\014\207f,\138k\158\240xX\197\255\130o\2373\212\161\213\1502\223\189\189\225\159Z\031\238\254Y\139\217'(L\130Aa\159\156\181x?\215\167\246\159\190\183\239\136\196\015\249\150:|\246L\171\014\184.\190\215I\n\131`\214?\241\177%^\135\227\188\224\153\163\023\014\151\175N\220\000\235\243\231r\198I\233\162\168\150\232)\176\2504mS8|TMT\242+e-\007\0009\255\127d\004\155\228\162u\015\135\251\202\255L\145\210\b\146\229$K\131\139\003\003\179?\011-\2145l\181l\179\146U\024m3\029O\024C\210\199\2107\144\225o*f\031l\b\205\143\239J\149\245LK\146\246\193=\025`\246\001\248\254Z\1961\155I\141\250\215@\2014.\162\179#-\178 n\232\155\190\220x2{\250j\203mV\189\211/%\n\142(\022\1801H\244\154k\182/\135D\nO\254\140,5$I\193\130\015\155\162\151k\187\001\188\189\235\153\201\1371\215\218>\249T\172W\022\144\213t\236\169k\212R$\1449q\186\228\127\148\237w7F/S\022C]T\251\188rX\201uV\236L\239\141\141Z\250\149\151\185\172\005!\2439\003mOx7\242\180\150\138O\016U\144\210\001a\238'0s\211\192'l\250~\190lu\"L\158\000O\170\192\232\147\217\158w\223\158\231\184c\025\142\134\027\171\152\188##E\239>+\238\170\tp\165.\141\180xq\153.\146\180\204\166\179\153\220\176}o<*\215ND\170\140\000\246\201\2377\174\031\238\132\157\163O\143\209\207a\232\162_*\214p\024\179>\233\251\153\130\157\1633w\130J\197\159E\178\2073\231\006m\140\214\205\\\016\nv\030\142\160\239o\140\238\020\238\172x\241Ql\255A\025\241\254\193\137\149=\127\023\024\001y\003\2138O\176:\234\023Y%\191\018x\181\203\219\169\128\203\217\017\243\195}\206\023\177m\1436\134\135&\200\\\158\246E\246E\162\141\232.&\151\164\249\180{\181\131j\140\181C\162\254\025\028'\1549.\145\130\227\194\224j\178\143g\220\206f\236\n\227\167\155iLW[\251\174,_\030\151G\203\211\021\020L\171Q|^\214\\\211\176N\165\169\24577n\022\242\153\237\222\140\148D\211\169\152Y\136\155q-\131\239\021\151\204| st@`Wc702`yw\217\0127\151\163!<[\181\130\202\186\014.#M\030\015#\004\027\184\195F\n\253&]0\233UR\021\241\251\012!\240l;\160\243\239\153\2369\193\227\209\243\018\018f\181\190fR\154\169\205\201Z*~\179\231\031\188\174.\145\145\226\181\004\028?(\194\173MgSV\245\175\"+\205\b|\213k\133k\213\190F\208\002m" @@ -499,7 +499,7 @@ module Internal = struct | "highlight.pack.js" | "/highlight.pack.js" -> Some [ d_6b9eea5bd2cdd91f629293ab3b8808d1; d_30baf6fb746860926fdd280eefc46735; d_7df05ceea77c14d78f1f1df8f98def4f; d_106b469c9254e3a72af1bc5085256cca; d_5fcd7eba230acf47d54c1897a9a9c394; d_df9507781455088adf4ca1bd7fc0a321; d_b223e3337242ba6cf0905995918760a5; d_d6a1be8caf2478248edb48ee82070d9e; d_98850966979dd224456f716b44220d69; d_9873a9ace25bcd721b8eeb6b8dad71cf; d_b23657c0bc089d459bc6099791f97c23; d_f9c0b1a6ea9c119cb0f7ead5c3dac542; d_80a0027403c5ad56c7da4589713b2348; d_fe8f6a1f53d067d447bae579dc60d6f0; ] | "katex.min.css" | "/katex.min.css" -> Some [ d_2d798108ddda42cb699f6ad4421e720e; d_b128d6f091a42be5d7a929703f09ac36; d_1476b6e94be68e530a90bd0723d69c88; d_e357f75b8a7d9a6031bbdc38adcf1422; d_ad152fcf832897f8629ca758460f3d22; d_7c9075f31df2a532c3135ae327c84a92; ] | "katex.min.js" | "/katex.min.js" -> Some [ d_0c2c3443b618aef3ac4519dd2b159bbe; d_a2070486fb8e9102cd1537ebd1216a96; d_48a6338945c47ceb84d335248c3d6873; d_ad48849637d7c8349cb3e6952d5c8699; d_32baa17e8a53bbd439c58b0d89bc0503; d_c7561e7d22eb89e10083cfba7680012c; d_d04b09d89ef0b9af8a297a3592a2e4b1; d_c0cf7351fa27f73a72840e453c4b15f3; d_fadfd470a088dde5c3755136ac4b6188; d_326148c9e075f26f4dd5ee3862f61cf6; d_a55141bd5690b03d71c9675038f73b3f; d_225bdd9918928e02697ef5570454bf56; d_bf8e1c09c2162b9bb4b6578a59cc8069; d_bb5a8ed07dc95fa6f9f51938da398a35; d_b93e718b1ddefad06d18d9736584ad78; d_e12a510e69c6b3e0210294eedc2c3be3; d_bf043adf1d8ba761903c6f3447bae9d3; d_80ae3e22d162129b593049c0dc7f2407; d_d7b447b6bfc36721f581470728505547; d_92e0c0a734f49413d685531ad3f0a03e; d_cabefc6c9607b95a33af32a8c8832767; d_a03f60fbbac88837b2763d52df2c0820; d_5795c26325c462426548bd12ff6ef7a1; d_c0939c104021af2b0d9b24c7102061f2; d_3a7455b94742964a6cc5e84e314a6cfb; d_dc2a908015f68e5bff245fff4e602604; d_96c4d8e2622ac6552ccf67643b20f09c; d_37935d98135b118d937e895f4bb55add; d_efe21915ced6043dcaa8ff576e7948c7; d_fe0aa5b4043d6894e289163dd38508b7; d_dc29762de1ae6c28b3b3cc202f52ac6f; d_2c5af911fa1596ad2eef3a7e342be949; d_01738333fc004372ab1ae8bc7d370677; d_0d6ec6387686b4173900d29c91f338ee; d_5f9942b4d85184e45b9addfc25ca6fd4; d_105a9e030400f28a404c6badd930fe01; d_79c029f6f746a52f4a8bc8b6280c5c88; d_3a50124eae7017a15bb92024b9f6c8ad; d_d1d8d575696cbb5a4994efc9e2862948; d_a6e92521674c97f4d1bd649490d8a987; d_8f38ae17980f4039d715823515fd56d0; d_a841840589a3efb0465e49e0d8f985b5; d_e33d592534625de6438003412e1d8813; d_5b12b53efc1e6da3a434634e81c2251b; d_c7270ab94b84005c36e6e864e6ea5b10; d_5e57240b8ff6745d663ebd2060201199; d_02c9bc01125e92ce389d2ac93e62d14b; d_0d4c13a0e6487657499a2f37795ab83b; d_8ff622534e1e1348711c11358657050b; d_a8b5fa32242a1d360076af4bdc9dafbe; d_725c52bce5d22dff34816d0cea74cf51; d_a6db9cb29ea27586d2138cf4f8710b12; d_31ee9944b6c75c4351486bc790988371; d_1005d4f63119125aeb03e8a2fa265969; d_9ff5a6ec97f55e01b81f13d9d3f0ff67; d_f361846717ba3e91093152df70d5aab3; d_e462cdcfecbc18ac1f1e447bf1ed3697; d_0d5bde992f9fa1c53103cd024ff5833b; d_1b66f4e8c1fbc1c74875f8da050cc1d0; d_bad0217136fdcd657898ee631bd512d1; d_428c2b0f069b4ffaef294dc85aef1e4b; d_cb988ca0480d611a7c52551adcc9ed48; d_cdc6e947cdb2e0bb7fae7f338ffa12a0; d_f56cd226d59f4d3190a095998f97ac56; d_f5d214c6b91ee7f61f5a433fcdd70682; d_f4caf2cb8610b6735641c064e6453b79; d_da739bd79e1901a19d34fbf2d1a16298; ] - | "odoc.css" | "/odoc.css" -> Some [ d_fb5c7ff51d7b33d70bd240daa8c37e65; d_3f5b432df048be5bbafe5b7ea5cd588c; d_5f54b610a068a278de228c45fdfc10b0; d_61e011d9fe425bb5367c70944eba9fbd; d_d65a17438333f43514c4a4296a4bb221; ] + | "odoc.css" | "/odoc.css" -> Some [ d_716cf074e5806616f6d61aeb32dbe70e; d_609f576f064dfa5ea1545119859f0158; d_36c6364e97e6e6415fcd6cc5e96cf1f6; d_01f87c66132fce6303699833f0ddbf78; d_e7b369ed54608093279987f9690b2577; ] | _ -> None let file_list = [ "fonts/KaTeX_AMS-Regular.woff2"; "fonts/KaTeX_Caligraphic-Bold.woff2"; "fonts/KaTeX_Caligraphic-Regular.woff2"; "fonts/KaTeX_Fraktur-Bold.woff2"; "fonts/KaTeX_Fraktur-Regular.woff2"; "fonts/KaTeX_Main-Bold.woff2"; "fonts/KaTeX_Main-BoldItalic.woff2"; "fonts/KaTeX_Main-Italic.woff2"; "fonts/KaTeX_Main-Regular.woff2"; "fonts/KaTeX_Math-BoldItalic.woff2"; "fonts/KaTeX_Math-Italic.woff2"; "fonts/KaTeX_SansSerif-Bold.woff2"; "fonts/KaTeX_SansSerif-Italic.woff2"; "fonts/KaTeX_SansSerif-Regular.woff2"; "fonts/KaTeX_Script-Regular.woff2"; "fonts/KaTeX_Size1-Regular.woff2"; "fonts/KaTeX_Size2-Regular.woff2"; "fonts/KaTeX_Size3-Regular.woff2"; "fonts/KaTeX_Size4-Regular.woff2"; "fonts/KaTeX_Typewriter-Regular.woff2"; "fonts/fira-mono-v14-latin-500.woff2"; "fonts/fira-mono-v14-latin-regular.woff2"; "fonts/fira-sans-v17-latin-500.woff2"; "fonts/fira-sans-v17-latin-500italic.woff2"; "fonts/fira-sans-v17-latin-700.woff2"; "fonts/fira-sans-v17-latin-700italic.woff2"; "fonts/fira-sans-v17-latin-italic.woff2"; "fonts/fira-sans-v17-latin-regular.woff2"; "fonts/noticia-text-v15-latin-700.woff2"; "fonts/noticia-text-v15-latin-italic.woff2"; "fonts/noticia-text-v15-latin-regular.woff2"; "highlight.pack.js"; "katex.min.css"; "katex.min.js"; "odoc.css"; ] @@ -547,7 +547,7 @@ let hash = function | "highlight.pack.js" | "/highlight.pack.js" -> Some "f7f17015c0de1023c93929e3725a9248" | "katex.min.css" | "/katex.min.css" -> Some "1a262c83aa48d3ba34dd01c2ec6087d8" | "katex.min.js" | "/katex.min.js" -> Some "0376fd70eef224e946e13788118db3d1" - | "odoc.css" | "/odoc.css" -> Some "a6dab28bb7b017043fe8c40db9398ccc" + | "odoc.css" | "/odoc.css" -> Some "a36b04cb6ef11afe55b90b266b4ae477" | _ -> None let size = function @@ -585,5 +585,5 @@ let size = function | "highlight.pack.js" | "/highlight.pack.js" -> Some 54535 | "katex.min.css" | "/katex.min.css" -> Some 20978 | "katex.min.js" | "/katex.min.js" -> Some 270376 - | "odoc.css" | "/odoc.css" -> Some 19519 + | "odoc.css" | "/odoc.css" -> Some 19692 | _ -> None diff --git a/test/generators/html/Bugs.html b/test/generators/html/Bugs.html index 735988e182..f0486d4e6c 100644 --- a/test/generators/html/Bugs.html +++ b/test/generators/html/Bugs.html @@ -24,8 +24,8 @@

Module Bugs

val foo : - ?bar:'a - -> + ?bar: + 'a -> unit -> unit diff --git a/test/generators/html/Ocamlary.html b/test/generators/html/Ocamlary.html index 63973e44c7..3ddd446f19 100644 --- a/test/generators/html/Ocamlary.html +++ b/test/generators/html/Ocamlary.html @@ -388,7 +388,9 @@

val a_function : - x:int -> int + x:int + -> + int @@ -430,8 +432,10 @@

val fun_maybe : - ?yes:unit -> - unit -> int + ?yes:unit + -> + unit -> + int diff --git a/test/generators/html/Type.html b/test/generators/html/Type.html index 3b7870c640..caf1894129 100644 --- a/test/generators/html/Type.html +++ b/test/generators/html/Type.html @@ -68,7 +68,10 @@

Module Type

type labeled - = l:int -> int + = + l:int + -> + int
@@ -77,7 +80,10 @@

Module Type

type optional - = ?l:int -> int + = + ?l:int + -> + int
@@ -89,11 +95,17 @@

Module Type

type labeled_higher_order = - (l:int -> int) + ( + l:int + -> + int) -> - (?l:int -> int) + ( + ?l:int + -> + int) -> int diff --git a/test/generators/latex/Bugs.tex b/test/generators/latex/Bugs.tex index a4de712aea..7d84ed8e2d 100644 --- a/test/generators/latex/Bugs.tex +++ b/test/generators/latex/Bugs.tex @@ -1,6 +1,6 @@ \section{Module \ocamlinlinecode{Bugs}}\label{module-Bugs}% \label{module-Bugs-type-opt}\ocamlcodefragment{\ocamltag{keyword}{type} 'a opt = \ocamltag{type-var}{'a} option}\\ -\label{module-Bugs-val-foo}\ocamlcodefragment{\ocamltag{keyword}{val} foo : ?bar:\ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}Triggers an assertion failure when \href{https://github.com/ocaml/odoc/issues/101}{https://github.com/ocaml/odoc/issues/101}\footnote{\url{https://github.com/ocaml/odoc/issues/101}} is not fixed.\end{ocamlindent}% +\label{module-Bugs-val-foo}\ocamlcodefragment{\ocamltag{keyword}{val} foo : \ocamltag{named-arg}{?bar}:\ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}Triggers an assertion failure when \href{https://github.com/ocaml/odoc/issues/101}{https://github.com/ocaml/odoc/issues/101}\footnote{\url{https://github.com/ocaml/odoc/issues/101}} is not fixed.\end{ocamlindent}% \medbreak diff --git a/test/generators/latex/Ocamlary.tex b/test/generators/latex/Ocamlary.tex index 206f08a04a..4b124666ec 100644 --- a/test/generators/latex/Ocamlary.tex +++ b/test/generators/latex/Ocamlary.tex @@ -135,7 +135,7 @@ \subsubsection{Basic exception stuff\label{basic-exception-stuff}}% \subsubsection{Basic type and value stuff with advanced doc comments\label{basic-type-and-value-stuff-with-advanced-doc-comments}}% \label{module-Ocamlary-type-a_function}\ocamlcodefragment{\ocamltag{keyword}{type} ('a,\allowbreak{} 'b) a\_\allowbreak{}function = \ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} \ocamltag{type-var}{'b}}\begin{ocamlindent}\hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{\ocamlinlinecode{a\_\allowbreak{}function}}[p\pageref*{module-Ocamlary-type-a_function}]} is this type and \hyperref[module-Ocamlary-val-a_function]{\ocamlinlinecode{\ocamlinlinecode{a\_\allowbreak{}function}}[p\pageref*{module-Ocamlary-val-a_function}]} is the value below.\end{ocamlindent}% \medbreak -\label{module-Ocamlary-val-a_function}\ocamlcodefragment{\ocamltag{keyword}{val} a\_\allowbreak{}function : x:int \ocamltag{arrow}{$\rightarrow$} int}\begin{ocamlindent}This is \ocamlinlinecode{a\_\allowbreak{}function} with param and return type.\begin{description}\kern-\topsep +\label{module-Ocamlary-val-a_function}\ocamlcodefragment{\ocamltag{keyword}{val} a\_\allowbreak{}function : \ocamltag{opt-arg}{x}:int \ocamltag{arrow}{$\rightarrow$} int}\begin{ocamlindent}This is \ocamlinlinecode{a\_\allowbreak{}function} with param and return type.\begin{description}\kern-\topsep \makeatletter\advance\@topsepadd-\topsep\makeatother% topsep is hardcoded \item[{parameter x}]{the \ocamlinlinecode{x} coordinate}\end{description}% \begin{description}\kern-\topsep @@ -144,7 +144,7 @@ \subsubsection{Basic type and value stuff with advanced doc comments\label{basic \end{ocamlindent}% \medbreak \label{module-Ocamlary-val-fun_fun_fun}\ocamlcodefragment{\ocamltag{keyword}{val} fun\_\allowbreak{}fun\_\allowbreak{}fun : ((int,\allowbreak{} int) \hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{a\_\allowbreak{}function}},\allowbreak{} (unit,\allowbreak{} unit) \hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{a\_\allowbreak{}function}}) \hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{a\_\allowbreak{}function}}}\\ -\label{module-Ocamlary-val-fun_maybe}\ocamlcodefragment{\ocamltag{keyword}{val} fun\_\allowbreak{}maybe : ?yes:unit \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Ocamlary-val-fun_maybe}\ocamlcodefragment{\ocamltag{keyword}{val} fun\_\allowbreak{}maybe : \ocamltag{named-arg}{?yes}:unit \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} int}\\ \label{module-Ocamlary-val-not_found}\ocamlcodefragment{\ocamltag{keyword}{val} not\_\allowbreak{}found : unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}\begin{description}\kern-\topsep \makeatletter\advance\@topsepadd-\topsep\makeatother% topsep is hardcoded \item[{raises \ocamlinlinecode{Not\_\allowbreak{}found}}]{That's all it does}\end{description}% diff --git a/test/generators/latex/Type.tex b/test/generators/latex/Type.tex index 2c2f357b43..acdefd56a8 100644 --- a/test/generators/latex/Type.tex +++ b/test/generators/latex/Type.tex @@ -6,9 +6,9 @@ \section{Module \ocamlinlinecode{Type}}\label{module-Type}% \label{module-Type-type-constructor}\ocamlcodefragment{\ocamltag{keyword}{type} 'a constructor = \ocamltag{type-var}{'a}}\\ \label{module-Type-type-arrow}\ocamlcodefragment{\ocamltag{keyword}{type} arrow = int \ocamltag{arrow}{$\rightarrow$} int}\\ \label{module-Type-type-higher_order}\ocamlcodefragment{\ocamltag{keyword}{type} higher\_\allowbreak{}order = (int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} int}\\ -\label{module-Type-type-labeled}\ocamlcodefragment{\ocamltag{keyword}{type} labeled = l:int \ocamltag{arrow}{$\rightarrow$} int}\\ -\label{module-Type-type-optional}\ocamlcodefragment{\ocamltag{keyword}{type} optional = ?l:int \ocamltag{arrow}{$\rightarrow$} int}\\ -\label{module-Type-type-labeled_higher_order}\ocamlcodefragment{\ocamltag{keyword}{type} labeled\_\allowbreak{}higher\_\allowbreak{}order = (l:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} (?l:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Type-type-labeled}\ocamlcodefragment{\ocamltag{keyword}{type} labeled = \ocamltag{opt-arg}{l}:int \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Type-type-optional}\ocamlcodefragment{\ocamltag{keyword}{type} optional = \ocamltag{named-arg}{?l}:int \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Type-type-labeled_higher_order}\ocamlcodefragment{\ocamltag{keyword}{type} labeled\_\allowbreak{}higher\_\allowbreak{}order = (\ocamltag{opt-arg}{l}:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} (\ocamltag{named-arg}{?l}:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} int}\\ \label{module-Type-type-pair}\ocamlcodefragment{\ocamltag{keyword}{type} pair = int * int}\\ \label{module-Type-type-parens_dropped}\ocamlcodefragment{\ocamltag{keyword}{type} parens\_\allowbreak{}dropped = int * int}\\ \label{module-Type-type-triple}\ocamlcodefragment{\ocamltag{keyword}{type} triple = int * int * int}\\ diff --git a/test/generators/man/Bugs.3o b/test/generators/man/Bugs.3o index d2ab4c2662..18c7d5cd0c 100644 --- a/test/generators/man/Bugs.3o +++ b/test/generators/man/Bugs.3o @@ -13,7 +13,7 @@ Bugs .nf \f[CB]type\fR 'a opt = \f[CB]'a\fR option .sp -\f[CB]val\fR foo : ?bar:\f[CB]'a\fR \f[CB]\->\fR unit \f[CB]\->\fR unit +\f[CB]val\fR foo : \f[CB]?bar\fR:\f[CB]'a\fR \f[CB]\->\fR unit \f[CB]\->\fR unit .fi .br .ti +2 diff --git a/test/generators/man/Ocamlary.3o b/test/generators/man/Ocamlary.3o index 21b2312a87..f2ab4c7dc3 100644 --- a/test/generators/man/Ocamlary.3o +++ b/test/generators/man/Ocamlary.3o @@ -367,7 +367,7 @@ Unary exception constructor over binary tuple \f[CI]a_function\fR is this type and \f[CI]a_function\fR is the value below\. .nf .sp -\f[CB]val\fR a_function : x:int \f[CB]\->\fR int +\f[CB]val\fR a_function : \f[CB]x\fR:int \f[CB]\->\fR int .fi .br .ti +2 @@ -382,7 +382,7 @@ This is a_function with param and return type\. .sp \f[CB]val\fR fun_fun_fun : ((int, int) a_function, (unit, unit) a_function) a_function .sp -\f[CB]val\fR fun_maybe : ?yes:unit \f[CB]\->\fR unit \f[CB]\->\fR int +\f[CB]val\fR fun_maybe : \f[CB]?yes\fR:unit \f[CB]\->\fR unit \f[CB]\->\fR int .sp \f[CB]val\fR not_found : unit \f[CB]\->\fR unit .fi diff --git a/test/generators/man/Type.3o b/test/generators/man/Type.3o index 4effb74d90..ebaf6117e2 100644 --- a/test/generators/man/Type.3o +++ b/test/generators/man/Type.3o @@ -28,11 +28,11 @@ Some documentation\. .sp \f[CB]type\fR higher_order = (int \f[CB]\->\fR int) \f[CB]\->\fR int .sp -\f[CB]type\fR labeled = l:int \f[CB]\->\fR int +\f[CB]type\fR labeled = \f[CB]l\fR:int \f[CB]\->\fR int .sp -\f[CB]type\fR optional = ?l:int \f[CB]\->\fR int +\f[CB]type\fR optional = \f[CB]?l\fR:int \f[CB]\->\fR int .sp -\f[CB]type\fR labeled_higher_order = (l:int \f[CB]\->\fR int) \f[CB]\->\fR (?l:int \f[CB]\->\fR int) \f[CB]\->\fR int +\f[CB]type\fR labeled_higher_order = (\f[CB]l\fR:int \f[CB]\->\fR int) \f[CB]\->\fR (\f[CB]?l\fR:int \f[CB]\->\fR int) \f[CB]\->\fR int .sp \f[CB]type\fR pair = int * int .sp