diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index c93ea82..81d3266 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /composer.lock /vendor/ .direnv/ +.test.py.swp diff --git a/Readme.html b/Readme.html new file mode 100644 index 0000000..6fb9def --- /dev/null +++ b/Readme.html @@ -0,0 +1,84 @@ + + + + PHP Markdown Lib - Readme + + + + +

Hello, world!

+ + + + + + + + + + + + + + + + + + + + + + +
Header 1

There are multiple paragraphs

+ +

I'm another one!

Cell 1Cell 2
something clever clever without paragraphsCell 4
Cell 3

just one paragraph here here

+ +

+ + + + +

+ +

+ + +

+ + + + + +

+ + +

+ +

+ + +

+ +

+ + + + + + + +

+ + diff --git a/paste.txt b/paste.txt new file mode 100644 index 0000000..8555c78 --- /dev/null +++ b/paste.txt @@ -0,0 +1,48 @@ + +b +- +d + +a | b +- | - +c | d + + + + 123 +- + 456 + + +a | b | c +--------- +a | b | c + + + +synchronized | synchronously | synchronize | synchronized | synchronizing +1 | 2 | 3 | 4 | 5 + --- | :--- | ---: | === | :---: + +| synchronous | system synthesis | that | transmit +| targeted targeting tasklet | temporary | temporarily + +| synchronous | system synthesis | that | transmit + + +| synchronous | system | synthesis | that | transmit + + + + +whether whatever which whenever whether when weird will write within want workaround writing writing with zombie zombie + + +| a | b | c | +| - | - | - | +| a b c | d | +| a b c | e | f +| a | b | c | e | f +| a b | c | e | f +| a | b | c | e | f +| a | b | c | e | f | g | h | i diff --git a/test.html b/test.html new file mode 100644 index 0000000..280a97a --- /dev/null +++ b/test.html @@ -0,0 +1,68 @@ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + +
a b c
a b c
+ + + + + +
1 2 3
4

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

6
7 8 9
+ + + + +
1 2 3
4
1 2 3
4 5 6
7 8 9
6
7 8 9
+ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +
1 2 3
d
+ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +
synchronized synchronously synchronize synchronized synchronizing
1 2 3 4 5
synchronous system synthesis that transmit
targeted targeting tasklet temporary temporarily
synchronous system synthesis that transmit
synchronous system synthesis that transmit
+ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +
123
456
+ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + +
a
b
abc
+ + + +
a
+ + + + +
b
+ + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + diff --git a/test.py b/test.py new file mode 100644 index 0000000..498e437 --- /dev/null +++ b/test.py @@ -0,0 +1,658 @@ + +import re; + +def find_closer(row): + + # if (m := re.match(r"([^|<]*)([|]+)", row)): + # print(f'found vbar ("{m.group(2)}")'); + + # content = m.group(1).strip(); + + # print(f'content = "{content}"'); + + # num_vbars = len(m.group(2)); + + # if num_vbars > 1: + # attributes['colspan'] = num_vbars; + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + # elif (m := re.match(r"([^|<]*)", row)): + # print(f"found close HTML tag"); + + # content = m.group(1).strip(); + + # print(f'content = "{content}"'); + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + # elif (m := re.match(r"([^|<]*)<(th|td) ", row)): + # print(f"found open HTML tag ({m.group(2)})"); + + # content = m.group(1).strip(); + + # print(f'content = "{content}"'); + + # row = row[len(m.group(1)):]; + + # print(f'row = "{row}"'); + # elif (m := re.match(r"([^<|]*)$", row)): + # print(f"found eol"); + + # content = m.group(1).strip(); + + # print(f'content = "{content}"'); + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + # else: + # print(f"could not find valid closer? huh?!? throwing!"); + + # raise SyntaxError("could not valid closer for cell"); + + if depth: + assert(not "TODO"); + + return content, row; + +# def do_row(row, column_info, default_tag = "td"): +# print(f'row = "{row}"'); +# +# row = row.lstrip(); +# +# out = ""; +# +# column_index = 0; +# +# while row: +# print("new cell"); +# +# tag = ""; +# +# attributes = {}; +# +# if column_index < len(column_info): +# align = column_info[column_index]['align']; +# +# if align != 'default': +# attributes['align'] = align; +# +# print(f'attributes = "{attributes}"'); +# +# print("looking for starter"); +# +# if (m := re.match(r"^[|]", row)): +# print("found opening vbar"); +# +# if column_index < len(column_info): +# tag = column_info[column_index]['default-tag'] +# else: +# tag = default_tag; +# +# print(f'tag = "{tag}"'); +# +# row = row[1:]; +# +# print(f'row = "{row}"'); +# +# elif (m := re.match(r"^<([a-z]+)(?: +([^<>]*))?>", row)): +# print("found opening HTML tag"); +# +# tag = m.group(1); +# +# print(f'tag = "{tag}"'); +# +# raw_attributes = m.group(2); +# +# while raw_attributes: +# if (mm := re.match(f'\s*([a-z0-9]+)\s*=\s*"([^"]+)"', raw_attributes)): +# attribute = mm.group(1); +# +# value = mm.group(2); +# +# print(f'attribute = "{attribute}"'); +# +# print(f'value = "{value}"'); +# +# if attribute in attributes and attribute == "style": +# attributes[attribute] += '; ' + value; +# else: +# attributes[attribute] = value; +# +# print(f'attributes = "{attributes}"'); +# +# raw_attributes = raw_attributes[len(mm.group(0)):]; +# +# print(f'raw_attributes = "{raw_attributes}"'); +# else: +# print(f'could not parse HTML attributes?! huh?! throwing! '); +# +# raise SyntaxError("could not parse HTML attributes"); +# +# row = row[len(m.group(0)):]; +# +# print(f'row = "{row}"'); +# elif (m := re.match(r"^<([a-z]+)", row)): +# print("found HTML open, but it's incomplete? huh?! throwing!"); +# +# raise SyntaxError("could not find '>' for HTML open tag"); +# elif column_index < len(column_info): +# print("found nothing, defaulting to column info"); +# +# tag = column_info[column_index]['default-tag'] +# +# print(f'tag = "{tag}"'); +# else: +# print(f"found nothing, defaulting default_tag ({default_tag})"); +# +# tag = default_tag; +# +# print(f'tag = "{tag}"'); +# +# print("looking for closer"); +# +# content = ""; +# +# depth = 0; +# +# while row: +# if (m := re.match("\s+", row)): +# content += m.group(0); +# row = row[len(m.group(0)):]; +# print(f'row = "{row}"'); +# elif (m := re.match("\w+", row)): +# content += m.group(0); +# row = row[len(m.group(0)):]; +# print(f'row = "{row}"'); +# elif (m := re.match("[.,]+", row)): +# content += m.group(0); +# row = row[len(m.group(0)):]; +# print(f'row = "{row}"'); +# elif not depth and (m := re.match("<(td|tr)", row)): +# print("found HTML open tag: {m.group(1)}"); +# break; +# elif not depth and (m := re.match("", row)): +# print("found HTML close tag: {m.group(1)}"); +# row = row[len(m.group(0)):] +# print(f'row = "{row}"'); +# break; +# elif not depth and (m := re.match(r"([|]+)", row)): +# print(f'found vbar ("{m.group(1)}")'); +# +# num_vbars = len(m.group(1)); +# +# if num_vbars > 1: +# attributes['colspan'] = num_vbars; +# +# row = row[len(m.group(0)):] +# print(f'row = "{row}"'); +# +# break; +# elif (m := re.match("", row)): +# content += m.group(0); +# depth += 1; +# row = row[len(m.group(0)):] +# print(f'row = "{row}"'); +# print(f'depth = {depth}'); +# elif (m := re.match("
", row)): +# content += m.group(0); +# depth -= 1; +# row = row[len(m.group(0)):] +# print(f'row = "{row}"'); +# print(f'depth = {depth}'); +# elif (m := re.match("<[a-z]+(?:\s+[^<>]*)?>", row)): +# content += m.group(0); +# row = row[len(m.group(0)):] +# print(f'row = "{row}"'); +# elif (m := re.match("", row)): +# content += m.group(0); +# row = row[len(m.group(0)):] +# print(f'row = "{row}"'); +# elif (m := re.match(r"`[^`\n]+`", row)): +# assert(not "TODO"); +# else: +# print(f'row = "{row}"'); +# assert(not "TODO"); +# +# if attributes: +# attributes = " ".join(f'{key}="{value}"' +# for key, value in sorted(attributes.items())); +# +# cell = f"<{tag} {attributes}> {content} "; +# else: +# cell = f"<{tag}> {content} "; +# +# print(f'cell = "{cell}"'); +# +# out += cell; +# +# column_index += 1; +# +# print(f'out = "{out}"'); +# +# return out; + +def parse_colinfo(linesep): + column_info = []; + + linesep = linesep.strip(); + + print(f"linesep = {linesep}"); + + if linesep.startswith("|"): + linesep = linesep[1:] + + print(f"linesep = {linesep}"); + + if linesep.endswith("|"): + linesep = linesep[:-1] + + print(f"linesep = {linesep}"); + + column_info = []; + + for sep in linesep.split("|"): + sep = sep.strip() + + print(f'sep = "{sep}"'); + + if re.match(r"^:-+$", sep): + appendme = {'align': 'left', 'default-tag': 'td'}; + elif re.match(r"^-+:$", sep): + appendme = {'align': 'right', 'default-tag': 'td'}; + elif re.match(r"^:-+:$", sep): + appendme = {'align': 'center', 'default-tag': 'td'}; + elif re.match(r"^-+$", sep): + appendme = {'align': 'default', 'default-tag': 'td'}; + elif re.match(r"^:=+$", sep): + appendme = {'align': 'left', 'default-tag': 'th'}; + elif re.match(r"^=+:$", sep): + appendme = {'align': 'right', 'default-tag': 'th'}; + elif re.match(r"^:=+:$", sep): + appendme = {'align': 'center', 'default-tag': 'th'}; + elif re.match(r"^=+$", sep): + appendme = {'align': 'default', 'default-tag': 'th'}; + else: + assert(not "TODO"); + + print(f'appendme = {appendme}'); + + column_info.append(appendme); + + return column_info; + +def do_table_row(): + + # we can eat zero or more table parts, which special handling for "" + + # we may find the end of the line after all table parts have run + + # when if we find something that's not a table part, it's gotta be content + + # start reading through the cells, building them up + + assert(not "TODO"); + +def do_table(header, linesep, body): + + assert(not "TODO"); + + # passthroughs = [ + # r"", + # r"", + # r"", + # r"", + # r"", + # r"", + # ]; + + # output_table = ""; + + # inside_thead = 0; + # inside_tr = 0; + + # print("processing header rows"); + + # for row in header.split("\n"): + # print(f'row = "{row}"'); + + # while row: + # if (m := re.match(r'\s+', row)): + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + + # continue; + + # for passthrough in passthroughs: + # if row.startswith(passthrough): + # assert(not "TODO"); + + # continue; + + # # explicit caption with optional attributes + # if (m := re.match(r"\n]*))?>([^\n]+)", row)): + # print(f'found explicit caption tag: "{m.group(0)}"'); + + # output_table += m.group(0); + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + + # wrote_thead = 1; + + # continue; + + # # send thead through, but remember we shouldn't do one outselves + # if (m := re.match(r'\n]*)?>', row)): + # print(f'found explicit thead tag: "{m.group(0)}"'); + + # output_table += m.group(0); + + # inside_thead = 1; + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + + # continue; + # + # # does this row have an explicit HTML tag? + # if (m := re.match(r"\n]*)?>", row)): + # print(f'found explicit tr tag: "{m.group(0)}"'); + + # output_table += m.group(0); + + # inside_tr = 1; + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + + # continue; + + # print("thead content"); + # + # if not inside_thead: + # output_table += ""; + + # wrote_thead = 1; + # + # if not inside_tr: + # output_table += ""; + + # # parse row line + # html_row = do_row(row, [], default_tag = "th"); + # + # print(f'html_row = "{html_row}"'); + + # output_table += html_row; + + # output_table += ""; + + # inside_tr = 0; + + # break; + + # print(f'output_table = "{output_table}"'); + + # column_info = parse_colinfo(linesep); + + # first_tbody = 1; + + # inside_tbody = 0; + # inside_tr = 0; + + # for row in body.strip().split('\n'): + # print(f'row = "{row}"'); + + # if not row.strip(): + # print("blank line; new tbody"); + + # inside_tbody = 0; + + # continue; + + # while row: + # if (m := re.match(r'\s+', row)): + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + + # continue; + + # for passthrough in passthroughs: + # if row.startswith(passthrough): + # assert(not "TODO"); + + # continue; + + # # explicit caption with optional attributes + # if (m := re.match(r"\n]*))?>([^\n]+)", row)): + # print(f'found explicit caption tag: "{m.group(0)}"'); + + # # caption eat content until tablepart or delimitor + + # # we don't eat either the tablepart of the delimitor, let + # # whatever future logic process that + + # assert(not "TODO"); + # # output_table += m.group(0); + + # # row = row[len(m.group(0)):]; + + # # print(f'row = "{row}"'); + + # # wrote_thead = 1; + + # # continue; + + # # explicit HTML tbody. pass it through and take note + # if (m := re.match(r'', row)): + # print(f'found explicit tbody tag: "{m.group(0)}"'); + + # output_table += m.group(0); + + # inside_tbody = 1; + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + + # wrote_thead = 1; + + # continue; + + # # does this row have an explicit HTML tag? + # if (m := re.match("", row)): + # print(f'found explicit tr tag: "{m.group(0)}"'); + + # output_table += m.group(0); + + # inside_tr = 1; + + # row = row[len(m.group(0)):]; + + # print(f'row = "{row}"'); + + # continue; + + # print("tbody content"); + + # if not inside_tbody: + # output_table += ""; + # + # if not inside_tr: + # output_table += ""; + + # html_row = do_row(row, column_info, default_tag = "td"); + # + # print(f'html_row = "{html_row}"'); + + # output_table += html_row; + + # output_table += ""; + + # inside_tr = 0; + + # break; + + # # if (caption := mm.group(4)): + # # output_table += f'' + + # # assert(not "CHECK"); + + # output_table += "
{caption}
"; + + # return "\n\n" + output_table + "\n\n"; + +def handle_table(m): + header = m.group(1); + linesep = m.group(2); + body = m.group(3); + + try: + return "" + do_table(header, linesep, body) + "
"; + except SyntaxError as e: + print(f"caught syntax error: {e}"); + print("moving on to next table..."); + return m.group(0); + +# def handle_table2(m): +# table_attributes = m.group(1) or ""; +# header = m.group(2); +# linesep = m.group(3); +# body = m.group(4); +# +# try: +# return f"" + do_table(header, linesep, body) + "
"; +# except SyntaxError as e: +# print(f"caught syntax error: {e}"); +# print("moving on to next table..."); +# return m.group(0); + +with open("test.txt") as stream: + text = stream.read(); + +# delimiters between cells +delimiter = r"(?: [|] | | )"; + +# A row is anything with at least one delimiter +row = fr"(?: .* {delimiter} .*)"; + +# Most table parts are simple. +table_part = "(?: | | | | | )"; + +# captions eat until the next table part or delimiter +temp = fr"(?: {table_part} | )"; +# caption_table_part = fr"(?: (?! (?: {delimiter} | {temp})) .*)" +# caption_table_part = fr"(?: (?!{delimiter}) .*)" +caption_table_part = fr"(?: [^<>]* )" +table_part = fr"(?: {table_part} | {caption_table_part})"; + +# A table line can also be all table parts +row = fr"(?:{row} | {table_part}+)"; + +# Between the header rows and the body rows there is a line seperator. +seperator_line = r"\s* [|]? \s* [-=:]+ \s* (?: \s* [|] \s* [-=:]* \s* )* \s*" + +# Regex for whole table: +table = fr""" + # two blank lines: + [\n]{2} + + # optional open table tag: + (?: ()? \n) + + # one or more header rows: + ((?: {row} \n{{1,2}}))+ + + # line seperator: + ({seperator_line}) \n + + # one or more body rows: + ((?: {row} \n{{1,2}}))+ + + # optional caption: + (?: \[ ([a-z0-9 "']+) \] \n)? + + # optional close table tag: + (?: (
)? \n) + + # two blank lines: + [\n]{2} +"""; + + +print(table); + +text = re.sub(table, handle_table, text, flags=re.VERBOSE) + +# +# +# +# text = re.sub(r""" +# # blank line before: +# [\n]{1} +# +# # header: +# ( (?: [^\n]+ \n)+ ) +# +# # seperator line: +# (\s* [|]? \s* [-=:]+ \s* (?: \s* [|] \s* [-=:]* \s* )* \s*) \n +# +# # body, which is nothing but table parts, or contains at least one +# +# # delimiter ("|", "", ""), or a line +# +# # "" is special table tag, that may contain anything up to: +# # the end of line +# # other tableparts +# # explicit start of cell +# +# ((?: +# # It contains a deliminator OR it's enitrely table parts +# ( .* ("|" | "" | "" ) .*) +# | ( "" +# | "" +# | "" +# | "" +# | "" +# | "" (?!^ (("|" | "" | "") | table part))+ )+ +# +# # optionally extra newline after +# \n? +# )+) +# +# # optional caption: (conflicts with tom cells, or even just normal rows) +# # (?: (\[ [^][\n]+ \]) \n )? +# +# # blank line after: +# [\n]{1} +# """, handle_table, text, flags=re.VERBOSE) +# +# print(f'text = """{text}"""'); +# +# text += """ +# +# """; +# +# with open("test.html", "w") as stream: +# stream.write(text); +# diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..a15a198 --- /dev/null +++ b/test.txt @@ -0,0 +1,84 @@ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + +a | b | c +--------- +a | b | c + + + + + +| 1 | 2 | 3 | +| - | - | - | +| 4 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 | +| 7 | 8 | 9 | + + + + +| 1 | 2 | 3 | +| - | - | - | +| 4 |
1 2 3
4 5 6
7 8 9
| 6 | +| 7 | 8 | 9 | + + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + +| 1 | 2 | 3 | +| - | - | - | +|d||| + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +synchronized | synchronously | synchronize | synchronized | synchronizing +1 | 2 | 3 | 4 | 5 + --- | :--- | ---: | === | :---: + +| synchronous | system synthesis | that | transmit +| targeted targeting tasklet | temporary | temporarily + +| synchronous | system synthesis | that | transmit + + +| synchronous | system | synthesis | that | transmit + + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + 123 +- + 456 + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + +a +- +b + abc + + + + + a + - +
+ + + + + - + b +
+ + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. diff --git a/typescript b/typescript new file mode 100644 index 0000000..8f3bfee --- /dev/null +++ b/typescript @@ -0,0 +1,1254 @@ +Script started on 2025-11-16 18:35:46-05:00 [TERM="xterm-256color" TTY="/dev/pts/2" COLUMNS="84" LINES="32"] +text = """ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + +a | b | c +--------- +a | b | c + + + + + +| 1 | 2 | 3 | +| - | - | - | +| 4 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 | +| 7 | 8 | 9 | + + + + +| 1 | 2 | 3 | +| - | - | - | +| 4 |
1 2 3
4 5 6
7 8 9
| 6 | +| 7 | 8 | 9 | + + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + +| 1 | 2 | 3 | +| - | - | - | +|d||| + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +synchronized | synchronously | synchronize | synchronized | synchronizing +1 | 2 | 3 | 4 | 5 + --- | :--- | ---: | === | :---: + +| synchronous | system synthesis | that | transmit +| targeted targeting tasklet | temporary | temporarily + +| synchronous | system synthesis | that | transmit + + +| synchronous | system | synthesis | that | transmit + + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + 123 +- + 456 + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + +a +- +b + abc + + + + + a + - +
+ + + + + - + b +
+ + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. +""" +processing header rows +row = " a" +row = "a" +thead content +row = "a" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "" +cell = " a " +out = " a " +html_row = " a " +row = "" +output_table = "" +linesep = - +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "" +blank line; new tbody +processing header rows +row = "" +output_table = "
a
" +linesep = - +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "b" +tbody content +row = "b" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "" +cell = "" +out = "" +html_row = "" +processing header rows +row = "a | b | c" +thead content +row = "a | b | c" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = " | b | c" +row = "| b | c" +found vbar ("|") +row = " b | c" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "b | c" +row = " | c" +row = "| c" +found vbar ("|") +row = " c" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "c" +row = "" +cell = "" +out = "" +html_row = "" +row = "" +output_table = "
b b b a b c a b c a b c
" +linesep = --------- +sep = "---------" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "a | b | c" +tbody content +row = "a | b | c" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = " | b | c" +row = "| b | c" +found vbar ("|") +row = " b | c" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (td) +tag = "td" +looking for closer +row = "b | c" +row = " | c" +row = "| c" +found vbar ("|") +row = " c" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (td) +tag = "td" +looking for closer +row = "c" +row = "" +cell = "" +out = "" +html_row = "" +processing header rows +row = "| 1 | 2 | 3 |" +thead content +row = "| 1 | 2 | 3 |" +new cell +looking for starter +found opening vbar +tag = "th" +row = " 1 | 2 | 3 |" +looking for closer +row = "1 | 2 | 3 |" +row = " | 2 | 3 |" +row = "| 2 | 3 |" +found vbar ("|") +row = " 2 | 3 |" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "2 | 3 |" +row = " | 3 |" +row = "| 3 |" +found vbar ("|") +row = " 3 |" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "3 |" +row = " |" +row = "|" +found vbar ("|") +row = "" +cell = "" +out = "" +html_row = "" +row = "" +output_table = "
a b c
a b c a b c a b c 1 2 3 1 2 3 1 2 3
" +linesep = | - | - | - | +linesep = - | - | - | +linesep = - | - | - +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "| 4 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +tbody content +row = "| 4 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +new cell +looking for starter +found opening vbar +tag = "td" +row = " 4 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +looking for closer +row = "4 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "|

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +found vbar ("|") +row = "

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ", consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ", nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ", augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ", vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ", ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ". Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "mi sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "sed ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "ligula sagittis, id sagittis justo ullamcorper.

| 6 |" +row = " sagittis, id sagittis justo ullamcorper.

| 6 |" +row = "sagittis, id sagittis justo ullamcorper.

| 6 |" +row = ", id sagittis justo ullamcorper.

| 6 |" +row = " id sagittis justo ullamcorper.

| 6 |" +row = "id sagittis justo ullamcorper.

| 6 |" +row = " sagittis justo ullamcorper.

| 6 |" +row = "sagittis justo ullamcorper.

| 6 |" +row = " justo ullamcorper.

| 6 |" +row = "justo ullamcorper.

| 6 |" +row = " ullamcorper.

| 6 |" +row = "ullamcorper.

| 6 |" +row = ".

| 6 |" +row = "

| 6 |" +row = "

| 6 |" +row = " | 6 |" +row = "| 6 |" +found vbar ("|") +row = " 6 |" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "6 |" +row = " |" +row = "|" +found vbar ("|") +row = "" +cell = "" +out = "" +html_row = "" +row = "| 7 | 8 | 9 |" +tbody content +row = "| 7 | 8 | 9 |" +new cell +looking for starter +found opening vbar +tag = "td" +row = " 7 | 8 | 9 |" +looking for closer +row = "7 | 8 | 9 |" +row = " | 8 | 9 |" +row = "| 8 | 9 |" +found vbar ("|") +row = " 8 | 9 |" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "8 | 9 |" +row = " | 9 |" +row = "| 9 |" +found vbar ("|") +row = " 9 |" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "9 |" +row = " |" +row = "|" +found vbar ("|") +row = "" +cell = "" +out = "" +html_row = "" +processing header rows +row = "| 1 | 2 | 3 |" +thead content +row = "| 1 | 2 | 3 |" +new cell +looking for starter +found opening vbar +tag = "th" +row = " 1 | 2 | 3 |" +looking for closer +row = "1 | 2 | 3 |" +row = " | 2 | 3 |" +row = "| 2 | 3 |" +found vbar ("|") +row = " 2 | 3 |" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "2 | 3 |" +row = " | 3 |" +row = "| 3 |" +found vbar ("|") +row = " 3 |" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "3 |" +row = " |" +row = "|" +found vbar ("|") +row = "" +cell = "" +out = "" +html_row = "" +row = "" +output_table = "
1 2 3
4

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

6 4

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

6 4

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

6 7 8 9 7 8 9 7 8 9 1 2 3 1 2 3 1 2 3
" +linesep = | - | - | - | +linesep = - | - | - | +linesep = - | - | - +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "| 4 |
1 2 3
1 2 3
4 5 6
7 8 9
| 6 |" +tbody content +row = "| 4 |
1 2 3
4 5 6
7 8 9
| 6 |" +new cell +looking for starter +found opening vbar +tag = "td" +row = " 4 |
1 2 3
4 5 6
7 8 9
| 6 |" +looking for closer +row = "4 |
1 2 3
4 5 6
7 8 9
| 6 |" +row = " |
1 2 3
4 5 6
7 8 9
| 6 |" +row = "|
1 2 3
4 5 6
7 8 9
| 6 |" +found vbar ("|") +row = "
1 2 3
4 5 6
7 8 9
| 6 |" +cell = " 4 " +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "
1 2 3
4 5 6
7 8 9
| 6 |" +row = " 1 2 3 4 5 6 7 8 9 | 6 |" +depth = 1 +row = " 1 2 3 4 5 6 7 8 9 | 6 |" +row = " 1 2 3 4 5 6 7 8 9 | 6 |" +row = " 1 2 3 4 5 6 7 8 9 | 6 |" +row = " 1 2 3 4 5 6 7 8 9 | 6 |" +row = " 1 2 3 4 5 6 7 8 9 | 6 |" +row = " 1 2 3 4 5 6 7 8 9 | 6 |" +row = "1 2 3 4 5 6 7 8 9 | 6 |" +row = " 2 3 4 5 6 7 8 9 | 6 |" +row = " 2 3 4 5 6 7 8 9 | 6 |" +row = " 2 3 4 5 6 7 8 9 | 6 |" +row = " 2 3 4 5 6 7 8 9 | 6 |" +row = " 2 3 4 5 6 7 8 9 | 6 |" +row = "2 3 4 5 6 7 8 9 | 6 |" +row = " 3 4 5 6 7 8 9 | 6 |" +row = " 3 4 5 6 7 8 9 | 6 |" +row = " 3 4 5 6 7 8 9 | 6 |" +row = " 3 4 5 6 7 8 9 | 6 |" +row = " 3 4 5 6 7 8 9 | 6 |" +row = "3 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = " 4 5 6 7 8 9 | 6 |" +row = "4 5 6 7 8 9 | 6 |" +row = " 5 6 7 8 9 | 6 |" +row = " 5 6 7 8 9 | 6 |" +row = " 5 6 7 8 9 | 6 |" +row = " 5 6 7 8 9 | 6 |" +row = " 5 6 7 8 9 | 6 |" +row = "5 6 7 8 9 | 6 |" +row = " 6 7 8 9 | 6 |" +row = " 6 7 8 9 | 6 |" +row = " 6 7 8 9 | 6 |" +row = " 6 7 8 9 | 6 |" +row = " 6 7 8 9 | 6 |" +row = "6 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = " 7 8 9 | 6 |" +row = "7 8 9 | 6 |" +row = " 8 9 | 6 |" +row = " 8 9 | 6 |" +row = " 8 9 | 6 |" +row = " 8 9 | 6 |" +row = " 8 9 | 6 |" +row = "8 9 | 6 |" +row = " 9 | 6 |" +row = " 9 | 6 |" +row = " 9 | 6 |" +row = " 9 | 6 |" +row = " 9 | 6 |" +row = "9 | 6 |" +row = " | 6 |" +row = " | 6 |" +row = " | 6 |" +row = " | 6 |" +row = " | 6 |" +row = " | 6 |" +row = " | 6 |" +row = " | 6 |" +row = " | 6 |" +depth = 0 +row = "| 6 |" +found vbar ("|") +row = " 6 |" +cell = "
1 2 3
4 5 6
7 8 9
" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "6 |" +row = " |" +row = "|" +found vbar ("|") +row = "" +cell = " 6 " +out = " 4
1 2 3
4 5 6
7 8 9
6 " +html_row = " 4
1 2 3
4 5 6
7 8 9
6 " +row = "| 7 | 8 | 9 |" +tbody content +row = "| 7 | 8 | 9 |" +new cell +looking for starter +found opening vbar +tag = "td" +row = " 7 | 8 | 9 |" +looking for closer +row = "7 | 8 | 9 |" +row = " | 8 | 9 |" +row = "| 8 | 9 |" +found vbar ("|") +row = " 8 | 9 |" +cell = " 7 " +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "8 | 9 |" +row = " | 9 |" +row = "| 9 |" +found vbar ("|") +row = " 9 |" +cell = " 8 " +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "9 |" +row = " |" +row = "|" +found vbar ("|") +row = "" +cell = " 9 " +out = " 7 8 9 " +html_row = " 7 8 9 " +processing header rows +row = "| 1 | 2 | 3 |" +thead content +row = "| 1 | 2 | 3 |" +new cell +looking for starter +found opening vbar +tag = "th" +row = " 1 | 2 | 3 |" +looking for closer +row = "1 | 2 | 3 |" +row = " | 2 | 3 |" +row = "| 2 | 3 |" +found vbar ("|") +row = " 2 | 3 |" +cell = " 1 " +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "2 | 3 |" +row = " | 3 |" +row = "| 3 |" +found vbar ("|") +row = " 3 |" +cell = " 2 " +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "3 |" +row = " |" +row = "|" +found vbar ("|") +row = "" +cell = " 3 " +out = " 1 2 3 " +html_row = " 1 2 3 " +row = "" +output_table = "" +linesep = | - | - | - | +linesep = - | - | - | +linesep = - | - | - +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "|d|||" +tbody content +row = "|d|||" +new cell +looking for starter +found opening vbar +tag = "td" +row = "d|||" +looking for closer +row = "|||" +found vbar ("|||") +row = "" +cell = "" +out = "" +html_row = "" +processing header rows +row = "" +found explicit thead tag: "" +row = "" +row = "synchronized | synchronously | synchronize | synchronized | synchronizing" +thead content +row = "synchronized | synchronously | synchronize | synchronized | synchronizing" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = " | synchronously | synchronize | synchronized | synchronizing" +row = "| synchronously | synchronize | synchronized | synchronizing" +found vbar ("|") +row = " synchronously | synchronize | synchronized | synchronizing" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "synchronously | synchronize | synchronized | synchronizing" +row = " | synchronize | synchronized | synchronizing" +row = "| synchronize | synchronized | synchronizing" +found vbar ("|") +row = " synchronize | synchronized | synchronizing" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "synchronize | synchronized | synchronizing" +row = " | synchronized | synchronizing" +row = "| synchronized | synchronizing" +found vbar ("|") +row = " synchronized | synchronizing" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "synchronized | synchronizing" +row = " | synchronizing" +row = "| synchronizing" +found vbar ("|") +row = " synchronizing" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "synchronizing" +row = "" +cell = "" +out = "" +html_row = "" +row = "1 | 2 | 3 | 4 | 5" +thead content +row = "1 | 2 | 3 | 4 | 5" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = " | 2 | 3 | 4 | 5" +row = "| 2 | 3 | 4 | 5" +found vbar ("|") +row = " 2 | 3 | 4 | 5" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "2 | 3 | 4 | 5" +row = " | 3 | 4 | 5" +row = "| 3 | 4 | 5" +found vbar ("|") +row = " 3 | 4 | 5" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "3 | 4 | 5" +row = " | 4 | 5" +row = "| 4 | 5" +found vbar ("|") +row = " 4 | 5" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "4 | 5" +row = " | 5" +row = "| 5" +found vbar ("|") +row = " 5" +cell = "" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "5" +row = "" +cell = "" +out = "" +html_row = "" +row = "" +output_table = "
1 2 3
d d d
synchronized synchronously synchronize synchronized synchronizing synchronized synchronously synchronize synchronized synchronizing synchronized synchronously synchronize synchronized synchronizing 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
" +linesep = --- | :--- | ---: | === | :---: +sep = "---" +appendme = {'align': 'default', 'default-tag': 'td'} +sep = ":---" +appendme = {'align': 'left', 'default-tag': 'td'} +sep = "---:" +appendme = {'align': 'right', 'default-tag': 'td'} +sep = "===" +appendme = {'align': 'default', 'default-tag': 'th'} +sep = ":---:" +appendme = {'align': 'center', 'default-tag': 'td'} +row = "" +found explicit tbody tag: "" +row = "" +row = "| synchronous | system synthesis | that | transmit" +tbody content +row = "| synchronous | system synthesis | that | transmit" +new cell +looking for starter +found opening vbar +tag = "td" +row = " synchronous | system synthesis | that | transmit" +looking for closer +row = "synchronous | system synthesis | that | transmit" +row = " | system synthesis | that | transmit" +row = "| system synthesis | that | transmit" +found vbar ("|") +row = " system synthesis | that | transmit" +cell = "" +new cell +attributes = "{'align': 'left'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "system synthesis | that | transmit" +row = " synthesis | that | transmit" +row = " synthesis | that | transmit" +found HTML close tag: {m.group(1)} +row = " synthesis | that | transmit" +cell = "" +new cell +attributes = "{'align': 'right'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "synthesis | that | transmit" +row = " | that | transmit" +row = "| that | transmit" +found vbar ("|") +row = " that | transmit" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "th" +looking for closer +row = "that | transmit" +row = " | transmit" +row = "| transmit" +found vbar ("|") +row = " transmit" +cell = "" +new cell +attributes = "{'align': 'center'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "transmit" +row = "" +cell = "" +out = "" +html_row = "" +row = "| targeted " +new cell +attributes = "{'align': 'right'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "temporary | temporarily" +row = " | temporarily" +row = "| temporarily" +found vbar ("|") +row = " temporarily" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "th" +looking for closer +row = "temporarily" +row = "" +cell = "" +out = "" +html_row = "" +row = "" +blank line; new tbody +row = "| synchronous | system synthesis | that | transmit" +tbody content +row = "| synchronous | system synthesis | that | transmit" +new cell +looking for starter +found opening vbar +tag = "td" +row = " synchronous | system synthesis | that | transmit" +looking for closer +row = "synchronous | system synthesis | that | transmit" +row = " | system synthesis | that | transmit" +row = "| system synthesis | that | transmit" +found vbar ("|") +row = " system synthesis | that | transmit" +cell = "" +new cell +attributes = "{'align': 'left'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "system synthesis | that | transmit" +row = " synthesis | that | transmit" +row = " synthesis | that | transmit" +found HTML close tag: {m.group(1)} +row = " synthesis | that | transmit" +cell = "" +new cell +attributes = "{'align': 'right'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "synthesis | that | transmit" +row = " | that | transmit" +row = "| that | transmit" +found vbar ("|") +row = " that | transmit" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "th" +looking for closer +row = "that | transmit" +row = " | transmit" +row = "| transmit" +found vbar ("|") +row = " transmit" +cell = "" +new cell +attributes = "{'align': 'center'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "transmit" +row = "" +cell = "" +out = "" +html_row = "" +row = "" +blank line; new tbody +row = "" +found explicit tbody tag: "" +row = "" +row = "| synchronous | system | synthesis | that | transmit" +tbody content +row = "| synchronous | system | synthesis | that | transmit" +new cell +looking for starter +found opening vbar +tag = "td" +row = " synchronous | system | synthesis | that | transmit" +looking for closer +row = "synchronous | system | synthesis | that | transmit" +row = " | system | synthesis | that | transmit" +row = "| system | synthesis | that | transmit" +found vbar ("|") +row = " system | synthesis | that | transmit" +cell = "" +new cell +attributes = "{'align': 'left'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "system | synthesis | that | transmit" +row = " | synthesis | that | transmit" +row = "| synthesis | that | transmit" +found vbar ("|") +row = " synthesis | that | transmit" +cell = "" +new cell +attributes = "{'align': 'right'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "synthesis | that | transmit" +row = " | that | transmit" +row = "| that | transmit" +found vbar ("|") +row = " that | transmit" +cell = "" +new cell +looking for starter +found nothing, defaulting to column info +tag = "th" +looking for closer +row = "that | transmit" +row = " | transmit" +row = "| transmit" +found vbar ("|") +row = " transmit" +cell = "" +new cell +attributes = "{'align': 'center'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "transmit" +row = "" +cell = "" +out = "" +html_row = "" +processing header rows +row = "" +thead content +row = "" +new cell +looking for starter +found opening HTML tag +tag = "td" +row = " 123 " +looking for closer +row = "123 " +row = " " +row = "" +found HTML close tag: {m.group(1)} +row = "" +cell = "" +out = "" +html_row = "" +row = "" +output_table = "
synchronized synchronously synchronize synchronized synchronizing
1 2 3 4 5
synchronous system synthesis that transmit synchronous system synthesis that transmit synchronous system synthesis that transmit targeting tasklet | temporary | temporarily" +tbody content +row = "| targeted targeting tasklet | temporary | temporarily" +new cell +looking for starter +found opening vbar +tag = "td" +row = " targeted targeting tasklet | temporary | temporarily" +looking for closer +row = "targeted targeting tasklet | temporary | temporarily" +row = " targeting tasklet | temporary | temporarily" +row = " targeting tasklet | temporary | temporarily" +row = " targeting tasklet | temporary | temporarily" +row = "targeting tasklet | temporary | temporarily" +row = " tasklet | temporary | temporarily" +row = " tasklet | temporary | temporarily" +found HTML close tag: {m.group(1)} +row = " tasklet | temporary | temporarily" +cell = " targeted targeting " +new cell +attributes = "{'align': 'left'}" +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "tasklet | temporary | temporarily" +row = " | temporary | temporarily" +row = "| temporary | temporarily" +found vbar ("|") +row = " temporary | temporarily" +cell = " tasklet temporary temporarily targeted targeting tasklet temporary temporarily targeted targeting tasklet temporary temporarily synchronous system synthesis that transmit synchronous system synthesis that transmit synchronous system synthesis that transmit
synchronous system synthesis that transmit synchronous system synthesis that transmit synchronous system synthesis that transmit 123 123 123 123 123
" +linesep = - +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "" +tbody content +row = "" +new cell +looking for starter +found opening HTML tag +tag = "th" +row = " 456 " +looking for closer +row = "456 " +row = " " +row = "" +row = "" +cell = "" +out = "" +html_row = "" +processing header rows +row = "a" +thead content +row = "a" +new cell +looking for starter +found nothing, defaulting default_tag (th) +tag = "th" +looking for closer +row = "" +cell = "" +out = "" +html_row = "" +row = "" +output_table = "
123
456 456 456 456 456 a a a
" +linesep = - +sep = "-" +appendme = {'align': 'default', 'default-tag': 'td'} +row = "b" +tbody content +row = "b" +new cell +looking for starter +found nothing, defaulting to column info +tag = "td" +looking for closer +row = "" +cell = "" +out = "" +html_row = "" +row = "" +found explicit caption tag: "" +row = "" +text = """ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. +
a
b b b
abc abc
+ +
a b c
a b c
+ + + + + +
1 2 3
4

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper.

6
7 8 9
+ + + + +
1 2 3
4
1 2 3
4 5 6
7 8 9
6
7 8 9
+ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +
1 2 3
d
+ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +
synchronized synchronously synchronize synchronized synchronizing
1 2 3 4 5
synchronous system synthesis that transmit
targeted targeting tasklet temporary temporarily
synchronous system synthesis that transmit
synchronous system synthesis that transmit
+ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + + +
123
456
+ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. + + +
a
b
abc
+ + + +
a
+ + + + +
b
+ + + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed auctor, nunc non fringilla pulvinar, augue arcu tempor lacus, vel gravida justo sapien vel nibh. Curabitur eget dignissim lorem. Vivamus sit amet urna nec lorem aliquet viverra. Aliquam erat volutpat. Maecenas sed ante vitae erat feugiat faucibus. Integer porttitor nibh eu risus suscipit, ut efficitur mauris sollicitudin. Suspendisse potenti. Integer feugiat mi sed ligula sagittis, id sagittis justo ullamcorper. +""" + +Script done on 2025-11-16 18:35:46-05:00 [COMMAND_EXIT_CODE="0"]