/* Generated by the Nim Compiler v1.6.16 */
var framePtr = null;
var excHandler = 0;
var lastJSError = null;
var NTI40894478 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI31457821 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39845980 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845979 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845978 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845977 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845976 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845975 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845974 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845973 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845972 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845971 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845970 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845969 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845968 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845967 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845966 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845965 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845964 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845963 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845962 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845961 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845960 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845959 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845958 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845957 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39845956 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39846029 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845918 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846076 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39846073 = {size: 0,kind: 25,base: null,node: null,finalizer: null};
var NTI39846072 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI39845953 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846075 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI39845954 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846022 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845912 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846011 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846023 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845913 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846010 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846009 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846028 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845917 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846008 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846007 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846024 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845914 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846006 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846014 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846025 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845915 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846013 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI2097176 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
var NTI39846027 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846026 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845916 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI2097186 = {size: 0,kind: 1,base: null,node: null,finalizer: null};
var NTI39845998 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845902 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846012 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845906 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846005 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845905 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39845903 = {size: 0, kind: 14, base: null, node: null, finalizer: null};
var NTI39846004 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846003 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846002 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI39846001 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI39845904 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI39846332 = {size: 0, kind: 24, base: null, node: null, finalizer: null};
var NTI2097847 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097851 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097853 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097806 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097888 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI2097159 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NTI2097160 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
var NTI2097887 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI2097835 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097836 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097843 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097845 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NNI2097845 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097845.node = NNI2097845;
var NNI2097843 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097843.node = NNI2097843;
var NNI2097836 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097836.node = NNI2097836;
NTI2097887.base = NTI2097835;
NTI2097888.base = NTI2097835;
var NNI2097835 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI2097887, name: "parent", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI2097160, name: "name", sons: null}, 
{kind: 1, offset: "message", len: 0, typ: NTI2097159, name: "msg", sons: null}, 
{kind: 1, offset: "trace", len: 0, typ: NTI2097159, name: "trace", sons: null}, 
{kind: 1, offset: "up", len: 0, typ: NTI2097888, name: "up", sons: null}]};
NTI2097835.node = NNI2097835;
var NNI2097806 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097806.node = NNI2097806;
NTI2097835.base = NTI2097806;
NTI2097836.base = NTI2097835;
NTI2097843.base = NTI2097836;
NTI2097845.base = NTI2097843;
var NNI2097853 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097853.node = NNI2097853;
NTI2097853.base = NTI2097836;
var NNI2097851 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097851.node = NNI2097851;
NTI2097851.base = NTI2097836;
var NNI2097847 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097847.node = NNI2097847;
NTI2097847.base = NTI2097836;
NTI39846002.base = NTI39845904;
NTI39846003.base = NTI39845904;
NTI39846004.base = NTI39845904;
var NNI39845903 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI39845903, name: "ElementNode", len: 0, sons: null}, 
"2": {kind: 1, offset: 2, typ: NTI39845903, name: "AttributeNode", len: 0, sons: null}, 
"3": {kind: 1, offset: 3, typ: NTI39845903, name: "TextNode", len: 0, sons: null}, 
"4": {kind: 1, offset: 4, typ: NTI39845903, name: "CDATANode", len: 0, sons: null}, 
"5": {kind: 1, offset: 5, typ: NTI39845903, name: "EntityRefNode", len: 0, sons: null}, 
"6": {kind: 1, offset: 6, typ: NTI39845903, name: "EntityNode", len: 0, sons: null}, 
"7": {kind: 1, offset: 7, typ: NTI39845903, name: "ProcessingInstructionNode", len: 0, sons: null}, 
"8": {kind: 1, offset: 8, typ: NTI39845903, name: "CommentNode", len: 0, sons: null}, 
"9": {kind: 1, offset: 9, typ: NTI39845903, name: "DocumentNode", len: 0, sons: null}, 
"10": {kind: 1, offset: 10, typ: NTI39845903, name: "DocumentTypeNode", len: 0, sons: null}, 
"11": {kind: 1, offset: 11, typ: NTI39845903, name: "DocumentFragmentNode", len: 0, sons: null}, 
"12": {kind: 1, offset: 12, typ: NTI39845903, name: "NotationNode", len: 0, sons: null}}};
NTI39845903.node = NNI39845903;
var NNI39845998 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI39845998.node = NNI39845998;
NTI39845998.base = NTI2097806;
NTI39845902.base = NTI39845998;
NTI39846027.base = NTI39845906;
var NNI39846026 = {kind: 2, len: 10, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "acceptCharset", len: 0, typ: NTI2097160, name: "acceptCharset", sons: null}, 
{kind: 1, offset: "action", len: 0, typ: NTI2097160, name: "action", sons: null}, 
{kind: 1, offset: "autocomplete", len: 0, typ: NTI2097160, name: "autocomplete", sons: null}, 
{kind: 1, offset: "elements", len: 0, typ: NTI39846027, name: "elements", sons: null}, 
{kind: 1, offset: "encoding", len: 0, typ: NTI2097160, name: "encoding", sons: null}, 
{kind: 1, offset: "enctype", len: 0, typ: NTI2097160, name: "enctype", sons: null}, 
{kind: 1, offset: "length", len: 0, typ: NTI2097176, name: "length", sons: null}, 
{kind: 1, offset: "method", len: 0, typ: NTI2097160, name: "method", sons: null}, 
{kind: 1, offset: "noValidate", len: 0, typ: NTI2097186, name: "noValidate", sons: null}, 
{kind: 1, offset: "target", len: 0, typ: NTI2097160, name: "target", sons: null}]};
NTI39846026.node = NNI39846026;
NTI39846026.base = NTI39846012;
NTI39845916.base = NTI39846026;
var NNI39846025 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "defaultSelected", len: 0, typ: NTI2097186, name: "defaultSelected", sons: null}, 
{kind: 1, offset: "selected", len: 0, typ: NTI2097186, name: "selected", sons: null}, 
{kind: 1, offset: "selectedIndex", len: 0, typ: NTI2097176, name: "selectedIndex", sons: null}, 
{kind: 1, offset: "text", len: 0, typ: NTI2097160, name: "text", sons: null}, 
{kind: 1, offset: "value", len: 0, typ: NTI2097160, name: "value", sons: null}]};
NTI39846025.node = NNI39846025;
NTI39846025.base = NTI39846012;
NTI39845915.base = NTI39846025;
NTI39846013.base = NTI39845915;
NTI39846014.base = NTI39845915;
var NNI39846012 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "className", len: 0, typ: NTI2097160, name: "className", sons: null}, 
{kind: 1, offset: "classList", len: 0, typ: NTI39845902, name: "classList", sons: null}, 
{kind: 1, offset: "checked", len: 0, typ: NTI2097186, name: "checked", sons: null}, 
{kind: 1, offset: "defaultChecked", len: 0, typ: NTI2097186, name: "defaultChecked", sons: null}, 
{kind: 1, offset: "defaultValue", len: 0, typ: NTI2097160, name: "defaultValue", sons: null}, 
{kind: 1, offset: "disabled", len: 0, typ: NTI2097186, name: "disabled", sons: null}, 
{kind: 1, offset: "form", len: 0, typ: NTI39845916, name: "form", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI2097160, name: "name", sons: null}, 
{kind: 1, offset: "readOnly", len: 0, typ: NTI2097186, name: "readOnly", sons: null}, 
{kind: 1, offset: "options", len: 0, typ: NTI39846013, name: "options", sons: null}, 
{kind: 1, offset: "selectedOptions", len: 0, typ: NTI39846014, name: "selectedOptions", sons: null}, 
{kind: 1, offset: "clientWidth", len: 0, typ: NTI2097176, name: "clientWidth", sons: null}, 
{kind: 1, offset: "clientHeight", len: 0, typ: NTI2097176, name: "clientHeight", sons: null}, 
{kind: 1, offset: "contentEditable", len: 0, typ: NTI2097160, name: "contentEditable", sons: null}, 
{kind: 1, offset: "isContentEditable", len: 0, typ: NTI2097186, name: "isContentEditable", sons: null}, 
{kind: 1, offset: "dir", len: 0, typ: NTI2097160, name: "dir", sons: null}, 
{kind: 1, offset: "offsetHeight", len: 0, typ: NTI2097176, name: "offsetHeight", sons: null}, 
{kind: 1, offset: "offsetWidth", len: 0, typ: NTI2097176, name: "offsetWidth", sons: null}, 
{kind: 1, offset: "offsetLeft", len: 0, typ: NTI2097176, name: "offsetLeft", sons: null}, 
{kind: 1, offset: "offsetTop", len: 0, typ: NTI2097176, name: "offsetTop", sons: null}]};
NTI39846012.node = NNI39846012;
NTI39846012.base = NTI39846001;
NTI39845906.base = NTI39846012;
var NNI39846024 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "text", len: 0, typ: NTI2097160, name: "text", sons: null}, 
{kind: 1, offset: "x", len: 0, typ: NTI2097176, name: "x", sons: null}, 
{kind: 1, offset: "y", len: 0, typ: NTI2097176, name: "y", sons: null}]};
NTI39846024.node = NNI39846024;
NTI39846024.base = NTI39846012;
NTI39845914.base = NTI39846024;
NTI39846006.base = NTI39845914;
NTI39846007.base = NTI39845916;
var NNI39846028 = {kind: 2, len: 8, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "border", len: 0, typ: NTI2097176, name: "border", sons: null}, 
{kind: 1, offset: "complete", len: 0, typ: NTI2097186, name: "complete", sons: null}, 
{kind: 1, offset: "height", len: 0, typ: NTI2097176, name: "height", sons: null}, 
{kind: 1, offset: "hspace", len: 0, typ: NTI2097176, name: "hspace", sons: null}, 
{kind: 1, offset: "lowsrc", len: 0, typ: NTI2097160, name: "lowsrc", sons: null}, 
{kind: 1, offset: "src", len: 0, typ: NTI2097160, name: "src", sons: null}, 
{kind: 1, offset: "vspace", len: 0, typ: NTI2097176, name: "vspace", sons: null}, 
{kind: 1, offset: "width", len: 0, typ: NTI2097176, name: "width", sons: null}]};
NTI39846028.node = NNI39846028;
NTI39846028.base = NTI39846012;
NTI39845917.base = NTI39846028;
NTI39846008.base = NTI39845917;
NTI39846009.base = NTI39845906;
var NNI39846023 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "height", len: 0, typ: NTI2097176, name: "height", sons: null}, 
{kind: 1, offset: "hspace", len: 0, typ: NTI2097176, name: "hspace", sons: null}, 
{kind: 1, offset: "src", len: 0, typ: NTI2097160, name: "src", sons: null}, 
{kind: 1, offset: "width", len: 0, typ: NTI2097176, name: "width", sons: null}, 
{kind: 1, offset: "type", len: 0, typ: NTI2097160, name: "type", sons: null}, 
{kind: 1, offset: "vspace", len: 0, typ: NTI2097176, name: "vspace", sons: null}]};
NTI39846023.node = NNI39846023;
NTI39846023.base = NTI39846012;
NTI39845913.base = NTI39846023;
NTI39846010.base = NTI39845913;
var NNI39846022 = {kind: 2, len: 4, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "target", len: 0, typ: NTI2097160, name: "target", sons: null}, 
{kind: 1, offset: "text", len: 0, typ: NTI2097160, name: "text", sons: null}, 
{kind: 1, offset: "x", len: 0, typ: NTI2097176, name: "x", sons: null}, 
{kind: 1, offset: "y", len: 0, typ: NTI2097176, name: "y", sons: null}]};
NTI39846022.node = NNI39846022;
NTI39846022.base = NTI39846012;
NTI39845912.base = NTI39846022;
NTI39846011.base = NTI39845912;
var NNI39846072 = {kind: 1, offset: "then", len: 0, typ: NTI39846073, name: "then", sons: null};
NTI39846072.node = NNI39846072;
NTI39845953.base = NTI39846072;
var NNI39846075 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "ready", len: 0, typ: NTI39845953, name: "ready", sons: null}, 
{kind: 1, offset: "onloadingdone", len: 0, typ: NTI39846076, name: "onloadingdone", sons: null}]};
NTI39846075.node = NNI39846075;
NTI39845954.base = NTI39846075;
var NNI39846005 = {kind: 2, len: 23, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "activeElement", len: 0, typ: NTI39845906, name: "activeElement", sons: null}, 
{kind: 1, offset: "documentElement", len: 0, typ: NTI39845906, name: "documentElement", sons: null}, 
{kind: 1, offset: "alinkColor", len: 0, typ: NTI2097160, name: "alinkColor", sons: null}, 
{kind: 1, offset: "bgColor", len: 0, typ: NTI2097160, name: "bgColor", sons: null}, 
{kind: 1, offset: "body", len: 0, typ: NTI39845906, name: "body", sons: null}, 
{kind: 1, offset: "charset", len: 0, typ: NTI2097160, name: "charset", sons: null}, 
{kind: 1, offset: "cookie", len: 0, typ: NTI2097160, name: "cookie", sons: null}, 
{kind: 1, offset: "defaultCharset", len: 0, typ: NTI2097160, name: "defaultCharset", sons: null}, 
{kind: 1, offset: "fgColor", len: 0, typ: NTI2097160, name: "fgColor", sons: null}, 
{kind: 1, offset: "head", len: 0, typ: NTI39845906, name: "head", sons: null}, 
{kind: 1, offset: "lastModified", len: 0, typ: NTI2097160, name: "lastModified", sons: null}, 
{kind: 1, offset: "linkColor", len: 0, typ: NTI2097160, name: "linkColor", sons: null}, 
{kind: 1, offset: "referrer", len: 0, typ: NTI2097160, name: "referrer", sons: null}, 
{kind: 1, offset: "title", len: 0, typ: NTI2097160, name: "title", sons: null}, 
{kind: 1, offset: "URL", len: 0, typ: NTI2097160, name: "URL", sons: null}, 
{kind: 1, offset: "vlinkColor", len: 0, typ: NTI2097160, name: "vlinkColor", sons: null}, 
{kind: 1, offset: "anchors", len: 0, typ: NTI39846006, name: "anchors", sons: null}, 
{kind: 1, offset: "forms", len: 0, typ: NTI39846007, name: "forms", sons: null}, 
{kind: 1, offset: "images", len: 0, typ: NTI39846008, name: "images", sons: null}, 
{kind: 1, offset: "applets", len: 0, typ: NTI39846009, name: "applets", sons: null}, 
{kind: 1, offset: "embeds", len: 0, typ: NTI39846010, name: "embeds", sons: null}, 
{kind: 1, offset: "links", len: 0, typ: NTI39846011, name: "links", sons: null}, 
{kind: 1, offset: "fonts", len: 0, typ: NTI39845954, name: "fonts", sons: null}]};
NTI39846005.node = NNI39846005;
NTI39846005.base = NTI39846001;
NTI39845905.base = NTI39846005;
var NNI39846029 = {kind: 2, len: 368, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "alignContent", len: 0, typ: NTI2097160, name: "alignContent", sons: null}, 
{kind: 1, offset: "alignItems", len: 0, typ: NTI2097160, name: "alignItems", sons: null}, 
{kind: 1, offset: "alignSelf", len: 0, typ: NTI2097160, name: "alignSelf", sons: null}, 
{kind: 1, offset: "all", len: 0, typ: NTI2097160, name: "all", sons: null}, 
{kind: 1, offset: "animation", len: 0, typ: NTI2097160, name: "animation", sons: null}, 
{kind: 1, offset: "animationDelay", len: 0, typ: NTI2097160, name: "animationDelay", sons: null}, 
{kind: 1, offset: "animationDirection", len: 0, typ: NTI2097160, name: "animationDirection", sons: null}, 
{kind: 1, offset: "animationDuration", len: 0, typ: NTI2097160, name: "animationDuration", sons: null}, 
{kind: 1, offset: "animationFillMode", len: 0, typ: NTI2097160, name: "animationFillMode", sons: null}, 
{kind: 1, offset: "animationIterationCount", len: 0, typ: NTI2097160, name: "animationIterationCount", sons: null}, 
{kind: 1, offset: "animationName", len: 0, typ: NTI2097160, name: "animationName", sons: null}, 
{kind: 1, offset: "animationPlayState", len: 0, typ: NTI2097160, name: "animationPlayState", sons: null}, 
{kind: 1, offset: "animationTimingFunction", len: 0, typ: NTI2097160, name: "animationTimingFunction", sons: null}, 
{kind: 1, offset: "backdropFilter", len: 0, typ: NTI2097160, name: "backdropFilter", sons: null}, 
{kind: 1, offset: "backfaceVisibility", len: 0, typ: NTI2097160, name: "backfaceVisibility", sons: null}, 
{kind: 1, offset: "background", len: 0, typ: NTI2097160, name: "background", sons: null}, 
{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI2097160, name: "backgroundAttachment", sons: null}, 
{kind: 1, offset: "backgroundBlendMode", len: 0, typ: NTI2097160, name: "backgroundBlendMode", sons: null}, 
{kind: 1, offset: "backgroundClip", len: 0, typ: NTI2097160, name: "backgroundClip", sons: null}, 
{kind: 1, offset: "backgroundColor", len: 0, typ: NTI2097160, name: "backgroundColor", sons: null}, 
{kind: 1, offset: "backgroundImage", len: 0, typ: NTI2097160, name: "backgroundImage", sons: null}, 
{kind: 1, offset: "backgroundOrigin", len: 0, typ: NTI2097160, name: "backgroundOrigin", sons: null}, 
{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI2097160, name: "backgroundPosition", sons: null}, 
{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI2097160, name: "backgroundRepeat", sons: null}, 
{kind: 1, offset: "backgroundSize", len: 0, typ: NTI2097160, name: "backgroundSize", sons: null}, 
{kind: 1, offset: "blockSize", len: 0, typ: NTI2097160, name: "blockSize", sons: null}, 
{kind: 1, offset: "border", len: 0, typ: NTI2097160, name: "border", sons: null}, 
{kind: 1, offset: "borderBlock", len: 0, typ: NTI2097160, name: "borderBlock", sons: null}, 
{kind: 1, offset: "borderBlockColor", len: 0, typ: NTI2097160, name: "borderBlockColor", sons: null}, 
{kind: 1, offset: "borderBlockEnd", len: 0, typ: NTI2097160, name: "borderBlockEnd", sons: null}, 
{kind: 1, offset: "borderBlockEndColor", len: 0, typ: NTI2097160, name: "borderBlockEndColor", sons: null}, 
{kind: 1, offset: "borderBlockEndStyle", len: 0, typ: NTI2097160, name: "borderBlockEndStyle", sons: null}, 
{kind: 1, offset: "borderBlockEndWidth", len: 0, typ: NTI2097160, name: "borderBlockEndWidth", sons: null}, 
{kind: 1, offset: "borderBlockStart", len: 0, typ: NTI2097160, name: "borderBlockStart", sons: null}, 
{kind: 1, offset: "borderBlockStartColor", len: 0, typ: NTI2097160, name: "borderBlockStartColor", sons: null}, 
{kind: 1, offset: "borderBlockStartStyle", len: 0, typ: NTI2097160, name: "borderBlockStartStyle", sons: null}, 
{kind: 1, offset: "borderBlockStartWidth", len: 0, typ: NTI2097160, name: "borderBlockStartWidth", sons: null}, 
{kind: 1, offset: "borderBlockStyle", len: 0, typ: NTI2097160, name: "borderBlockStyle", sons: null}, 
{kind: 1, offset: "borderBlockWidth", len: 0, typ: NTI2097160, name: "borderBlockWidth", sons: null}, 
{kind: 1, offset: "borderBottom", len: 0, typ: NTI2097160, name: "borderBottom", sons: null}, 
{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI2097160, name: "borderBottomColor", sons: null}, 
{kind: 1, offset: "borderBottomLeftRadius", len: 0, typ: NTI2097160, name: "borderBottomLeftRadius", sons: null}, 
{kind: 1, offset: "borderBottomRightRadius", len: 0, typ: NTI2097160, name: "borderBottomRightRadius", sons: null}, 
{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI2097160, name: "borderBottomStyle", sons: null}, 
{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI2097160, name: "borderBottomWidth", sons: null}, 
{kind: 1, offset: "borderCollapse", len: 0, typ: NTI2097160, name: "borderCollapse", sons: null}, 
{kind: 1, offset: "borderColor", len: 0, typ: NTI2097160, name: "borderColor", sons: null}, 
{kind: 1, offset: "borderEndEndRadius", len: 0, typ: NTI2097160, name: "borderEndEndRadius", sons: null}, 
{kind: 1, offset: "borderEndStartRadius", len: 0, typ: NTI2097160, name: "borderEndStartRadius", sons: null}, 
{kind: 1, offset: "borderImage", len: 0, typ: NTI2097160, name: "borderImage", sons: null}, 
{kind: 1, offset: "borderImageOutset", len: 0, typ: NTI2097160, name: "borderImageOutset", sons: null}, 
{kind: 1, offset: "borderImageRepeat", len: 0, typ: NTI2097160, name: "borderImageRepeat", sons: null}, 
{kind: 1, offset: "borderImageSlice", len: 0, typ: NTI2097160, name: "borderImageSlice", sons: null}, 
{kind: 1, offset: "borderImageSource", len: 0, typ: NTI2097160, name: "borderImageSource", sons: null}, 
{kind: 1, offset: "borderImageWidth", len: 0, typ: NTI2097160, name: "borderImageWidth", sons: null}, 
{kind: 1, offset: "borderInline", len: 0, typ: NTI2097160, name: "borderInline", sons: null}, 
{kind: 1, offset: "borderInlineColor", len: 0, typ: NTI2097160, name: "borderInlineColor", sons: null}, 
{kind: 1, offset: "borderInlineEnd", len: 0, typ: NTI2097160, name: "borderInlineEnd", sons: null}, 
{kind: 1, offset: "borderInlineEndColor", len: 0, typ: NTI2097160, name: "borderInlineEndColor", sons: null}, 
{kind: 1, offset: "borderInlineEndStyle", len: 0, typ: NTI2097160, name: "borderInlineEndStyle", sons: null}, 
{kind: 1, offset: "borderInlineEndWidth", len: 0, typ: NTI2097160, name: "borderInlineEndWidth", sons: null}, 
{kind: 1, offset: "borderInlineStart", len: 0, typ: NTI2097160, name: "borderInlineStart", sons: null}, 
{kind: 1, offset: "borderInlineStartColor", len: 0, typ: NTI2097160, name: "borderInlineStartColor", sons: null}, 
{kind: 1, offset: "borderInlineStartStyle", len: 0, typ: NTI2097160, name: "borderInlineStartStyle", sons: null}, 
{kind: 1, offset: "borderInlineStartWidth", len: 0, typ: NTI2097160, name: "borderInlineStartWidth", sons: null}, 
{kind: 1, offset: "borderInlineStyle", len: 0, typ: NTI2097160, name: "borderInlineStyle", sons: null}, 
{kind: 1, offset: "borderInlineWidth", len: 0, typ: NTI2097160, name: "borderInlineWidth", sons: null}, 
{kind: 1, offset: "borderLeft", len: 0, typ: NTI2097160, name: "borderLeft", sons: null}, 
{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI2097160, name: "borderLeftColor", sons: null}, 
{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI2097160, name: "borderLeftStyle", sons: null}, 
{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI2097160, name: "borderLeftWidth", sons: null}, 
{kind: 1, offset: "borderRadius", len: 0, typ: NTI2097160, name: "borderRadius", sons: null}, 
{kind: 1, offset: "borderRight", len: 0, typ: NTI2097160, name: "borderRight", sons: null}, 
{kind: 1, offset: "borderRightColor", len: 0, typ: NTI2097160, name: "borderRightColor", sons: null}, 
{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI2097160, name: "borderRightStyle", sons: null}, 
{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI2097160, name: "borderRightWidth", sons: null}, 
{kind: 1, offset: "borderSpacing", len: 0, typ: NTI2097160, name: "borderSpacing", sons: null}, 
{kind: 1, offset: "borderStartEndRadius", len: 0, typ: NTI2097160, name: "borderStartEndRadius", sons: null}, 
{kind: 1, offset: "borderStartStartRadius", len: 0, typ: NTI2097160, name: "borderStartStartRadius", sons: null}, 
{kind: 1, offset: "borderStyle", len: 0, typ: NTI2097160, name: "borderStyle", sons: null}, 
{kind: 1, offset: "borderTop", len: 0, typ: NTI2097160, name: "borderTop", sons: null}, 
{kind: 1, offset: "borderTopColor", len: 0, typ: NTI2097160, name: "borderTopColor", sons: null}, 
{kind: 1, offset: "borderTopLeftRadius", len: 0, typ: NTI2097160, name: "borderTopLeftRadius", sons: null}, 
{kind: 1, offset: "borderTopRightRadius", len: 0, typ: NTI2097160, name: "borderTopRightRadius", sons: null}, 
{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI2097160, name: "borderTopStyle", sons: null}, 
{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI2097160, name: "borderTopWidth", sons: null}, 
{kind: 1, offset: "borderWidth", len: 0, typ: NTI2097160, name: "borderWidth", sons: null}, 
{kind: 1, offset: "bottom", len: 0, typ: NTI2097160, name: "bottom", sons: null}, 
{kind: 1, offset: "boxDecorationBreak", len: 0, typ: NTI2097160, name: "boxDecorationBreak", sons: null}, 
{kind: 1, offset: "boxShadow", len: 0, typ: NTI2097160, name: "boxShadow", sons: null}, 
{kind: 1, offset: "boxSizing", len: 0, typ: NTI2097160, name: "boxSizing", sons: null}, 
{kind: 1, offset: "breakAfter", len: 0, typ: NTI2097160, name: "breakAfter", sons: null}, 
{kind: 1, offset: "breakBefore", len: 0, typ: NTI2097160, name: "breakBefore", sons: null}, 
{kind: 1, offset: "breakInside", len: 0, typ: NTI2097160, name: "breakInside", sons: null}, 
{kind: 1, offset: "captionSide", len: 0, typ: NTI2097160, name: "captionSide", sons: null}, 
{kind: 1, offset: "caretColor", len: 0, typ: NTI2097160, name: "caretColor", sons: null}, 
{kind: 1, offset: "clear", len: 0, typ: NTI2097160, name: "clear", sons: null}, 
{kind: 1, offset: "clip", len: 0, typ: NTI2097160, name: "clip", sons: null}, 
{kind: 1, offset: "clipPath", len: 0, typ: NTI2097160, name: "clipPath", sons: null}, 
{kind: 1, offset: "color", len: 0, typ: NTI2097160, name: "color", sons: null}, 
{kind: 1, offset: "colorAdjust", len: 0, typ: NTI2097160, name: "colorAdjust", sons: null}, 
{kind: 1, offset: "columnCount", len: 0, typ: NTI2097160, name: "columnCount", sons: null}, 
{kind: 1, offset: "columnFill", len: 0, typ: NTI2097160, name: "columnFill", sons: null}, 
{kind: 1, offset: "columnGap", len: 0, typ: NTI2097160, name: "columnGap", sons: null}, 
{kind: 1, offset: "columnRule", len: 0, typ: NTI2097160, name: "columnRule", sons: null}, 
{kind: 1, offset: "columnRuleColor", len: 0, typ: NTI2097160, name: "columnRuleColor", sons: null}, 
{kind: 1, offset: "columnRuleStyle", len: 0, typ: NTI2097160, name: "columnRuleStyle", sons: null}, 
{kind: 1, offset: "columnRuleWidth", len: 0, typ: NTI2097160, name: "columnRuleWidth", sons: null}, 
{kind: 1, offset: "columnSpan", len: 0, typ: NTI2097160, name: "columnSpan", sons: null}, 
{kind: 1, offset: "columnWidth", len: 0, typ: NTI2097160, name: "columnWidth", sons: null}, 
{kind: 1, offset: "columns", len: 0, typ: NTI2097160, name: "columns", sons: null}, 
{kind: 1, offset: "contain", len: 0, typ: NTI2097160, name: "contain", sons: null}, 
{kind: 1, offset: "content", len: 0, typ: NTI2097160, name: "content", sons: null}, 
{kind: 1, offset: "counterIncrement", len: 0, typ: NTI2097160, name: "counterIncrement", sons: null}, 
{kind: 1, offset: "counterReset", len: 0, typ: NTI2097160, name: "counterReset", sons: null}, 
{kind: 1, offset: "counterSet", len: 0, typ: NTI2097160, name: "counterSet", sons: null}, 
{kind: 1, offset: "cursor", len: 0, typ: NTI2097160, name: "cursor", sons: null}, 
{kind: 1, offset: "direction", len: 0, typ: NTI2097160, name: "direction", sons: null}, 
{kind: 1, offset: "display", len: 0, typ: NTI2097160, name: "display", sons: null}, 
{kind: 1, offset: "emptyCells", len: 0, typ: NTI2097160, name: "emptyCells", sons: null}, 
{kind: 1, offset: "filter", len: 0, typ: NTI2097160, name: "filter", sons: null}, 
{kind: 1, offset: "flex", len: 0, typ: NTI2097160, name: "flex", sons: null}, 
{kind: 1, offset: "flexBasis", len: 0, typ: NTI2097160, name: "flexBasis", sons: null}, 
{kind: 1, offset: "flexDirection", len: 0, typ: NTI2097160, name: "flexDirection", sons: null}, 
{kind: 1, offset: "flexFlow", len: 0, typ: NTI2097160, name: "flexFlow", sons: null}, 
{kind: 1, offset: "flexGrow", len: 0, typ: NTI2097160, name: "flexGrow", sons: null}, 
{kind: 1, offset: "flexShrink", len: 0, typ: NTI2097160, name: "flexShrink", sons: null}, 
{kind: 1, offset: "flexWrap", len: 0, typ: NTI2097160, name: "flexWrap", sons: null}, 
{kind: 1, offset: "cssFloat", len: 0, typ: NTI2097160, name: "cssFloat", sons: null}, 
{kind: 1, offset: "font", len: 0, typ: NTI2097160, name: "font", sons: null}, 
{kind: 1, offset: "fontFamily", len: 0, typ: NTI2097160, name: "fontFamily", sons: null}, 
{kind: 1, offset: "fontFeatureSettings", len: 0, typ: NTI2097160, name: "fontFeatureSettings", sons: null}, 
{kind: 1, offset: "fontKerning", len: 0, typ: NTI2097160, name: "fontKerning", sons: null}, 
{kind: 1, offset: "fontLanguageOverride", len: 0, typ: NTI2097160, name: "fontLanguageOverride", sons: null}, 
{kind: 1, offset: "fontOpticalSizing", len: 0, typ: NTI2097160, name: "fontOpticalSizing", sons: null}, 
{kind: 1, offset: "fontSize", len: 0, typ: NTI2097160, name: "fontSize", sons: null}, 
{kind: 1, offset: "fontSizeAdjust", len: 0, typ: NTI2097160, name: "fontSizeAdjust", sons: null}, 
{kind: 1, offset: "fontStretch", len: 0, typ: NTI2097160, name: "fontStretch", sons: null}, 
{kind: 1, offset: "fontStyle", len: 0, typ: NTI2097160, name: "fontStyle", sons: null}, 
{kind: 1, offset: "fontSynthesis", len: 0, typ: NTI2097160, name: "fontSynthesis", sons: null}, 
{kind: 1, offset: "fontVariant", len: 0, typ: NTI2097160, name: "fontVariant", sons: null}, 
{kind: 1, offset: "fontVariantAlternates", len: 0, typ: NTI2097160, name: "fontVariantAlternates", sons: null}, 
{kind: 1, offset: "fontVariantCaps", len: 0, typ: NTI2097160, name: "fontVariantCaps", sons: null}, 
{kind: 1, offset: "fontVariantEastAsian", len: 0, typ: NTI2097160, name: "fontVariantEastAsian", sons: null}, 
{kind: 1, offset: "fontVariantLigatures", len: 0, typ: NTI2097160, name: "fontVariantLigatures", sons: null}, 
{kind: 1, offset: "fontVariantNumeric", len: 0, typ: NTI2097160, name: "fontVariantNumeric", sons: null}, 
{kind: 1, offset: "fontVariantPosition", len: 0, typ: NTI2097160, name: "fontVariantPosition", sons: null}, 
{kind: 1, offset: "fontVariationSettings", len: 0, typ: NTI2097160, name: "fontVariationSettings", sons: null}, 
{kind: 1, offset: "fontWeight", len: 0, typ: NTI2097160, name: "fontWeight", sons: null}, 
{kind: 1, offset: "gap", len: 0, typ: NTI2097160, name: "gap", sons: null}, 
{kind: 1, offset: "grid", len: 0, typ: NTI2097160, name: "grid", sons: null}, 
{kind: 1, offset: "gridArea", len: 0, typ: NTI2097160, name: "gridArea", sons: null}, 
{kind: 1, offset: "gridAutoColumns", len: 0, typ: NTI2097160, name: "gridAutoColumns", sons: null}, 
{kind: 1, offset: "gridAutoFlow", len: 0, typ: NTI2097160, name: "gridAutoFlow", sons: null}, 
{kind: 1, offset: "gridAutoRows", len: 0, typ: NTI2097160, name: "gridAutoRows", sons: null}, 
{kind: 1, offset: "gridColumn", len: 0, typ: NTI2097160, name: "gridColumn", sons: null}, 
{kind: 1, offset: "gridColumnEnd", len: 0, typ: NTI2097160, name: "gridColumnEnd", sons: null}, 
{kind: 1, offset: "gridColumnStart", len: 0, typ: NTI2097160, name: "gridColumnStart", sons: null}, 
{kind: 1, offset: "gridRow", len: 0, typ: NTI2097160, name: "gridRow", sons: null}, 
{kind: 1, offset: "gridRowEnd", len: 0, typ: NTI2097160, name: "gridRowEnd", sons: null}, 
{kind: 1, offset: "gridRowStart", len: 0, typ: NTI2097160, name: "gridRowStart", sons: null}, 
{kind: 1, offset: "gridTemplate", len: 0, typ: NTI2097160, name: "gridTemplate", sons: null}, 
{kind: 1, offset: "gridTemplateAreas", len: 0, typ: NTI2097160, name: "gridTemplateAreas", sons: null}, 
{kind: 1, offset: "gridTemplateColumns", len: 0, typ: NTI2097160, name: "gridTemplateColumns", sons: null}, 
{kind: 1, offset: "gridTemplateRows", len: 0, typ: NTI2097160, name: "gridTemplateRows", sons: null}, 
{kind: 1, offset: "hangingPunctuation", len: 0, typ: NTI2097160, name: "hangingPunctuation", sons: null}, 
{kind: 1, offset: "height", len: 0, typ: NTI2097160, name: "height", sons: null}, 
{kind: 1, offset: "hyphens", len: 0, typ: NTI2097160, name: "hyphens", sons: null}, 
{kind: 1, offset: "imageOrientation", len: 0, typ: NTI2097160, name: "imageOrientation", sons: null}, 
{kind: 1, offset: "imageRendering", len: 0, typ: NTI2097160, name: "imageRendering", sons: null}, 
{kind: 1, offset: "inlineSize", len: 0, typ: NTI2097160, name: "inlineSize", sons: null}, 
{kind: 1, offset: "inset", len: 0, typ: NTI2097160, name: "inset", sons: null}, 
{kind: 1, offset: "insetBlock", len: 0, typ: NTI2097160, name: "insetBlock", sons: null}, 
{kind: 1, offset: "insetBlockEnd", len: 0, typ: NTI2097160, name: "insetBlockEnd", sons: null}, 
{kind: 1, offset: "insetBlockStart", len: 0, typ: NTI2097160, name: "insetBlockStart", sons: null}, 
{kind: 1, offset: "insetInline", len: 0, typ: NTI2097160, name: "insetInline", sons: null}, 
{kind: 1, offset: "insetInlineEnd", len: 0, typ: NTI2097160, name: "insetInlineEnd", sons: null}, 
{kind: 1, offset: "insetInlineStart", len: 0, typ: NTI2097160, name: "insetInlineStart", sons: null}, 
{kind: 1, offset: "isolation", len: 0, typ: NTI2097160, name: "isolation", sons: null}, 
{kind: 1, offset: "justifyContent", len: 0, typ: NTI2097160, name: "justifyContent", sons: null}, 
{kind: 1, offset: "justifyItems", len: 0, typ: NTI2097160, name: "justifyItems", sons: null}, 
{kind: 1, offset: "justifySelf", len: 0, typ: NTI2097160, name: "justifySelf", sons: null}, 
{kind: 1, offset: "left", len: 0, typ: NTI2097160, name: "left", sons: null}, 
{kind: 1, offset: "letterSpacing", len: 0, typ: NTI2097160, name: "letterSpacing", sons: null}, 
{kind: 1, offset: "lineBreak", len: 0, typ: NTI2097160, name: "lineBreak", sons: null}, 
{kind: 1, offset: "lineHeight", len: 0, typ: NTI2097160, name: "lineHeight", sons: null}, 
{kind: 1, offset: "listStyle", len: 0, typ: NTI2097160, name: "listStyle", sons: null}, 
{kind: 1, offset: "listStyleImage", len: 0, typ: NTI2097160, name: "listStyleImage", sons: null}, 
{kind: 1, offset: "listStylePosition", len: 0, typ: NTI2097160, name: "listStylePosition", sons: null}, 
{kind: 1, offset: "listStyleType", len: 0, typ: NTI2097160, name: "listStyleType", sons: null}, 
{kind: 1, offset: "margin", len: 0, typ: NTI2097160, name: "margin", sons: null}, 
{kind: 1, offset: "marginBlock", len: 0, typ: NTI2097160, name: "marginBlock", sons: null}, 
{kind: 1, offset: "marginBlockEnd", len: 0, typ: NTI2097160, name: "marginBlockEnd", sons: null}, 
{kind: 1, offset: "marginBlockStart", len: 0, typ: NTI2097160, name: "marginBlockStart", sons: null}, 
{kind: 1, offset: "marginBottom", len: 0, typ: NTI2097160, name: "marginBottom", sons: null}, 
{kind: 1, offset: "marginInline", len: 0, typ: NTI2097160, name: "marginInline", sons: null}, 
{kind: 1, offset: "marginInlineEnd", len: 0, typ: NTI2097160, name: "marginInlineEnd", sons: null}, 
{kind: 1, offset: "marginInlineStart", len: 0, typ: NTI2097160, name: "marginInlineStart", sons: null}, 
{kind: 1, offset: "marginLeft", len: 0, typ: NTI2097160, name: "marginLeft", sons: null}, 
{kind: 1, offset: "marginRight", len: 0, typ: NTI2097160, name: "marginRight", sons: null}, 
{kind: 1, offset: "marginTop", len: 0, typ: NTI2097160, name: "marginTop", sons: null}, 
{kind: 1, offset: "mask", len: 0, typ: NTI2097160, name: "mask", sons: null}, 
{kind: 1, offset: "maskBorder", len: 0, typ: NTI2097160, name: "maskBorder", sons: null}, 
{kind: 1, offset: "maskBorderMode", len: 0, typ: NTI2097160, name: "maskBorderMode", sons: null}, 
{kind: 1, offset: "maskBorderOutset", len: 0, typ: NTI2097160, name: "maskBorderOutset", sons: null}, 
{kind: 1, offset: "maskBorderRepeat", len: 0, typ: NTI2097160, name: "maskBorderRepeat", sons: null}, 
{kind: 1, offset: "maskBorderSlice", len: 0, typ: NTI2097160, name: "maskBorderSlice", sons: null}, 
{kind: 1, offset: "maskBorderSource", len: 0, typ: NTI2097160, name: "maskBorderSource", sons: null}, 
{kind: 1, offset: "maskBorderWidth", len: 0, typ: NTI2097160, name: "maskBorderWidth", sons: null}, 
{kind: 1, offset: "maskClip", len: 0, typ: NTI2097160, name: "maskClip", sons: null}, 
{kind: 1, offset: "maskComposite", len: 0, typ: NTI2097160, name: "maskComposite", sons: null}, 
{kind: 1, offset: "maskImage", len: 0, typ: NTI2097160, name: "maskImage", sons: null}, 
{kind: 1, offset: "maskMode", len: 0, typ: NTI2097160, name: "maskMode", sons: null}, 
{kind: 1, offset: "maskOrigin", len: 0, typ: NTI2097160, name: "maskOrigin", sons: null}, 
{kind: 1, offset: "maskPosition", len: 0, typ: NTI2097160, name: "maskPosition", sons: null}, 
{kind: 1, offset: "maskRepeat", len: 0, typ: NTI2097160, name: "maskRepeat", sons: null}, 
{kind: 1, offset: "maskSize", len: 0, typ: NTI2097160, name: "maskSize", sons: null}, 
{kind: 1, offset: "maskType", len: 0, typ: NTI2097160, name: "maskType", sons: null}, 
{kind: 1, offset: "maxBlockSize", len: 0, typ: NTI2097160, name: "maxBlockSize", sons: null}, 
{kind: 1, offset: "maxHeight", len: 0, typ: NTI2097160, name: "maxHeight", sons: null}, 
{kind: 1, offset: "maxInlineSize", len: 0, typ: NTI2097160, name: "maxInlineSize", sons: null}, 
{kind: 1, offset: "maxWidth", len: 0, typ: NTI2097160, name: "maxWidth", sons: null}, 
{kind: 1, offset: "minBlockSize", len: 0, typ: NTI2097160, name: "minBlockSize", sons: null}, 
{kind: 1, offset: "minHeight", len: 0, typ: NTI2097160, name: "minHeight", sons: null}, 
{kind: 1, offset: "minInlineSize", len: 0, typ: NTI2097160, name: "minInlineSize", sons: null}, 
{kind: 1, offset: "minWidth", len: 0, typ: NTI2097160, name: "minWidth", sons: null}, 
{kind: 1, offset: "mixBlendMode", len: 0, typ: NTI2097160, name: "mixBlendMode", sons: null}, 
{kind: 1, offset: "objectFit", len: 0, typ: NTI2097160, name: "objectFit", sons: null}, 
{kind: 1, offset: "objectPosition", len: 0, typ: NTI2097160, name: "objectPosition", sons: null}, 
{kind: 1, offset: "offset", len: 0, typ: NTI2097160, name: "offset", sons: null}, 
{kind: 1, offset: "offsetAnchor", len: 0, typ: NTI2097160, name: "offsetAnchor", sons: null}, 
{kind: 1, offset: "offsetDistance", len: 0, typ: NTI2097160, name: "offsetDistance", sons: null}, 
{kind: 1, offset: "offsetPath", len: 0, typ: NTI2097160, name: "offsetPath", sons: null}, 
{kind: 1, offset: "offsetRotate", len: 0, typ: NTI2097160, name: "offsetRotate", sons: null}, 
{kind: 1, offset: "opacity", len: 0, typ: NTI2097160, name: "opacity", sons: null}, 
{kind: 1, offset: "order", len: 0, typ: NTI2097160, name: "order", sons: null}, 
{kind: 1, offset: "orphans", len: 0, typ: NTI2097160, name: "orphans", sons: null}, 
{kind: 1, offset: "outline", len: 0, typ: NTI2097160, name: "outline", sons: null}, 
{kind: 1, offset: "outlineColor", len: 0, typ: NTI2097160, name: "outlineColor", sons: null}, 
{kind: 1, offset: "outlineOffset", len: 0, typ: NTI2097160, name: "outlineOffset", sons: null}, 
{kind: 1, offset: "outlineStyle", len: 0, typ: NTI2097160, name: "outlineStyle", sons: null}, 
{kind: 1, offset: "outlineWidth", len: 0, typ: NTI2097160, name: "outlineWidth", sons: null}, 
{kind: 1, offset: "overflow", len: 0, typ: NTI2097160, name: "overflow", sons: null}, 
{kind: 1, offset: "overflowAnchor", len: 0, typ: NTI2097160, name: "overflowAnchor", sons: null}, 
{kind: 1, offset: "overflowBlock", len: 0, typ: NTI2097160, name: "overflowBlock", sons: null}, 
{kind: 1, offset: "overflowInline", len: 0, typ: NTI2097160, name: "overflowInline", sons: null}, 
{kind: 1, offset: "overflowWrap", len: 0, typ: NTI2097160, name: "overflowWrap", sons: null}, 
{kind: 1, offset: "overflowX", len: 0, typ: NTI2097160, name: "overflowX", sons: null}, 
{kind: 1, offset: "overflowY", len: 0, typ: NTI2097160, name: "overflowY", sons: null}, 
{kind: 1, offset: "overscrollBehavior", len: 0, typ: NTI2097160, name: "overscrollBehavior", sons: null}, 
{kind: 1, offset: "overscrollBehaviorBlock", len: 0, typ: NTI2097160, name: "overscrollBehaviorBlock", sons: null}, 
{kind: 1, offset: "overscrollBehaviorInline", len: 0, typ: NTI2097160, name: "overscrollBehaviorInline", sons: null}, 
{kind: 1, offset: "overscrollBehaviorX", len: 0, typ: NTI2097160, name: "overscrollBehaviorX", sons: null}, 
{kind: 1, offset: "overscrollBehaviorY", len: 0, typ: NTI2097160, name: "overscrollBehaviorY", sons: null}, 
{kind: 1, offset: "padding", len: 0, typ: NTI2097160, name: "padding", sons: null}, 
{kind: 1, offset: "paddingBlock", len: 0, typ: NTI2097160, name: "paddingBlock", sons: null}, 
{kind: 1, offset: "paddingBlockEnd", len: 0, typ: NTI2097160, name: "paddingBlockEnd", sons: null}, 
{kind: 1, offset: "paddingBlockStart", len: 0, typ: NTI2097160, name: "paddingBlockStart", sons: null}, 
{kind: 1, offset: "paddingBottom", len: 0, typ: NTI2097160, name: "paddingBottom", sons: null}, 
{kind: 1, offset: "paddingInline", len: 0, typ: NTI2097160, name: "paddingInline", sons: null}, 
{kind: 1, offset: "paddingInlineEnd", len: 0, typ: NTI2097160, name: "paddingInlineEnd", sons: null}, 
{kind: 1, offset: "paddingInlineStart", len: 0, typ: NTI2097160, name: "paddingInlineStart", sons: null}, 
{kind: 1, offset: "paddingLeft", len: 0, typ: NTI2097160, name: "paddingLeft", sons: null}, 
{kind: 1, offset: "paddingRight", len: 0, typ: NTI2097160, name: "paddingRight", sons: null}, 
{kind: 1, offset: "paddingTop", len: 0, typ: NTI2097160, name: "paddingTop", sons: null}, 
{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI2097160, name: "pageBreakAfter", sons: null}, 
{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI2097160, name: "pageBreakBefore", sons: null}, 
{kind: 1, offset: "pageBreakInside", len: 0, typ: NTI2097160, name: "pageBreakInside", sons: null}, 
{kind: 1, offset: "paintOrder", len: 0, typ: NTI2097160, name: "paintOrder", sons: null}, 
{kind: 1, offset: "perspective", len: 0, typ: NTI2097160, name: "perspective", sons: null}, 
{kind: 1, offset: "perspectiveOrigin", len: 0, typ: NTI2097160, name: "perspectiveOrigin", sons: null}, 
{kind: 1, offset: "placeContent", len: 0, typ: NTI2097160, name: "placeContent", sons: null}, 
{kind: 1, offset: "placeItems", len: 0, typ: NTI2097160, name: "placeItems", sons: null}, 
{kind: 1, offset: "placeSelf", len: 0, typ: NTI2097160, name: "placeSelf", sons: null}, 
{kind: 1, offset: "pointerEvents", len: 0, typ: NTI2097160, name: "pointerEvents", sons: null}, 
{kind: 1, offset: "position", len: 0, typ: NTI2097160, name: "position", sons: null}, 
{kind: 1, offset: "quotes", len: 0, typ: NTI2097160, name: "quotes", sons: null}, 
{kind: 1, offset: "resize", len: 0, typ: NTI2097160, name: "resize", sons: null}, 
{kind: 1, offset: "right", len: 0, typ: NTI2097160, name: "right", sons: null}, 
{kind: 1, offset: "rotate", len: 0, typ: NTI2097160, name: "rotate", sons: null}, 
{kind: 1, offset: "rowGap", len: 0, typ: NTI2097160, name: "rowGap", sons: null}, 
{kind: 1, offset: "scale", len: 0, typ: NTI2097160, name: "scale", sons: null}, 
{kind: 1, offset: "scrollBehavior", len: 0, typ: NTI2097160, name: "scrollBehavior", sons: null}, 
{kind: 1, offset: "scrollMargin", len: 0, typ: NTI2097160, name: "scrollMargin", sons: null}, 
{kind: 1, offset: "scrollMarginBlock", len: 0, typ: NTI2097160, name: "scrollMarginBlock", sons: null}, 
{kind: 1, offset: "scrollMarginBlockEnd", len: 0, typ: NTI2097160, name: "scrollMarginBlockEnd", sons: null}, 
{kind: 1, offset: "scrollMarginBlockStart", len: 0, typ: NTI2097160, name: "scrollMarginBlockStart", sons: null}, 
{kind: 1, offset: "scrollMarginBottom", len: 0, typ: NTI2097160, name: "scrollMarginBottom", sons: null}, 
{kind: 1, offset: "scrollMarginInline", len: 0, typ: NTI2097160, name: "scrollMarginInline", sons: null}, 
{kind: 1, offset: "scrollMarginInlineEnd", len: 0, typ: NTI2097160, name: "scrollMarginInlineEnd", sons: null}, 
{kind: 1, offset: "scrollMarginInlineStart", len: 0, typ: NTI2097160, name: "scrollMarginInlineStart", sons: null}, 
{kind: 1, offset: "scrollMarginLeft", len: 0, typ: NTI2097160, name: "scrollMarginLeft", sons: null}, 
{kind: 1, offset: "scrollMarginRight", len: 0, typ: NTI2097160, name: "scrollMarginRight", sons: null}, 
{kind: 1, offset: "scrollMarginTop", len: 0, typ: NTI2097160, name: "scrollMarginTop", sons: null}, 
{kind: 1, offset: "scrollPadding", len: 0, typ: NTI2097160, name: "scrollPadding", sons: null}, 
{kind: 1, offset: "scrollPaddingBlock", len: 0, typ: NTI2097160, name: "scrollPaddingBlock", sons: null}, 
{kind: 1, offset: "scrollPaddingBlockEnd", len: 0, typ: NTI2097160, name: "scrollPaddingBlockEnd", sons: null}, 
{kind: 1, offset: "scrollPaddingBlockStart", len: 0, typ: NTI2097160, name: "scrollPaddingBlockStart", sons: null}, 
{kind: 1, offset: "scrollPaddingBottom", len: 0, typ: NTI2097160, name: "scrollPaddingBottom", sons: null}, 
{kind: 1, offset: "scrollPaddingInline", len: 0, typ: NTI2097160, name: "scrollPaddingInline", sons: null}, 
{kind: 1, offset: "scrollPaddingInlineEnd", len: 0, typ: NTI2097160, name: "scrollPaddingInlineEnd", sons: null}, 
{kind: 1, offset: "scrollPaddingInlineStart", len: 0, typ: NTI2097160, name: "scrollPaddingInlineStart", sons: null}, 
{kind: 1, offset: "scrollPaddingLeft", len: 0, typ: NTI2097160, name: "scrollPaddingLeft", sons: null}, 
{kind: 1, offset: "scrollPaddingRight", len: 0, typ: NTI2097160, name: "scrollPaddingRight", sons: null}, 
{kind: 1, offset: "scrollPaddingTop", len: 0, typ: NTI2097160, name: "scrollPaddingTop", sons: null}, 
{kind: 1, offset: "scrollSnapAlign", len: 0, typ: NTI2097160, name: "scrollSnapAlign", sons: null}, 
{kind: 1, offset: "scrollSnapStop", len: 0, typ: NTI2097160, name: "scrollSnapStop", sons: null}, 
{kind: 1, offset: "scrollSnapType", len: 0, typ: NTI2097160, name: "scrollSnapType", sons: null}, 
{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI2097160, name: "scrollbar3dLightColor", sons: null}, 
{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI2097160, name: "scrollbarArrowColor", sons: null}, 
{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI2097160, name: "scrollbarBaseColor", sons: null}, 
{kind: 1, offset: "scrollbarColor", len: 0, typ: NTI2097160, name: "scrollbarColor", sons: null}, 
{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI2097160, name: "scrollbarDarkshadowColor", sons: null}, 
{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI2097160, name: "scrollbarFaceColor", sons: null}, 
{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI2097160, name: "scrollbarHighlightColor", sons: null}, 
{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI2097160, name: "scrollbarShadowColor", sons: null}, 
{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI2097160, name: "scrollbarTrackColor", sons: null}, 
{kind: 1, offset: "scrollbarWidth", len: 0, typ: NTI2097160, name: "scrollbarWidth", sons: null}, 
{kind: 1, offset: "shapeImageThreshold", len: 0, typ: NTI2097160, name: "shapeImageThreshold", sons: null}, 
{kind: 1, offset: "shapeMargin", len: 0, typ: NTI2097160, name: "shapeMargin", sons: null}, 
{kind: 1, offset: "shapeOutside", len: 0, typ: NTI2097160, name: "shapeOutside", sons: null}, 
{kind: 1, offset: "tabSize", len: 0, typ: NTI2097160, name: "tabSize", sons: null}, 
{kind: 1, offset: "tableLayout", len: 0, typ: NTI2097160, name: "tableLayout", sons: null}, 
{kind: 1, offset: "textAlign", len: 0, typ: NTI2097160, name: "textAlign", sons: null}, 
{kind: 1, offset: "textAlignLast", len: 0, typ: NTI2097160, name: "textAlignLast", sons: null}, 
{kind: 1, offset: "textCombineUpright", len: 0, typ: NTI2097160, name: "textCombineUpright", sons: null}, 
{kind: 1, offset: "textDecoration", len: 0, typ: NTI2097160, name: "textDecoration", sons: null}, 
{kind: 1, offset: "textDecorationColor", len: 0, typ: NTI2097160, name: "textDecorationColor", sons: null}, 
{kind: 1, offset: "textDecorationLine", len: 0, typ: NTI2097160, name: "textDecorationLine", sons: null}, 
{kind: 1, offset: "textDecorationSkipInk", len: 0, typ: NTI2097160, name: "textDecorationSkipInk", sons: null}, 
{kind: 1, offset: "textDecorationStyle", len: 0, typ: NTI2097160, name: "textDecorationStyle", sons: null}, 
{kind: 1, offset: "textDecorationThickness", len: 0, typ: NTI2097160, name: "textDecorationThickness", sons: null}, 
{kind: 1, offset: "textEmphasis", len: 0, typ: NTI2097160, name: "textEmphasis", sons: null}, 
{kind: 1, offset: "textEmphasisColor", len: 0, typ: NTI2097160, name: "textEmphasisColor", sons: null}, 
{kind: 1, offset: "textEmphasisPosition", len: 0, typ: NTI2097160, name: "textEmphasisPosition", sons: null}, 
{kind: 1, offset: "textEmphasisStyle", len: 0, typ: NTI2097160, name: "textEmphasisStyle", sons: null}, 
{kind: 1, offset: "textIndent", len: 0, typ: NTI2097160, name: "textIndent", sons: null}, 
{kind: 1, offset: "textJustify", len: 0, typ: NTI2097160, name: "textJustify", sons: null}, 
{kind: 1, offset: "textOrientation", len: 0, typ: NTI2097160, name: "textOrientation", sons: null}, 
{kind: 1, offset: "textOverflow", len: 0, typ: NTI2097160, name: "textOverflow", sons: null}, 
{kind: 1, offset: "textRendering", len: 0, typ: NTI2097160, name: "textRendering", sons: null}, 
{kind: 1, offset: "textShadow", len: 0, typ: NTI2097160, name: "textShadow", sons: null}, 
{kind: 1, offset: "textTransform", len: 0, typ: NTI2097160, name: "textTransform", sons: null}, 
{kind: 1, offset: "textUnderlineOffset", len: 0, typ: NTI2097160, name: "textUnderlineOffset", sons: null}, 
{kind: 1, offset: "textUnderlinePosition", len: 0, typ: NTI2097160, name: "textUnderlinePosition", sons: null}, 
{kind: 1, offset: "top", len: 0, typ: NTI2097160, name: "top", sons: null}, 
{kind: 1, offset: "touchAction", len: 0, typ: NTI2097160, name: "touchAction", sons: null}, 
{kind: 1, offset: "transform", len: 0, typ: NTI2097160, name: "transform", sons: null}, 
{kind: 1, offset: "transformBox", len: 0, typ: NTI2097160, name: "transformBox", sons: null}, 
{kind: 1, offset: "transformOrigin", len: 0, typ: NTI2097160, name: "transformOrigin", sons: null}, 
{kind: 1, offset: "transformStyle", len: 0, typ: NTI2097160, name: "transformStyle", sons: null}, 
{kind: 1, offset: "transition", len: 0, typ: NTI2097160, name: "transition", sons: null}, 
{kind: 1, offset: "transitionDelay", len: 0, typ: NTI2097160, name: "transitionDelay", sons: null}, 
{kind: 1, offset: "transitionDuration", len: 0, typ: NTI2097160, name: "transitionDuration", sons: null}, 
{kind: 1, offset: "transitionProperty", len: 0, typ: NTI2097160, name: "transitionProperty", sons: null}, 
{kind: 1, offset: "transitionTimingFunction", len: 0, typ: NTI2097160, name: "transitionTimingFunction", sons: null}, 
{kind: 1, offset: "translate", len: 0, typ: NTI2097160, name: "translate", sons: null}, 
{kind: 1, offset: "unicodeBidi", len: 0, typ: NTI2097160, name: "unicodeBidi", sons: null}, 
{kind: 1, offset: "verticalAlign", len: 0, typ: NTI2097160, name: "verticalAlign", sons: null}, 
{kind: 1, offset: "visibility", len: 0, typ: NTI2097160, name: "visibility", sons: null}, 
{kind: 1, offset: "whiteSpace", len: 0, typ: NTI2097160, name: "whiteSpace", sons: null}, 
{kind: 1, offset: "widows", len: 0, typ: NTI2097160, name: "widows", sons: null}, 
{kind: 1, offset: "width", len: 0, typ: NTI2097160, name: "width", sons: null}, 
{kind: 1, offset: "willChange", len: 0, typ: NTI2097160, name: "willChange", sons: null}, 
{kind: 1, offset: "wordBreak", len: 0, typ: NTI2097160, name: "wordBreak", sons: null}, 
{kind: 1, offset: "wordSpacing", len: 0, typ: NTI2097160, name: "wordSpacing", sons: null}, 
{kind: 1, offset: "writingMode", len: 0, typ: NTI2097160, name: "writingMode", sons: null}, 
{kind: 1, offset: "zIndex", len: 0, typ: NTI2097160, name: "zIndex", sons: null}]};
NTI39846029.node = NNI39846029;
NTI39846029.base = NTI2097806;
NTI39845918.base = NTI39846029;
var NNI39846001 = {kind: 2, len: 22, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI39846002, name: "attributes", sons: null}, 
{kind: 1, offset: "childNodes", len: 0, typ: NTI39846003, name: "childNodes", sons: null}, 
{kind: 1, offset: "children", len: 0, typ: NTI39846004, name: "children", sons: null}, 
{kind: 1, offset: "data", len: 0, typ: NTI2097160, name: "data", sons: null}, 
{kind: 1, offset: "firstChild", len: 0, typ: NTI39845904, name: "firstChild", sons: null}, 
{kind: 1, offset: "lastChild", len: 0, typ: NTI39845904, name: "lastChild", sons: null}, 
{kind: 1, offset: "nextSibling", len: 0, typ: NTI39845904, name: "nextSibling", sons: null}, 
{kind: 1, offset: "nodeName", len: 0, typ: NTI2097160, name: "nodeName", sons: null}, 
{kind: 1, offset: "nodeType", len: 0, typ: NTI39845903, name: "nodeType", sons: null}, 
{kind: 1, offset: "nodeValue", len: 0, typ: NTI2097160, name: "nodeValue", sons: null}, 
{kind: 1, offset: "parentNode", len: 0, typ: NTI39845904, name: "parentNode", sons: null}, 
{kind: 1, offset: "content", len: 0, typ: NTI39845904, name: "content", sons: null}, 
{kind: 1, offset: "previousSibling", len: 0, typ: NTI39845904, name: "previousSibling", sons: null}, 
{kind: 1, offset: "ownerDocument", len: 0, typ: NTI39845905, name: "ownerDocument", sons: null}, 
{kind: 1, offset: "innerHTML", len: 0, typ: NTI2097160, name: "innerHTML", sons: null}, 
{kind: 1, offset: "outerHTML", len: 0, typ: NTI2097160, name: "outerHTML", sons: null}, 
{kind: 1, offset: "innerText", len: 0, typ: NTI2097160, name: "innerText", sons: null}, 
{kind: 1, offset: "textContent", len: 0, typ: NTI2097160, name: "textContent", sons: null}, 
{kind: 1, offset: "style", len: 0, typ: NTI39845918, name: "style", sons: null}, 
{kind: 1, offset: "baseURI", len: 0, typ: NTI2097160, name: "baseURI", sons: null}, 
{kind: 1, offset: "parentElement", len: 0, typ: NTI39845906, name: "parentElement", sons: null}, 
{kind: 1, offset: "isConnected", len: 0, typ: NTI2097186, name: "isConnected", sons: null}]};
NTI39846001.node = NNI39846001;
var NNI39845956 = {kind: 2, len: 24, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI39845957, name: "onabort", sons: null}, 
{kind: 1, offset: "onblur", len: 0, typ: NTI39845958, name: "onblur", sons: null}, 
{kind: 1, offset: "onchange", len: 0, typ: NTI39845959, name: "onchange", sons: null}, 
{kind: 1, offset: "onclick", len: 0, typ: NTI39845960, name: "onclick", sons: null}, 
{kind: 1, offset: "ondblclick", len: 0, typ: NTI39845961, name: "ondblclick", sons: null}, 
{kind: 1, offset: "onerror", len: 0, typ: NTI39845962, name: "onerror", sons: null}, 
{kind: 1, offset: "onfocus", len: 0, typ: NTI39845963, name: "onfocus", sons: null}, 
{kind: 1, offset: "onkeydown", len: 0, typ: NTI39845964, name: "onkeydown", sons: null}, 
{kind: 1, offset: "onkeypress", len: 0, typ: NTI39845965, name: "onkeypress", sons: null}, 
{kind: 1, offset: "onkeyup", len: 0, typ: NTI39845966, name: "onkeyup", sons: null}, 
{kind: 1, offset: "onload", len: 0, typ: NTI39845967, name: "onload", sons: null}, 
{kind: 1, offset: "onmousedown", len: 0, typ: NTI39845968, name: "onmousedown", sons: null}, 
{kind: 1, offset: "onmousemove", len: 0, typ: NTI39845969, name: "onmousemove", sons: null}, 
{kind: 1, offset: "onmouseout", len: 0, typ: NTI39845970, name: "onmouseout", sons: null}, 
{kind: 1, offset: "onmouseover", len: 0, typ: NTI39845971, name: "onmouseover", sons: null}, 
{kind: 1, offset: "onmouseup", len: 0, typ: NTI39845972, name: "onmouseup", sons: null}, 
{kind: 1, offset: "onreset", len: 0, typ: NTI39845973, name: "onreset", sons: null}, 
{kind: 1, offset: "onselect", len: 0, typ: NTI39845974, name: "onselect", sons: null}, 
{kind: 1, offset: "onstorage", len: 0, typ: NTI39845975, name: "onstorage", sons: null}, 
{kind: 1, offset: "onsubmit", len: 0, typ: NTI39845976, name: "onsubmit", sons: null}, 
{kind: 1, offset: "onunload", len: 0, typ: NTI39845977, name: "onunload", sons: null}, 
{kind: 1, offset: "onloadstart", len: 0, typ: NTI39845978, name: "onloadstart", sons: null}, 
{kind: 1, offset: "onprogress", len: 0, typ: NTI39845979, name: "onprogress", sons: null}, 
{kind: 1, offset: "onloadend", len: 0, typ: NTI39845980, name: "onloadend", sons: null}]};
NTI39845956.node = NNI39845956;
NTI39845956.base = NTI2097806;
NTI39846001.base = NTI39845956;
NTI39845904.base = NTI39846001;
NTI39846332.base = NTI39845904;
NTI31457821.base = NTI2097160;
var NNI40894478 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI2097176, name: "Field0", sons: null}, 
{kind: 1, offset: "Field1", len: 0, typ: NTI2097186, name: "Field1", sons: null}]};
NTI40894478.node = NNI40894478;

function makeNimstrLit(c_2099521) {
      var result = [];
  for (var i = 0; i < c_2099521.length; ++i) {
    result[i] = c_2099521.charCodeAt(i);
  }
  return result;
  

  
}

function toJSStr(s_2099527) {
                    var Temporary5;

  var result_2099528 = null;

    var res_2099562 = newSeq_2099541((s_2099527).length);
    var i_2099563 = 0;
    var j_2099564 = 0;
    Label1: do {
        Label2: while (true) {
        if (!(i_2099563 < (s_2099527).length)) break Label2;
          var c_2099565 = s_2099527[i_2099563];
          if ((c_2099565 < 128)) {
          res_2099562[j_2099564] = String.fromCharCode(c_2099565);
          i_2099563 += 1;
          }
          else {
            var helper_2099577 = newSeq_2099541(0);
            Label3: do {
                Label4: while (true) {
                if (!true) break Label4;
                  var code_2099578 = c_2099565.toString(16);
                  if ((((code_2099578) == null ? 0 : (code_2099578).length) == 1)) {
                  helper_2099577.push("%0");;
                  }
                  else {
                  helper_2099577.push("%");;
                  }
                  
                  helper_2099577.push(code_2099578);;
                  i_2099563 += 1;
                    if (((s_2099527).length <= i_2099563)) Temporary5 = true; else {                      Temporary5 = (s_2099527[i_2099563] < 128);                    }                  if (Temporary5) {
                  break Label3;
                  }
                  
                  c_2099565 = s_2099527[i_2099563];
                }
            } while (false);
++excHandler;
            try {
            res_2099562[j_2099564] = decodeURIComponent(helper_2099577.join(""));
--excHandler;
} catch (EXCEPTION) {
 var prevJSError = lastJSError;
 lastJSError = EXCEPTION;
 --excHandler;
            res_2099562[j_2099564] = helper_2099577.join("");
            lastJSError = prevJSError;
            } finally {
            }
          }
          
          j_2099564 += 1;
        }
    } while (false);
    if (res_2099562.length < j_2099564) { for (var i = res_2099562.length ; i < j_2099564 ; ++i) res_2099562.push(null); }
               else { res_2099562.length = j_2099564; };
    result_2099528 = res_2099562.join("");

  return result_2099528;

}

function raiseException(e_2099387, ename_2099388) {
    e_2099387.name = ename_2099388;
    if ((excHandler == 0)) {
    unhandledException(e_2099387);
    }
    
    throw e_2099387;

  
}

function addInt(a_2099660, b_2099661) {
        var result = a_2099660 + b_2099661;
    checkOverflowInt(result);
    return result;
  

  
}

function mnewString(len_2099613) {
        return new Array(len_2099613);
  

  
}

function chckRange(i_2099909, a_2099910, b_2099911) {
      var Temporary1;

  var result_2099912 = 0;

  BeforeRet: do {
      if (!(a_2099910 <= i_2099909)) Temporary1 = false; else {        Temporary1 = (i_2099909 <= b_2099911);      }    if (Temporary1) {
    result_2099912 = i_2099909;
    break BeforeRet;
    }
    else {
    raiseRangeError();
    }
    
  } while (false);

  return result_2099912;

}

function setConstr() {
        var result = {};
    for (var i = 0; i < arguments.length; ++i) {
      var x = arguments[i];
      if (typeof(x) == "object") {
        for (var j = x[0]; j <= x[1]; ++j) {
          result[j] = true;
        }
      } else {
        result[x] = true;
      }
    }
    return result;
  

  
}
var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21);

function nimCopy(dest_2099860, src_2099861, ti_2099862) {
  var result_2099871 = null;

    switch (ti_2099862.kind) {
    case 21:
    case 22:
    case 23:
    case 5:
      if (!(isFatPointer_2099851(ti_2099862))) {
      result_2099871 = src_2099861;
      }
      else {
        result_2099871 = [src_2099861[0], src_2099861[1]];
      }
      
      break;
    case 19:
            if (dest_2099860 === null || dest_2099860 === undefined) {
        dest_2099860 = {};
      }
      else {
        for (var key in dest_2099860) { delete dest_2099860[key]; }
      }
      for (var key in src_2099861) { dest_2099860[key] = src_2099861[key]; }
      result_2099871 = dest_2099860;
    
      break;
    case 18:
    case 17:
      if (!((ti_2099862.base == null))) {
      result_2099871 = nimCopy(dest_2099860, src_2099861, ti_2099862.base);
      }
      else {
      if ((ti_2099862.kind == 17)) {
      result_2099871 = (dest_2099860 === null || dest_2099860 === undefined) ? {m_type: ti_2099862} : dest_2099860;
      }
      else {
        result_2099871 = (dest_2099860 === null || dest_2099860 === undefined) ? {} : dest_2099860;
      }
      }
      nimCopyAux(result_2099871, src_2099861, ti_2099862.node);
      break;
    case 24:
    case 4:
    case 27:
    case 16:
            if (src_2099861 === null) {
        result_2099871 = null;
      }
      else {
        if (dest_2099860 === null || dest_2099860 === undefined || dest_2099860.length != src_2099861.length) {
          dest_2099860 = new Array(src_2099861.length);
        }
        result_2099871 = dest_2099860;
        for (var i = 0; i < src_2099861.length; ++i) {
          result_2099871[i] = nimCopy(result_2099871[i], src_2099861[i], ti_2099862.base);
        }
      }
    
      break;
    case 28:
            if (src_2099861 !== null) {
        result_2099871 = src_2099861.slice(0);
      }
    
      break;
    default: 
      result_2099871 = src_2099861;
      break;
    }

  return result_2099871;

}

function chckIndx(i_2099904, a_2099905, b_2099906) {
      var Temporary1;

  var result_2099907 = 0;

  BeforeRet: do {
      if (!(a_2099905 <= i_2099904)) Temporary1 = false; else {        Temporary1 = (i_2099904 <= b_2099906);      }    if (Temporary1) {
    result_2099907 = i_2099904;
    break BeforeRet;
    }
    else {
    raiseIndexError(i_2099904, a_2099905, b_2099906);
    }
    
  } while (false);

  return result_2099907;

}

function subInt(a_2099664, b_2099665) {
        var result = a_2099664 - b_2099665;
    checkOverflowInt(result);
    return result;
  

  
}
var ConstSet2 = setConstr([65, 90]);
var ConstSet3 = setConstr(95, 32, 46);
var ConstSet4 = setConstr(95, 32, 46);

function mulInt(a_2099668, b_2099669) {
        var result = a_2099668 * b_2099669;
    checkOverflowInt(result);
    return result;
  

  
}
var ConstSet5 = setConstr([97, 122]);
var ConstSet6 = setConstr([65, 90], [97, 122]);
var ConstSet7 = setConstr([97, 122]);
var ConstSet8 = setConstr([65, 90]);
var ConstSet9 = setConstr([65, 90], [97, 122]);

function nimMax(a_2099718, b_2099719) {
    var Temporary1;

  var result_2099720 = 0;

  BeforeRet: do {
    if ((b_2099719 <= a_2099718)) {
    Temporary1 = a_2099718;
    }
    else {
    Temporary1 = b_2099719;
    }
    
    result_2099720 = Temporary1;
    break BeforeRet;
  } while (false);

  return result_2099720;

}

function nimMin(a_2099714, b_2099715) {
    var Temporary1;

  var result_2099716 = 0;

  BeforeRet: do {
    if ((a_2099714 <= b_2099715)) {
    Temporary1 = a_2099714;
    }
    else {
    Temporary1 = b_2099715;
    }
    
    result_2099716 = Temporary1;
    break BeforeRet;
  } while (false);

  return result_2099716;

}

function addChar(x_2099975, c_2099976) {
    x_2099975.push(c_2099976);

  
}
if (!Math.trunc) {
  Math.trunc = function(v) {
    v = +v;
    if (!isFinite(v)) return v;
    return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
  };
}

var alternative_31457874 = [null];

function add_2099139(x_2099140, x_2099140_Idx, y_2099141) {
          if (x_2099140[x_2099140_Idx] === null) { x_2099140[x_2099140_Idx] = []; }
      var off = x_2099140[x_2099140_Idx].length;
      x_2099140[x_2099140_Idx].length += y_2099141.length;
      for (var i = 0; i < y_2099141.length; ++i) {
        x_2099140[x_2099140_Idx][off+i] = y_2099141.charCodeAt(i);
      }
    

  
}

function newSeq_2099541(len_2099543) {
  var result_2099544 = [];

    result_2099544 = new Array(len_2099543); for (var i = 0 ; i < len_2099543 ; ++i) { result_2099544[i] = null; }
  return result_2099544;

}

function unhandledException(e_2099383) {
    var buf_2099384 = [[]];
    if (!(((e_2099383.message).length == 0))) {
    buf_2099384[0].push.apply(buf_2099384[0], makeNimstrLit("Error: unhandled exception: "));;
    buf_2099384[0].push.apply(buf_2099384[0], e_2099383.message);;
    }
    else {
    buf_2099384[0].push.apply(buf_2099384[0], makeNimstrLit("Error: unhandled exception"));;
    }
    
    buf_2099384[0].push.apply(buf_2099384[0], makeNimstrLit(" ["));;
    add_2099139(buf_2099384, 0, e_2099383.name);
    buf_2099384[0].push.apply(buf_2099384[0], makeNimstrLit("]\x0A"));;
    var cbuf_2099385 = toJSStr(buf_2099384[0]);
      if (typeof(Error) !== "undefined") {
    throw new Error(cbuf_2099385);
  }
  else {
    throw cbuf_2099385;
  }
  

  
}

function raiseOverflow() {
    raiseException({message: makeNimstrLit("over- or underflow"), parent: null, m_type: NTI2097845, name: null, trace: [], up: null}, "OverflowDefect");

  
}

function checkOverflowInt(a_2099658) {
        if (a_2099658 > 2147483647 || a_2099658 < -2147483648) raiseOverflow();
  

  
}

function isWhitespace_31457588(text_31457589) {
         return !/[^\s]/.test(text_31457589);
  

  
}

function isWhitespace_31457591(x_31457592) {
    var Temporary1;
    var Temporary2;

  var result_31457593 = false;

    if (!(x_31457592.nodeName == "#text")) Temporary2 = false; else {      Temporary2 = isWhitespace_31457588(x_31457592.textContent);    }    if (Temporary2) Temporary1 = true; else {      Temporary1 = (x_31457592.nodeName == "#comment");    }    result_31457593 = Temporary1;

  return result_31457593;

}

function raiseRangeError() {
    raiseException({message: makeNimstrLit("value out of range"), parent: null, m_type: NTI2097853, name: null, trace: [], up: null}, "RangeDefect");

  
}

function addChars_15728815(result_15728817, result_15728817_Idx, x_15728818, start_15728819, n_15728820) {
    var old_15728821 = (result_15728817[result_15728817_Idx]).length;
    (result_15728817[result_15728817_Idx].length = chckRange(addInt(old_15728821, n_15728820), 0, 2147483647));
    Label1: do {
      var iHEX60gensym4_15728835 = 0;
      var i_31457933 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_31457933 < n_15728820)) break Label3;
            iHEX60gensym4_15728835 = i_31457933;
            result_15728817[result_15728817_Idx][chckIndx(addInt(old_15728821, iHEX60gensym4_15728835), 0, (result_15728817[result_15728817_Idx]).length - 1)] = x_15728818.charCodeAt(chckIndx(addInt(start_15728819, iHEX60gensym4_15728835), 0, (x_15728818).length - 1));
            i_31457933 = addInt(i_31457933, 1);
          }
      } while (false);
    } while (false);

  
}

function addChars_15728811(result_15728813, result_15728813_Idx, x_15728814) {
    addChars_15728815(result_15728813, result_15728813_Idx, x_15728814, 0, ((x_15728814) == null ? 0 : (x_15728814).length));

  
}

function addInt_15728836(result_15728837, result_15728837_Idx, x_15728838) {
    addChars_15728811(result_15728837, result_15728837_Idx, ((x_15728838) + ""));

  
}

function addInt_15728857(result_15728858, result_15728858_Idx, x_15728859) {
    addInt_15728836(result_15728858, result_15728858_Idx, x_15728859);

  
}

function HEX24_22020099(x_22020100) {
  var result_22020101 = [[]];

    addInt_15728857(result_22020101, 0, x_22020100);

  return result_22020101[0];

}

function isFatPointer_2099851(ti_2099852) {
  var result_2099853 = false;

  BeforeRet: do {
    result_2099853 = !((ConstSet1[ti_2099852.base.kind] != undefined));
    break BeforeRet;
  } while (false);

  return result_2099853;

}

function nimCopyAux(dest_2099864, src_2099865, n_2099866) {
    switch (n_2099866.kind) {
    case 0:
      break;
    case 1:
            dest_2099864[n_2099866.offset] = nimCopy(dest_2099864[n_2099866.offset], src_2099865[n_2099866.offset], n_2099866.typ);
    
      break;
    case 2:
          for (var i = 0; i < n_2099866.sons.length; i++) {
      nimCopyAux(dest_2099864, src_2099865, n_2099866.sons[i]);
    }
    
      break;
    case 3:
            dest_2099864[n_2099866.offset] = nimCopy(dest_2099864[n_2099866.offset], src_2099865[n_2099866.offset], n_2099866.typ);
      for (var i = 0; i < n_2099866.sons.length; ++i) {
        nimCopyAux(dest_2099864, src_2099865, n_2099866.sons[i][1]);
      }
    
      break;
    }

  
}

function raiseIndexError(i_2099474, a_2099475, b_2099476) {
    var Temporary1;

    if ((b_2099476 < a_2099475)) {
    Temporary1 = makeNimstrLit("index out of bounds, the container is empty");
    }
    else {
    Temporary1 = (makeNimstrLit("index ") || []).concat(HEX24_22020099(i_2099474) || [],makeNimstrLit(" not in ") || [],HEX24_22020099(a_2099475) || [],makeNimstrLit(" .. ") || [],HEX24_22020099(b_2099476) || []);
    }
    
    raiseException({message: nimCopy(null, Temporary1, NTI2097159), parent: null, m_type: NTI2097851, name: null, trace: [], up: null}, "IndexDefect");

  
}

function toToc_31457594(x_31457595, father_31457596) {
                var Temporary5;
            var Temporary6;
            var Temporary7;
            var Temporary8;
      var Temporary15;

    if ((x_31457595.nodeName == "UL")) {
    var f_31457604 = {heading: null, kids: [], sortId: (father_31457596.kids).length, doSort: false};
    var i_31457605 = 0;
    Label1: do {
        Label2: while (true) {
        if (!(i_31457605 < x_31457595.childNodes.length)) break Label2;
          var nxt_31457606 = addInt(i_31457605, 1);
          Label3: do {
              Label4: while (true) {
                if (!(nxt_31457606 < x_31457595.childNodes.length)) Temporary5 = false; else {                  Temporary5 = isWhitespace_31457591(x_31457595.childNodes[nxt_31457606]);                }              if (!Temporary5) break Label4;
                nxt_31457606 = addInt(nxt_31457606, 1);
              }
          } while (false);
            if (!(nxt_31457606 < x_31457595.childNodes.length)) Temporary8 = false; else {              Temporary8 = (x_31457595.childNodes[i_31457605].nodeName == "LI");            }            if (!Temporary8) Temporary7 = false; else {              Temporary7 = (x_31457595.childNodes[i_31457605].childNodes.length == 1);            }            if (!Temporary7) Temporary6 = false; else {              Temporary6 = (x_31457595.childNodes[nxt_31457606].nodeName == "UL");            }          if (Temporary6) {
          var e_31457618 = {heading: x_31457595.childNodes[i_31457605].childNodes[0], kids: [], sortId: (f_31457604.kids).length, doSort: false};
          var it_31457619 = x_31457595.childNodes[nxt_31457606];
          Label9: do {
            var j_31457624 = 0;
            var colontmp__31457912 = 0;
            colontmp__31457912 = it_31457619.childNodes.length;
            var i_31457913 = 0;
            Label10: do {
                Label11: while (true) {
                if (!(i_31457913 < colontmp__31457912)) break Label11;
                  j_31457624 = i_31457913;
                  toToc_31457594(it_31457619.childNodes[j_31457624], e_31457618);
                  i_31457913 = addInt(i_31457913, 1);
                }
            } while (false);
          } while (false);
          f_31457604.kids.push(e_31457618);;
          i_31457605 = addInt(nxt_31457606, 1);
          }
          else {
            toToc_31457594(x_31457595.childNodes[i_31457605], f_31457604);
            i_31457605 = addInt(i_31457605, 1);
          }
          
        }
    } while (false);
    father_31457596.kids.push(f_31457604);;
    }
    else {
    if (isWhitespace_31457591(x_31457595)) {
    }
    else {
    if ((x_31457595.nodeName == "LI")) {
    var idx_31457641 = [];
    Label12: do {
      var i_31457646 = 0;
      var colontmp__31457916 = 0;
      colontmp__31457916 = x_31457595.childNodes.length;
      var i_31457917 = 0;
      Label13: do {
          Label14: while (true) {
          if (!(i_31457917 < colontmp__31457916)) break Label14;
            i_31457646 = i_31457917;
            if (!(isWhitespace_31457591(x_31457595.childNodes[i_31457646]))) {
            idx_31457641.push(i_31457646);;
            }
            
            i_31457917 = addInt(i_31457917, 1);
          }
      } while (false);
    } while (false);
      if (!((idx_31457641).length == 2)) Temporary15 = false; else {        Temporary15 = (x_31457595.childNodes[idx_31457641[chckIndx(1, 0, (idx_31457641).length - 1)]].nodeName == "UL");      }    if (Temporary15) {
    var e_31457662 = {heading: x_31457595.childNodes[idx_31457641[chckIndx(0, 0, (idx_31457641).length - 1)]], kids: [], sortId: (father_31457596.kids).length, doSort: false};
    var it_31457663 = x_31457595.childNodes[idx_31457641[chckIndx(1, 0, (idx_31457641).length - 1)]];
    Label16: do {
      var j_31457668 = 0;
      var colontmp__31457920 = 0;
      colontmp__31457920 = it_31457663.childNodes.length;
      var i_31457921 = 0;
      Label17: do {
          Label18: while (true) {
          if (!(i_31457921 < colontmp__31457920)) break Label18;
            j_31457668 = i_31457921;
            toToc_31457594(it_31457663.childNodes[j_31457668], e_31457662);
            i_31457921 = addInt(i_31457921, 1);
          }
      } while (false);
    } while (false);
    father_31457596.kids.push(e_31457662);;
    }
    else {
      Label19: do {
        var i_31457677 = 0;
        var colontmp__31457924 = 0;
        colontmp__31457924 = x_31457595.childNodes.length;
        var i_31457925 = 0;
        Label20: do {
            Label21: while (true) {
            if (!(i_31457925 < colontmp__31457924)) break Label21;
              i_31457677 = i_31457925;
              toToc_31457594(x_31457595.childNodes[i_31457677], father_31457596);
              i_31457925 = addInt(i_31457925, 1);
            }
        } while (false);
      } while (false);
    }
    
    }
    else {
    father_31457596.kids.push({heading: x_31457595, kids: [], sortId: (father_31457596.kids).length, doSort: false});;
    }
    }}

  
}

function extractItems_31457414(x_31457415, heading_31457416, items_31457417, items_31457417_Idx) {
      var Temporary1;

  BeforeRet: do {
    if ((x_31457415 == null)) {
    break BeforeRet;
    }
    
      if (!!((x_31457415.heading == null))) Temporary1 = false; else {        Temporary1 = (x_31457415.heading.textContent == heading_31457416);      }    if (Temporary1) {
    Label2: do {
      var i_31457434 = 0;
      var colontmp__31457936 = 0;
      colontmp__31457936 = (x_31457415.kids).length;
      var i_31457937 = 0;
      Label3: do {
          Label4: while (true) {
          if (!(i_31457937 < colontmp__31457936)) break Label4;
            i_31457434 = i_31457937;
            items_31457417[items_31457417_Idx].push(x_31457415.kids[chckIndx(i_31457434, 0, (x_31457415.kids).length - 1)].heading);;
            i_31457937 = addInt(i_31457937, 1);
          }
      } while (false);
    } while (false);
    }
    else {
      Label5: do {
        var i_31457446 = 0;
        var colontmp__31457940 = 0;
        colontmp__31457940 = (x_31457415.kids).length;
        var i_31457941 = 0;
        Label6: do {
            Label7: while (true) {
            if (!(i_31457941 < colontmp__31457940)) break Label7;
              i_31457446 = i_31457941;
              var it_31457447 = x_31457415.kids[chckIndx(i_31457446, 0, (x_31457415.kids).length - 1)];
              extractItems_31457414(it_31457447, heading_31457416, items_31457417, items_31457417_Idx);
              i_31457941 = addInt(i_31457941, 1);
            }
        } while (false);
      } while (false);
    }
    
  } while (false);

  
}

function tree_31457287(tag_31457288, kids_31457289) {
  var result_31457290 = null;

    result_31457290 = document.createElement(toJSStr(tag_31457288));
    Label1: do {
      var k_31457303 = null;
      var i_31457954 = 0;
      Label2: do {
          Label3: while (true) {
          if (!(i_31457954 < (kids_31457289).length)) break Label3;
            k_31457303 = kids_31457289[chckIndx(i_31457954, 0, (kids_31457289).length - 1)];
            result_31457290.appendChild(k_31457303);
            i_31457954 = addInt(i_31457954, 1);
          }
      } while (false);
    } while (false);

  return result_31457290;

}

function text_31457341(s_31457342) {
  var result_31457343 = null;

    result_31457343 = document.createTextNode(s_31457342);

  return result_31457343;

}

function sysFatal_13631522(message_13631525) {
    raiseException({message: nimCopy(null, message_13631525, NTI2097159), m_type: NTI2097847, parent: null, name: null, trace: [], up: null}, "AssertionDefect");

  
}

function raiseAssert_13631520(msg_13631521) {
    sysFatal_13631522(msg_13631521);

  
}

function failedAssertImpl_13631544(msg_13631545) {
    raiseAssert_13631520(msg_13631545);

  
}

function uncovered_31457743(x_31457744) {
      var Temporary1;
    var Temporary2;

  var result_31457745 = null;

  BeforeRet: do {
      if (!((x_31457744.kids).length == 0)) Temporary1 = false; else {        Temporary1 = !((x_31457744.heading == null));      }    if (Temporary1) {
    if (!(x_31457744.heading.hasOwnProperty('__karaxMarker__'))) {
    Temporary2 = x_31457744;
    }
    else {
    Temporary2 = null;
    }
    
    result_31457745 = Temporary2;
    break BeforeRet;
    }
    
    result_31457745 = {heading: x_31457744.heading, kids: [], sortId: x_31457744.sortId, doSort: x_31457744.doSort};
    Label3: do {
      var i_31457764 = 0;
      var colontmp__31457961 = 0;
      colontmp__31457961 = (x_31457744.kids).length;
      var i_31457962 = 0;
      Label4: do {
          Label5: while (true) {
          if (!(i_31457962 < colontmp__31457961)) break Label5;
            i_31457764 = i_31457962;
            var y_31457765 = uncovered_31457743(x_31457744.kids[chckIndx(i_31457764, 0, (x_31457744.kids).length - 1)]);
            if (!((y_31457765 == null))) {
            result_31457745.kids.push(y_31457765);;
            }
            
            i_31457962 = addInt(i_31457962, 1);
          }
      } while (false);
    } while (false);
    if (((result_31457745.kids).length == 0)) {
    result_31457745 = null;
    }
    
  } while (false);

  return result_31457745;

}

function mergeTocs_31457777(orig_31457778, news_31457779) {
  var result_31457780 = null;

    result_31457780 = uncovered_31457743(orig_31457778);
    if ((result_31457780 == null)) {
    result_31457780 = news_31457779;
    }
    else {
      Label1: do {
        var i_31457792 = 0;
        var colontmp__31457957 = 0;
        colontmp__31457957 = (news_31457779.kids).length;
        var i_31457958 = 0;
        Label2: do {
            Label3: while (true) {
            if (!(i_31457958 < colontmp__31457957)) break Label3;
              i_31457792 = i_31457958;
              result_31457780.kids.push(news_31457779.kids[chckIndx(i_31457792, 0, (news_31457779.kids).length - 1)]);;
              i_31457958 = addInt(i_31457958, 1);
            }
        } while (false);
      } while (false);
    }
    

  return result_31457780;

}

function buildToc_31457797(orig_31457798, types_31457799, procs_31457800) {
                      var Temporary7;

  var result_31457801 = null;

    var newStuff_31457806 = {heading: null, kids: [], doSort: true, sortId: 0};
    Label1: do {
      var t_31457828 = null;
      var i_31457949 = 0;
      var L_31457950 = (types_31457799).length;
      Label2: do {
          Label3: while (true) {
          if (!(i_31457949 < L_31457950)) break Label3;
            t_31457828 = types_31457799[chckIndx(i_31457949, 0, (types_31457799).length - 1)];
            var c_31457833 = {heading: t_31457828.cloneNode(true), kids: [], doSort: true, sortId: 0};
            t_31457828.__karaxMarker__ = true;
            Label4: do {
              var p_31457837 = null;
              var i_31457946 = 0;
              var L_31457947 = (procs_31457800).length;
              Label5: do {
                  Label6: while (true) {
                  if (!(i_31457946 < L_31457947)) break Label6;
                    p_31457837 = procs_31457800[chckIndx(i_31457946, 0, (procs_31457800).length - 1)];
                    if (!(p_31457837.hasOwnProperty('__karaxMarker__'))) {
                    var xx_31457838 = p_31457837.parentNode.getElementsByClassName("attachedType");
                      if (!((xx_31457838).length == 1)) Temporary7 = false; else {                        Temporary7 = (xx_31457838[chckIndx(0, 0, (xx_31457838).length - 1)].textContent == t_31457828.textContent);                      }                    if (Temporary7) {
                    var q_31457843 = tree_31457287(makeNimstrLit("A"), [text_31457341(p_31457837.title)]);
                    q_31457843.setAttribute("href", p_31457837.getAttribute("href"));
                    c_31457833.kids.push({heading: q_31457843, kids: [], sortId: 0, doSort: false});;
                    p_31457837.__karaxMarker__ = true;
                    }
                    
                    }
                    
                    i_31457946 = addInt(i_31457946, 1);
                    if (!(((procs_31457800).length == L_31457947))) {
                    failedAssertImpl_13631544(makeNimstrLit("iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it"));
                    }
                    
                  }
              } while (false);
            } while (false);
            newStuff_31457806.kids.push(c_31457833);;
            i_31457949 = addInt(i_31457949, 1);
            if (!(((types_31457799).length == L_31457950))) {
            failedAssertImpl_13631544(makeNimstrLit("iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it"));
            }
            
          }
      } while (false);
    } while (false);
    result_31457801 = mergeTocs_31457777(orig_31457798, newStuff_31457806);

  return result_31457801;

}

function add_31457331(parent_31457332, kid_31457333) {
      var Temporary1;
        var Temporary2;

      if (!(parent_31457332.nodeName == "TR")) Temporary1 = false; else {        if ((kid_31457333.nodeName == "TD")) Temporary2 = true; else {          Temporary2 = (kid_31457333.nodeName == "TH");        }        Temporary1 = Temporary2;      }    if (Temporary1) {
    var k_31457334 = document.createElement("TD");
    k_31457334.appendChild(kid_31457333);
    parent_31457332.appendChild(k_31457334);
    }
    else {
    parent_31457332.appendChild(kid_31457333);
    }
    

  
}

function setClass_31457335(e_31457336, value_31457337) {
    e_31457336.setAttribute("class", toJSStr(value_31457337));

  
}

function toHtml_31457457(x_31457458, isRoot_31457459) {
      var Temporary1;
    
function HEX3Aanonymous_31457477(a_31457478, b_31457479) {
          var Temporary1;

      var result_31457480 = 0;

      BeforeRet: do {
          if (!!((a_31457478.heading == null))) Temporary1 = false; else {            Temporary1 = !((b_31457479.heading == null));          }        if (Temporary1) {
        var x_31457489 = a_31457478.heading.textContent;
        var y_31457490 = b_31457479.heading.textContent;
        if ((x_31457489 < y_31457490)) {
        result_31457480 = -1;
        break BeforeRet;
        }
        
        if ((y_31457490 < x_31457489)) {
        result_31457480 = 1;
        break BeforeRet;
        }
        
        result_31457480 = 0;
        break BeforeRet;
        }
        else {
          result_31457480 = subInt(a_31457478.sortId, b_31457479.sortId);
          break BeforeRet;
        }
        
      } while (false);

      return result_31457480;

    }

  var result_31457460 = null;

  BeforeRet: do {
    if ((x_31457458 == null)) {
    result_31457460 = null;
    break BeforeRet;
    }
    
    if (((x_31457458.kids).length == 0)) {
    if ((x_31457458.heading == null)) {
    result_31457460 = null;
    break BeforeRet;
    }
    
    result_31457460 = x_31457458.heading.cloneNode(true);
    break BeforeRet;
    }
    
    result_31457460 = tree_31457287(makeNimstrLit("DIV"), []);
      if (!!((x_31457458.heading == null))) Temporary1 = false; else {        Temporary1 = !(x_31457458.heading.hasOwnProperty('__karaxMarker__'));      }    if (Temporary1) {
    add_31457331(result_31457460, x_31457458.heading.cloneNode(true));
    }
    
    var ul_31457476 = tree_31457287(makeNimstrLit("UL"), []);
    if (isRoot_31457459) {
    setClass_31457335(ul_31457476, makeNimstrLit("simple simple-toc"));
    }
    else {
    setClass_31457335(ul_31457476, makeNimstrLit("simple"));
    }
    
    if (x_31457458.doSort) {
    x_31457458.kids.sort(HEX3Aanonymous_31457477);
    }
    
    Label2: do {
      var k_31457519 = null;
      var i_31457966 = 0;
      var L_31457967 = (x_31457458.kids).length;
      Label3: do {
          Label4: while (true) {
          if (!(i_31457966 < L_31457967)) break Label4;
            k_31457519 = x_31457458.kids[chckIndx(i_31457966, 0, (x_31457458.kids).length - 1)];
            var y_31457520 = toHtml_31457457(k_31457519, false);
            if (!((y_31457520 == null))) {
            add_31457331(ul_31457476, tree_31457287(makeNimstrLit("LI"), [y_31457520]));
            }
            
            i_31457966 = addInt(i_31457966, 1);
            if (!(((x_31457458.kids).length == L_31457967))) {
            failedAssertImpl_13631544(makeNimstrLit("iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it"));
            }
            
          }
      } while (false);
    } while (false);
    if (!((ul_31457476.childNodes.length == 0))) {
    add_31457331(result_31457460, ul_31457476);
    }
    
    if ((result_31457460.childNodes.length == 0)) {
    result_31457460 = null;
    }
    
  } while (false);

  return result_31457460;

}

function replaceById_31457346(id_31457347, newTree_31457348) {
    var x_31457349 = document.getElementById(id_31457347);
    x_31457349.parentNode.replaceChild(newTree_31457348, x_31457349);
    newTree_31457348.id = id_31457347;

  
}

function togglevis_31457875(d_31457876) {
        if (d_31457876.style.display == 'none')
      d_31457876.style.display = 'inline';
    else
      d_31457876.style.display = 'none';
  

  
}

function groupBy(value_31457878) {
    var toc_31457879 = document.getElementById("toc-list");
    if ((alternative_31457874[0] == null)) {
    var tt_31457887 = {heading: null, kids: [], sortId: 0, doSort: false};
    toToc_31457594(toc_31457879, tt_31457887);
    tt_31457887 = tt_31457887.kids[chckIndx(0, 0, (tt_31457887.kids).length - 1)];
    var types_31457892 = [[]];
    var procs_31457897 = [[]];
    extractItems_31457414(tt_31457887, "Types", types_31457892, 0);
    extractItems_31457414(tt_31457887, "Procs", procs_31457897, 0);
    extractItems_31457414(tt_31457887, "Converters", procs_31457897, 0);
    extractItems_31457414(tt_31457887, "Methods", procs_31457897, 0);
    extractItems_31457414(tt_31457887, "Templates", procs_31457897, 0);
    extractItems_31457414(tt_31457887, "Macros", procs_31457897, 0);
    extractItems_31457414(tt_31457887, "Iterators", procs_31457897, 0);
    var ntoc_31457898 = buildToc_31457797(tt_31457887, types_31457892[0], procs_31457897[0]);
    var x_31457899 = toHtml_31457457(ntoc_31457898, true);
    alternative_31457874[0] = tree_31457287(makeNimstrLit("DIV"), [x_31457899]);
    }
    
    if ((value_31457878 == "type")) {
    replaceById_31457346("tocRoot", alternative_31457874[0]);
    }
    else {
    replaceById_31457346("tocRoot", tree_31457287(makeNimstrLit("DIV"), []));
    }
    
    togglevis_31457875(document.getElementById("toc-list"));

  
}
var db_31457969 = [[]];
var contents_31457970 = [[]];
var oldtoc_31458135 = [null];
var timer_31458136 = [null];

function nsuToLowerAsciiChar(c_41943108) {
  var result_41943109 = 0;

    if ((ConstSet2[c_41943108] != undefined)) {
    result_41943109 = (c_41943108 ^ 32);
    }
    else {
      result_41943109 = c_41943108;
    }
    

  return result_41943109;

}

function fuzzyMatch_40894480(pattern_40894481, str_40894482) {
              var Temporary4;
              var Temporary5;
                var Temporary6;
      var Temporary7;
        var Temporary8;

  var result_40894485 = {Field0: 0, Field1: false};

    var scoreState_40894486 = -100;
    var headerMatched_40894487 = false;
    var unmatchedLeadingCharCount_40894488 = 0;
    var consecutiveMatchCount_40894489 = 0;
    var strIndex_40894490 = 0;
    var patIndex_40894491 = 0;
    var score_40894492 = 0;
    Label1: do {
        Label2: while (true) {
        if (!((strIndex_40894490 < ((str_40894482) == null ? 0 : (str_40894482).length)) && (patIndex_40894491 < ((pattern_40894481) == null ? 0 : (pattern_40894481).length)))) break Label2;
          Label3: do {
            var patternChar_40894495 = nsuToLowerAsciiChar(pattern_40894481.charCodeAt(chckIndx(patIndex_40894491, 0, (pattern_40894481).length - 1)));
            var strChar_40894496 = nsuToLowerAsciiChar(str_40894482.charCodeAt(chckIndx(strIndex_40894490, 0, (str_40894482).length - 1)));
            if ((ConstSet3[patternChar_40894495] != undefined)) {
            patIndex_40894491 = addInt(patIndex_40894491, 1);
            break Label3;
            }
            
            if ((ConstSet4[strChar_40894496] != undefined)) {
            strIndex_40894490 = addInt(strIndex_40894490, 1);
            break Label3;
            }
            
            if ((!(headerMatched_40894487) && (strChar_40894496 == 58))) {
            headerMatched_40894487 = true;
            scoreState_40894486 = -100;
            score_40894492 = ((Math.floor((0.5 * score_40894492))) | 0);
            patIndex_40894491 = 0;
            strIndex_40894490 = addInt(strIndex_40894490, 1);
            break Label3;
            }
            
            if ((strChar_40894496 == patternChar_40894495)) {
            switch (scoreState_40894486) {
            case -100:
            case 20:
              scoreState_40894486 = 10;
              break;
            case 0:
              scoreState_40894486 = 5;
              score_40894492 = addInt(score_40894492, scoreState_40894486);
              break;
            case 10:
            case 5:
              consecutiveMatchCount_40894489 = addInt(consecutiveMatchCount_40894489, 1);
              scoreState_40894486 = 5;
              score_40894492 = addInt(score_40894492, mulInt(5, consecutiveMatchCount_40894489));
              if ((scoreState_40894486 == 10)) {
              score_40894492 = addInt(score_40894492, 10);
              }
              
              var onBoundary_40894548 = (patIndex_40894491 == ((pattern_40894481) == null ? -1 : (pattern_40894481).length - 1));
              if ((!(onBoundary_40894548) && (strIndex_40894490 < ((str_40894482) == null ? -1 : (str_40894482).length - 1)))) {
              var nextPatternChar_40894549 = nsuToLowerAsciiChar(pattern_40894481.charCodeAt(chckIndx(addInt(patIndex_40894491, 1), 0, (pattern_40894481).length - 1)));
              var nextStrChar_40894550 = nsuToLowerAsciiChar(str_40894482.charCodeAt(chckIndx(addInt(strIndex_40894490, 1), 0, (str_40894482).length - 1)));
              if (!!((ConstSet5[nextStrChar_40894550] != undefined))) Temporary4 = false; else {                Temporary4 = !((nextStrChar_40894550 == nextPatternChar_40894549));              }              onBoundary_40894548 = Temporary4;
              }
              
              if (onBoundary_40894548) {
              scoreState_40894486 = 20;
              score_40894492 = addInt(score_40894492, scoreState_40894486);
              }
              
              break;
            case -1:
            case -3:
              if (!((ConstSet6[str_40894482.charCodeAt(chckIndx(subInt(strIndex_40894490, 1), 0, (str_40894482).length - 1))] != undefined))) Temporary5 = true; else {                if (!(ConstSet7[str_40894482.charCodeAt(chckIndx(subInt(strIndex_40894490, 1), 0, (str_40894482).length - 1))] != undefined)) Temporary6 = false; else {                  Temporary6 = (ConstSet8[str_40894482.charCodeAt(chckIndx(strIndex_40894490, 0, (str_40894482).length - 1))] != undefined);                }                Temporary5 = Temporary6;              }              var isLeadingChar_40894574 = Temporary5;
              if (isLeadingChar_40894574) {
              scoreState_40894486 = 10;
              }
              else {
                scoreState_40894486 = 0;
                score_40894492 = addInt(score_40894492, scoreState_40894486);
              }
              
              break;
            }
            patIndex_40894491 = addInt(patIndex_40894491, 1);
            }
            else {
              switch (scoreState_40894486) {
              case -100:
                scoreState_40894486 = -3;
                score_40894492 = addInt(score_40894492, scoreState_40894486);
                break;
              case 5:
                scoreState_40894486 = -1;
                score_40894492 = addInt(score_40894492, scoreState_40894486);
                consecutiveMatchCount_40894489 = 0;
                break;
              case -3:
                if ((unmatchedLeadingCharCount_40894488 < 3)) {
                scoreState_40894486 = -3;
                score_40894492 = addInt(score_40894492, scoreState_40894486);
                }
                
                unmatchedLeadingCharCount_40894488 = addInt(unmatchedLeadingCharCount_40894488, 1);
                break;
              default: 
                scoreState_40894486 = -1;
                score_40894492 = addInt(score_40894492, scoreState_40894486);
                break;
              }
            }
            
            strIndex_40894490 = addInt(strIndex_40894490, 1);
          } while (false);
        }
    } while (false);
      if (!(patIndex_40894491 == ((pattern_40894481) == null ? 0 : (pattern_40894481).length))) Temporary7 = false; else {        if ((strIndex_40894490 == ((str_40894482) == null ? 0 : (str_40894482).length))) Temporary8 = true; else {          Temporary8 = !((ConstSet9[str_40894482.charCodeAt(chckIndx(strIndex_40894490, 0, (str_40894482).length - 1))] != undefined));        }        Temporary7 = Temporary8;      }    if (Temporary7) {
    score_40894492 = addInt(score_40894492, 10);
    }
    
    var colontmp__31458196 = nimMax(0, score_40894492);
    var colontmp__31458197 = (0 < score_40894492);
    result_40894485 = nimCopy(result_40894485, {Field0: colontmp__31458196, Field1: colontmp__31458197}, NTI40894478);

  return result_40894485;

}

function escapeCString_31457973(x_31457974, x_31457974_Idx) {
    var s_31457975 = [];
    Label1: do {
      var c_31457976 = 0;
      var iHEX60gensym6_31458200 = 0;
      var nHEX60gensym6_31458201 = ((x_31457974[x_31457974_Idx]) == null ? 0 : (x_31457974[x_31457974_Idx]).length);
      Label2: do {
          Label3: while (true) {
          if (!(iHEX60gensym6_31458200 < nHEX60gensym6_31458201)) break Label3;
            c_31457976 = x_31457974[x_31457974_Idx].charCodeAt(chckIndx(iHEX60gensym6_31458200, 0, (x_31457974[x_31457974_Idx]).length - 1));
            switch (c_31457976) {
            case 60:
              s_31457975.push.apply(s_31457975, makeNimstrLit("&lt;"));;
              break;
            case 62:
              s_31457975.push.apply(s_31457975, makeNimstrLit("&gt;"));;
              break;
            default: 
              addChar(s_31457975, c_31457976);;
              break;
            }
            iHEX60gensym6_31458200 = addInt(iHEX60gensym6_31458200, 1);
          }
      } while (false);
    } while (false);
    x_31457974[x_31457974_Idx] = toJSStr(s_31457975);

  
}

function text_31457338(s_31457339) {
  var result_31457340 = null;

    result_31457340 = document.createTextNode(toJSStr(s_31457339));

  return result_31457340;

}

function dosearch_31457977(value_31457978) {
    
function HEX3Aanonymous_31458034(a_31458039, b_31458040) {
      var result_31458045 = 0;

        result_31458045 = subInt(b_31458040["Field1"], a_31458039["Field1"]);

      return result_31458045;

    }

  var result_31457979 = null;

    if (((db_31457969[0]).length == 0)) {
    var stuff_31457983 = null;
        var request = new XMLHttpRequest();
    request.open("GET", "theindex.html", false);
    request.send(null);

    var doc = document.implementation.createHTMLDocument("theindex");
    doc.documentElement.innerHTML = request.responseText;

    //parser=new DOMParser();
    //doc=parser.parseFromString("<html></html>", "text/html");

    stuff_31457983 = doc.documentElement;
    
    db_31457969[0] = nimCopy(null, stuff_31457983.getElementsByClassName("reference"), NTI39846332);
    contents_31457970[0] = nimCopy(null, [], NTI31457821);
    Label1: do {
      var ahref_31458008 = null;
      var i_31458181 = 0;
      var L_31458182 = (db_31457969[0]).length;
      Label2: do {
          Label3: while (true) {
          if (!(i_31458181 < L_31458182)) break Label3;
            ahref_31458008 = db_31457969[0][chckIndx(i_31458181, 0, (db_31457969[0]).length - 1)];
            contents_31457970[0].push(ahref_31458008.getAttribute("data-doc-search-tag"));;
            i_31458181 = addInt(i_31458181, 1);
            if (!(((db_31457969[0]).length == L_31458182))) {
            failedAssertImpl_13631544(makeNimstrLit("iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it"));
            }
            
          }
      } while (false);
    } while (false);
    }
    
    var ul_31458013 = tree_31457287(makeNimstrLit("UL"), []);
    result_31457979 = tree_31457287(makeNimstrLit("DIV"), []);
    setClass_31457335(result_31457979, makeNimstrLit("search_results"));
    var matches_31458018 = [];
    Label4: do {
      var i_31458026 = 0;
      var colontmp__31458186 = 0;
      colontmp__31458186 = (db_31457969[0]).length;
      var i_31458187 = 0;
      Label5: do {
          Label6: while (true) {
          if (!(i_31458187 < colontmp__31458186)) break Label6;
            i_31458026 = i_31458187;
            Label7: do {
              var c_31458027 = contents_31457970[0][chckIndx(i_31458026, 0, (contents_31457970[0]).length - 1)];
              if (((c_31458027 == "Examples") || (c_31458027 == "PEG construction"))) {
              break Label7;
              }
              
              var colontmp__31458193 = fuzzyMatch_40894480(value_31457978, c_31458027);
              var score_31458028 = colontmp__31458193["Field0"];
              var matched_31458029 = colontmp__31458193["Field1"];
              if (matched_31458029) {
              matches_31458018.push({Field0: db_31457969[0][chckIndx(i_31458026, 0, (db_31457969[0]).length - 1)], Field1: score_31458028});;
              }
              
            } while (false);
            i_31458187 = addInt(i_31458187, 1);
          }
      } while (false);
    } while (false);
    matches_31458018.sort(HEX3Aanonymous_31458034);
    Label8: do {
      var i_31458062 = 0;
      var colontmp__31458190 = 0;
      colontmp__31458190 = nimMin((matches_31458018).length, 29);
      var i_31458191 = 0;
      Label9: do {
          Label10: while (true) {
          if (!(i_31458191 < colontmp__31458190)) break Label10;
            i_31458062 = i_31458191;
            matches_31458018[chckIndx(i_31458062, 0, (matches_31458018).length - 1)]["Field0"].innerHTML = matches_31458018[chckIndx(i_31458062, 0, (matches_31458018).length - 1)]["Field0"].getAttribute("data-doc-search-tag");
            escapeCString_31457973(matches_31458018[chckIndx(i_31458062, 0, (matches_31458018).length - 1)]["Field0"], "innerHTML");
            add_31457331(ul_31458013, tree_31457287(makeNimstrLit("LI"), [matches_31458018[chckIndx(i_31458062, 0, (matches_31458018).length - 1)]["Field0"]]));
            i_31458191 = addInt(i_31458191, 1);
          }
      } while (false);
    } while (false);
    if ((ul_31458013.childNodes.length == 0)) {
    add_31457331(result_31457979, tree_31457287(makeNimstrLit("B"), [text_31457338(makeNimstrLit("no search results"))]));
    }
    else {
      add_31457331(result_31457979, tree_31457287(makeNimstrLit("B"), [text_31457338(makeNimstrLit("search results"))]));
      add_31457331(result_31457979, ul_31458013);
    }
    

  return result_31457979;

}

function search() {
    
function wrapper_31458147() {
        var elem_31458148 = document.getElementById("searchInput");
        var value_31458149 = elem_31458148.value;
        if (!((((value_31458149) == null ? 0 : (value_31458149).length) == 0))) {
        if ((oldtoc_31458135[0] == null)) {
        oldtoc_31458135[0] = document.getElementById("tocRoot");
        }
        
        var results_31458153 = dosearch_31457977(value_31458149);
        replaceById_31457346("tocRoot", results_31458153);
        }
        else {
        if (!((oldtoc_31458135[0] == null))) {
        replaceById_31457346("tocRoot", oldtoc_31458135[0]);
        }
        }

      
    }

    if (!((timer_31458136[0] == null))) {
    clearTimeout(timer_31458136[0]);
    }
    
    timer_31458136[0] = setTimeout(wrapper_31458147, 400);

  
}
