/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠJ ason ĠMon k Ċ Ġ* ĠĊ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĊ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠĊ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . mon kop edia . im dex Ċ Ċ import Ġcom . mon kop edia . im dex . handlers . Auto Link Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Block Quote Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Bullet List Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Bullet ListItem Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Code Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Definition List Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Document Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Emp hasis Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Esc aped Character Handler Ċ import Ġcom . mon kop edia . im dex . handlers . F enced Code Block Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Foot note Block Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Foot note Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Hard Line Break Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Heading Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Html Block Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Html Comment Block Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Html Entity Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Html Inline Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Image Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Indent ed Code Block Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Link Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Link Ref Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Order edList Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Order edList Item Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Paragraph Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Soft Line Break Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Stri ke through Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Strong Emp hasis Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Sup erscript Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Table Block Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Table Body Handler Ċ import Ġcom . mon kop edia . im dex . handlers . TableCell Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Table Head Handler Ċ import Ġcom . mon kop edia . im dex . handlers . TableRow Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Table Separator Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Text Base Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Text Handler Ċ import Ġcom . mon kop edia . im dex . handlers . The matic Break Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Ty po graphic Quotes Handler Ċ import Ġcom . mon kop edia . im dex . handlers . Ty po graphic Smart s Handler Ċ Ċ enum Ġclass ĠSupported Nodes ( val Ġbinder : ĠNode Binder <* >) Ġ{ ĊĠĠĠ ĠAuto Link ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Auto Link :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuto Link Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠBlock Quote ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Block Quote :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBlock Quote Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠBullet List ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Bullet List :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBullet List Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠBullet ListItem ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Bullet ListItem :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBullet ListItem Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠCode ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Code :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCode Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠEmp hasis ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Emp hasis :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEmp hasis Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠF enced Code Block ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . F enced Code Block :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF enced Code Block Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠHard Line Break ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Hard Line Break :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHard Line Break Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠHeading ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Heading :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHeading Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠHtml Comment Block ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Html Comment Block :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHtml Comment Block Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠHtml Inline ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Html Inline :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHtml Inline Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠHtml Block ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Html Block :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHtml Block Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠHtml Entity ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Html Entity :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHtml Entity Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Image :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠInd ent ed Code Block ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Indent ed Code Block :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInd ent ed Code Block Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠLink ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Link :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLink Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠLink Ref ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Link Ref :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLink Ref Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠOrder edList ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Order edList :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOrder edList Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠOrder edList Item ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Order edList Item :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOrder edList Item Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠParagraph ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Paragraph :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParagraph Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠSoft Line Break ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Soft Line Break :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSoft Line Break Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠStr ong Emp hasis ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Strong Emp hasis :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStr ong Emp hasis Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Text :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠText Base ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . Text Base :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText Base Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠE sc aped Character ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . escaped . character . Esc aped Character :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE sc aped Character Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠThe matic Break ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ast . The matic Break :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThe matic Break Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠStri ke through ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . g fm . strikethrough . Stri ke through :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStri ke through Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTable Block ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . tables . Table Block :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTable Block Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTable Body ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . tables . Table Body :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTable Body Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTable Cell ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . tables . TableCell :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTable Cell Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTable Head ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . tables . Table Head :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTable Head Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTable Row ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . tables . TableRow :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTable Row Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTable Separator ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . tables . Table Separator :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTable Separator Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTy po graphic Quotes ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . ty po graphic . Ty po graphic Quotes :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTy po graphic Quotes Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠTy po graphic Smart s ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . ty po graphic . Ty po graphic Smart s :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTy po graphic Smart s Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠDocument ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . util . ast . Document :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDocument Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠSup erscript ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . sup erscript . Sup erscript :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSup erscript Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠF oot note ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . footnotes . Foot note :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF oot note Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠF oot note Block ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . footnotes . Foot note Block :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF oot note Block Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ), ĊĠĠĠ ĠDefinition List ( ĊĠĠĠĠĠĠĠ ĠNode Binder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcom . vl ad sch . flex mark . ext . definition . Definition List :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDefinition List Handler ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ } Ċ