[
  {"type":"NameNamespace","value":"---"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"Comment","value":"# document start"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Comments in YAML look like this."},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameTag","value":"comment_after_string_key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"string value"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# comments can follow on same line"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"nested_comment"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# this is a comment right next to a key"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"sub_key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"sub string value"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# sub comment"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"inline_not_comment"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"string#hash"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"#nospacecomment"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"bool_comment"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"True"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# comment after bool"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"int_comment"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"123"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# comment after int"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"date_comment"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralDate","value":"2010-11-12"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# comment after date"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"single_quote"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringSingle","value":"'single # quote string'"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# comment after single quote string"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"double_quote"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringDouble","value":"\"double # quote string\""},
  {"type":"TextWhitespace","value":" "},
  {"type":"Comment","value":"# comment after double quote string"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"no"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"comment"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"################"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# SCALAR TYPES #"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"################"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Our root object (which continues for the entire document) will be a map,"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# which is equivalent to a dictionary, hash or object in other languages."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"value"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"another_key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"Another value goes here."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"a_number_value"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"100"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"scientific_notation"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"1e+12"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# The number 1 will be interpreted as a number, not a boolean. if you want"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# it to be interpreted as a boolean, use true"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"boolean"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"true"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"boolean_different_case"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"False"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"boolean_yes"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"YES"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"null_value"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"null"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"key with spaces"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"value"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# Notice that strings don't need to be quoted. However, they can be."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"however"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringSingle","value":"'A string, enclosed in quotes.'"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"'Keys can be quoted too.'"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringDouble","value":"\"Useful if you want to put a ':' in your key.\""},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"single quotes"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringSingle","value":"'have ''one'' escape pattern'"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"double quotes"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringDouble","value":"\"have many: \\\", \\0, \\t, \\u263A, \\x0d\\x0a == \\r\\n, and more.\""},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# UTF-8/16/32 characters need to be encoded"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"Superscript two"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"\\u00B2"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Multi-line flow scalars can be unquoted or quoted."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"unquoted_scalar"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"Multiline scalar"},
  {"type":"TextWhitespace","value":"\n                 "},
  {"type":"Literal","value":"with 'quotes' in the middle."},
  {"type":"TextWhitespace","value":"\n                 "},
  {"type":"Literal","value":"This is the last line."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"single_quoted_scalar"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringSingle","value":"'Multiline single quoted scalar\n                 with \"quotes\" in the middle\n                 Last line'"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"double_quoted_scalar"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringDouble","value":"\"Multiline double quoted scalar\n                 with 'quotes' in the middle\n                 end\""},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# Multiple-line strings can be written either as a 'literal block' (using |),"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# or a 'folded block' (using '\u003e')."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"literal_block"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|"},
  {"type":"LiteralStringDoc","value":"\n    This entire block of text will be the value of the 'literal_block' key,\n    with line breaks being preserved.\n\n    The literal continues until de-dented, and the leading indentation is\n    stripped.\n\n        Any lines that are 'more-indented' keep the rest of their indentation -\n        these lines will be indented by 4 spaces."},
  {"type":"TextWhitespace","value":"    \n"},
  {"type":"NameTag","value":"folded_style"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"\u003e"},
  {"type":"LiteralStringDoc","value":"\n    This entire block of text will be the value of 'folded_style', but this\n    time, all newlines will be replaced with a single space.\n\n    Blank lines, like above, are converted to a newline character.\n\n        'More-indented' lines keep their newlines, too -\n        this text will appear over two lines."},
  {"type":"TextWhitespace","value":"    \n"},
  {"type":"NameTag","value":"literal_block_with_strip_chomping"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|-"},
  {"type":"LiteralStringDoc","value":"\n    This entire block of text will be the value of the 'literal_block' key,\n    with line breaks being preserved and the strip chomping indicator.\n\n    The literal continues until de-dented, and the leading indentation is\n    stripped.\n\n        Any lines that are 'more-indented' keep the rest of their indentation -\n        these lines will be indented by 4 spaces."},
  {"type":"TextWhitespace","value":"    \n"},
  {"type":"NameTag","value":"literal_block_with_keep_chomping"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|+"},
  {"type":"LiteralStringDoc","value":"\n    This entire block of text will be the value of the 'literal_block' key,\n    with line breaks being preserved and the keep chomping indicator.\n\n    The literal continues until de-dented, and the leading indentation is\n    stripped."},
  {"type":"TextWhitespace","value":"    \n\n"},
  {"type":"NameTag","value":"a"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|"},
  {"type":"LiteralStringDoc","value":"\n  multiline literal\n  line 2"},
  {"type":"TextWhitespace","value":"  \n"},
  {"type":"NameTag","value":"b"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"\u003e"},
  {"type":"LiteralStringDoc","value":"\n  multiline: folded\n  line 2"},
  {"type":"TextWhitespace","value":"  \n"},
  {"type":"NameTag","value":"c"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|-"},
  {"type":"LiteralStringDoc","value":"\n  multiline # literal strip\n  line 2"},
  {"type":"TextWhitespace","value":"  \n"},
  {"type":"NameTag","value":"d"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"\u003e-"},
  {"type":"LiteralStringDoc","value":"\n  multiline folded strip\n  line 2: test\n\n  # not a comment\n   indented by 1"},
  {"type":"TextWhitespace","value":"  \n"},
  {"type":"NameTag","value":"e"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|+"},
  {"type":"LiteralStringDoc","value":"\n  multiline literal keep\n  line: 2"},
  {"type":"TextWhitespace","value":"  \n"},
  {"type":"Comment","value":"# this is a comment"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"f"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"\u003e+"},
  {"type":"LiteralStringDoc","value":"\n multiline folded keep one space\n line 2"},
  {"type":"TextWhitespace","value":" \n"},
  {"type":"NameTag","value":"g"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|"},
  {"type":"LiteralStringDoc","value":"\n  multiline literal with only one line"},
  {"type":"TextWhitespace","value":"  \n"},
  {"type":"NameTag","value":"h"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"test"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameTag","value":"block_scalars_with_indent"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"a"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|"},
  {"type":"LiteralStringDoc","value":"\n    multiline literal\n    line 2"},
  {"type":"TextWhitespace","value":"    \n  "},
  {"type":"NameTag","value":"b"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"\u003e"},
  {"type":"LiteralStringDoc","value":"\n    multiline: folded\n    line 2"},
  {"type":"TextWhitespace","value":"    \n  "},
  {"type":"NameTag","value":"c"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|-"},
  {"type":"LiteralStringDoc","value":"\n      multiline # literal strip\n      line 2 6 leading spaces"},
  {"type":"TextWhitespace","value":"      \n\n  "},
  {"type":"NameTag","value":"d"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"\u003e-"},
  {"type":"LiteralStringDoc","value":"\n    multiline folded strip\n    line 2: test\n    # not a comment"},
  {"type":"TextWhitespace","value":"    \n  "},
  {"type":"NameTag","value":"e"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|+"},
  {"type":"LiteralStringDoc","value":"\n    multiline literal keep\n    line: 2"},
  {"type":"TextWhitespace","value":"    \n  "},
  {"type":"Comment","value":"# this is a comment"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"f"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"\u003e+"},
  {"type":"LiteralStringDoc","value":"\n    multiline folded keep\n    line 2"},
  {"type":"TextWhitespace","value":"    \n  "},
  {"type":"NameTag","value":"g"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|"},
  {"type":"LiteralStringDoc","value":"\n    multiline literal with only one line"},
  {"type":"TextWhitespace","value":"    \n  "},
  {"type":"NameTag","value":"h"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"test"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"####################"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# COLLECTION TYPES #"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"####################"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Nesting uses indentation. 2 space indent is preferred (but not required)."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"a_nested_map"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"value"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"another_key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"Another Value"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"another_nested_map"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"NameTag","value":"hello"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"hello"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Maps don't have to have string keys."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"0.25"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"a float key"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Keys can also be complex, like multi-line objects"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# We use ? followed by a space to indicate the start of a complex key."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"?"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|"},
  {"type":"LiteralStringDoc","value":"\n  This is a key\n  that has multiple lines"},
  {"type":"TextWhitespace","value":"  \n"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"and this is its value"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# YAML also allows mapping between sequences with the complex key syntax"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# Some language parsers might complain"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# An example"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Text","value":"? - "},
  {"type":"Literal","value":"Manchester United"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"- "},
  {"type":"Literal","value":"Real Madrid"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"["},
  {"type":"LiteralDate","value":"2001-01-01"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralDate","value":"2002-02-02"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Sequences (equivalent to lists or arrays) look like this"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# (note that the '-' counts as indentation):"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"a_sequence"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"- "},
  {"type":"Literal","value":"Item 1"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"- "},
  {"type":"Literal","value":"Item 2"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"- "},
  {"type":"LiteralNumber","value":"0.5"},
  {"type":"TextWhitespace","value":"  "},
  {"type":"Comment","value":"# sequences can contain disparate types."},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"- "},
  {"type":"Literal","value":"Item 4"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"- "},
  {"type":"NameTag","value":"key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"value"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"NameTag","value":"another_key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"another_value"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"-"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Text","value":"- "},
  {"type":"Literal","value":"This is a sequence"},
  {"type":"TextWhitespace","value":"\n    "},
  {"type":"Text","value":"- "},
  {"type":"Literal","value":"inside another sequence"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Text","value":"- - - "},
  {"type":"Literal","value":"Nested sequence indicators"},
  {"type":"TextWhitespace","value":"\n      "},
  {"type":"Text","value":"- "},
  {"type":"Literal","value":"can be collapsed"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Since YAML is a superset of JSON, you can also write JSON-style maps and"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# sequences:"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"json_map"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Text","value":"{"},
  {"type":"NameTag","value":"\"key\": "},
  {"type":"LiteralStringDouble","value":"\"value\""},
  {"type":"Text","value":"}"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"json_seq"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"["},
  {"type":"LiteralNumber","value":"3"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralStringDouble","value":"\"takeoff\""},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"and quotes are optional"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Text","value":"{"},
  {"type":"NameTag","value":"key"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"["},
  {"type":"LiteralNumber","value":"3"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"takeoff]}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"#######################"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# EXTRA YAML FEATURES #"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"#######################"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# YAML also has a handy feature called 'anchors', which let you easily duplicate"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# content across your document. Both of these keys will have the same value:"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"anchored_content"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"\u0026anchor_name"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"This string will appear as the value of two keys."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"other_anchor"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"*anchor_name"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Anchors can be used to duplicate/inherit properties"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"base"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"\u0026base"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"name"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"Everyone has same name"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# The regexp \u003c\u003c is called Merge Key Language-Independent Type. It is used to"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# indicate that all the keys of one or more specified maps should be inserted"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# into the current map."},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameTag","value":"foo"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"\u0026foo"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"\u003c\u003c"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"*base"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"age"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"10"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameTag","value":"bar"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"\u0026bar"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"\u003c\u003c"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"*base"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"age"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"20"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# foo and bar would also have name: Everyone has same name"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# YAML also has tags, which you can use to explicitly declare types."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"explicit_string"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"!!str"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"0.5"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# Some parsers implement language specific tags, like this one for Python's"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# complex number type."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"python_complex_number"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"!!python/complex"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Literal","value":"+2j"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# We can also use yaml complex keys with language specific tags"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":"?"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"!!python/tuple"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"["},
  {"type":"LiteralNumber","value":"5"},
  {"type":"Punctuation","value":","},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"7"},
  {"type":"Punctuation","value":"]"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"Fifty Seven"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# Would be {(5, 7): 'Fifty Seven'} in Python"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"####################"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# EXTRA YAML TYPES #"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"####################"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Strings and numbers aren't the only scalars that YAML can understand."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# ISO-formatted date and datetime literals are also parsed."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"datetime"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralDate","value":"2001-12-15T02:59:43.1Z"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"datetime_with_spaces"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralDate","value":"2001-12-14 21:59:43.10 -5"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"date"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralDate","value":"2002-12-14"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# The !!binary tag indicates that a string is actually a base64-encoded"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Comment","value":"# representation of a binary blob."},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"gif_file"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"CommentPreproc","value":"!!binary"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Punctuation","value":"|"},
  {"type":"LiteralStringDoc","value":"\n  R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\n  OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\n  +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\n  AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs="},
  {"type":"TextWhitespace","value":"  \n\n"},
  {"type":"Comment","value":"# YAML also has a set type, which looks like this:"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"set"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Punctuation","value":"?"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"item1"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Punctuation","value":"?"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"item2"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"Punctuation","value":"?"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Literal","value":"item3"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"or"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Text","value":"{"},
  {"type":"Literal","value":"item1, item2, item3}"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"Comment","value":"# Sets are just maps with null values; the above is equivalent to:"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameTag","value":"set2"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"item1"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"null"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"item2"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"null"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"NameTag","value":"item3"},
  {"type":"Punctuation","value":":"},
  {"type":"TextWhitespace","value":" "},
  {"type":"KeywordConstant","value":"null"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"NameNamespace","value":"..."},
  {"type":"TextWhitespace","value":"  "},
  {"type":"Comment","value":"# document end"},
  {"type":"TextWhitespace","value":"\n"}
]