UNPKG

bible-passage-reference-parser

Version:

Identifies and parses Bible references (like John 3:16) in over 40 languages.

1,068 lines (1,066 loc) 155 kB
// build/bcv_regexps.ts var bcv_regexps = class { constructor() { this.books = []; this.languages = ["id"]; this.translations = [/(?:T(?:SI|B)|AMD)\b/gi]; // Beginning of string or not in the middle of a word or immediately following another book. Only count a book if it's part of a sequence: `Matt5John3` is OK, but not `1Matt5John3`. // Start with an inverted book/chapter (cb). The last one doesn't allow plural since it's a single chapter. // Then move onto a book, which is the anchor for everything. // The `/\d+\x1f` is for special Psalm chapters. // The `judul` has `[a-z]` instead of `\w` because it could be followed by a number. // [a-e] allows `1:1a`. this.escaped_passage = /(?:^|[^\x1e\x1f\p{L}\p{N}])((?:(?:ch(?:apters?|a?pts?\.?|a?p?s?\.?)?\s*\d+\s*(?:[\u2013\u2014\-]|through|thru|to)\s*\d+\s*(?:from|of|in)(?:\s+the\s+book\s+of)?\s*)|(?:ch(?:apters?|a?pts?\.?|a?p?s?\.?)?\s*\d+\s*(?:from|of|in)(?:\s+the\s+book\s+of)?\s*)|(?:\d+(?:th|nd|st)\s*ch(?:apter|a?pt\.?|a?p?\.?)?\s*(?:from|of|in)(?:\s+the\s+book\s+of)?\s*))?\x1f(\d+)(?:\/\d+)?\x1f(?:\/\d+\x1f|[\d\s.:,;\x1e\x1f&\(\)()\[\]\\/"'\*=~\-–—]|judul(?![a-z])|bandingkan|sampai|pasal|ayat|dst|lih|bdk|[a-e](?!\w)|$)+)/giu; // These are the only valid ways to end a potential passage match. The closing parenthesis allows for fully capturing parentheses surrounding translations (ESV**)**. The last one, `[\d\x1f]` needs not to be +; otherwise `Gen5ff` becomes `\x1f0\x1f5ff`, and `adjust_regexp_end` matches the `\x1f5` and incorrectly dangles the ff. \uff09 is a full-width closing parenthesis. this.match_end_split = /\d\W*judul|\d\W*dst(?:[\s*]*\.)?|\d[\s*]*[a-e](?!\w)|\x1e(?:[\s*]*[)\]\uff09])?|[\d\x1f]/gi; this.control = /[\x1e\x1f]/g; // These are needed for ranges outside of this class. this.first = /1\.?\s*/; this.second = /2\.?\s*/; this.third = /3\.?\s*/; this.range_and = /(?:[&\u2013\u2014-]|(?:bandingkan|lih|bdk)|sampai)/; this.range_only = /(?:[\u2013\u2014-]|sampai)/; this.pre_book = /(?:^|(?<=[^\p{L}]))/gu; this.pre_number_book = /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))/gu; this.post_book = /(?:(?=[\d\s\.?:,;\x1e\x1f&\(\)()\[\]\/"’'\*=~\-–—])|$)/gu; // Each book regexp should return one parenthesized object: the book string. this.all_books = [ { osis: ["Ps"], testament: "a", extra: "2", // We only want to match a valid OSIS, so we can use a regular `\b` condition. It's always followed by ".1"; the regular Psalms parser can handle `Ps151` on its own. regexp: /\b(Ps151)(?=\.1\b)/g // It's case-sensitive because we only want to match a valid OSIS. No `u` flag is necessary because we're not doing anything that requires it. }, { osis: ["Gen"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Kej(?:adian|d)?|Gen))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Exod"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Kel(?:(?:uaran|r))?|Exod))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Bel"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Dewa\s*Bel(?:\s*dan\s*Naga\s*Babel)?|Bel(?:\s*dan\s*Naga)?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Lev"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Im(?:(?:amat\s*Orang\s*Lewi|t)|(?:amat)?)|Lev))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Num"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Bil(?:angan)?|Num))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Sir"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Eklesiastikus|Sir(?:akh)?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Wis"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Kebij(?:aksanaan)?\s*Salomo|Keb(?:ijaksanaan)?|Hikmat\s*Salomo|Wis))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Lam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Nudub\s*Yermia|Ratapan|Rat(?:ap)?|Lam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["EpJer"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Sur(?:at\s*Yeremia|\s*?Yer)|EpJer))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Rev"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:W(?:ah(?:yu|y?)|hy)|Rev))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["PrMan"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Doa\s*Manasye|(?:Doa\s*|(?:Doa|Pr))Man|Manasye))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Deut"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Ul(?:angan)?|Deut))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Josh"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Y(?:(?:osua|usak)|os)|Josh))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Judg"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:H(?:(?:(?:akim-?haki|k)m|ak\.?-?hak)|ak)|Judg))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ruth"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(R(?:uth?|t))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Esd"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:E(?:sdras|zra)\s*Yunani|(?:1\.|3)\s*Esdras|1\s*Esdras|1\s*Esd|(?:I\s*|1)Esd))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Esd"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:E(?:sdras|zra)\s*Latin|2\s*Esdras|4\s*Esdras|(?:II\s*|2)Esd|2\s*Esd))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Isa"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Yesaya|Ye?s|Isa))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Sam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Semuel\s*Yang\s*Kedua|2(?:\.\s*Samuel|\s*Samuel|Sam)|II\s*Sam|2(?:\s*Sam|Sa)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Sam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Semuel\s*Yang\s*Pertama|1(?:\.\s*Samuel|\s*Samuel|Sam)|1(?:\s*Sam|Sa)|I\s*Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Kgs"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Raja-?raja\s*Yang\s*Kedua|2\.?\s*Raja-?raja|II\s*Raj|2\s*Raj|2(?:(?:Kgs|Rj)|Raj)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Kgs"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Raja-?raja\s*Yang\s*Pertama|1\.?\s*Raja-?raja|1\s*Raj|I\s*Raj|1(?:(?:Kgs|Rj)|Raj)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Chr"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Tawarikh\s*Yang\s*Kedua|2(?:(?:\.\s*Tawarikh|\s*Tawarikh|\s*Tawh|Chr)|Taw)|II\s*Taw|2\s*Taw))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Chr"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Tawarikh\s*Yang\s*Pertama|1(?:(?:\.\s*Tawarikh|\s*Tawarikh|\s*Tawh|Chr)|Taw)|1\s*Taw|I\s*Taw))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Neh"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Nehem[iy]a|2\s*Ezra|Nehm?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ezra"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:1\s*Ezra|Ezra?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["GkEsth"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Est(?:(?:er\s*Yunani|\.\s*Yunani|er\s*Grik|\s*Yunani|Yun)|\s*Yun)|GkEsth))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Esth"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(Est(?:er|h)?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Job"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Ay(?:ub|b?)|Job))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ps"], testament: "oa", testament_books: { "Ps": "oa" }, regexp: /(?:^|(?<=[^\p{L}]))((?:M(?:azmur|zm)|Ps))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["PrAzar"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Doa(?:\s*Azarya|Az)|Doa\s*Az(?:ar)?|Azarya|PrAzar))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Prov"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Surat\s*Amsal\s*Sulaiman|Amsal|Prov|Ams))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Eccl"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:P(?:engkhotbah|kh(?:th|b))|Alkhatib|P(?:eng)?kh|Eccl))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["SgThree"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:(?:Lagu\s*Pujian\s*Ket|T)iga\s*Pemuda|(?:Lagu\s*)?3\s*Pemuda|Lagu\s*Pemuda|SgThree|LagPuj))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Song"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:S(?:yirul-?asyar\s*Sulaiman|ong)|Kid(?:(?:ung\s*Agung|(?:\s*Ag|A))|(?:ung)?)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jer"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Y(?:(?:ere?mia|r)|er)|Jer))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ezek"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Ye(?:(?:hezkiel|z)|h)|Ezek))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Dan"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(D(?:an(?:iel)?|n))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hos"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(Ho(?:s(?:ea)?)?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Joel"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:(?:Yo[eë]|Y)|Joe)l)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Amos"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(Am(?:os?)?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Obad"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(Ob(?:a(?:ja|d))?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jonah"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Y(?:(?:unus|n)|un)|Jonah))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mic"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(M(?:i(?:(?:kha|c)|k?)|kh))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Nah"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(N(?:ah(?:um)?|h))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hab"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(H(?:(?:abaku|b)k|ab))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Zeph"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(Ze(?:f(?:anya)?|ph))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hag"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(H(?:a(?:g(?:ai)?|jai)|g))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Zech"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(Z(?:a(?:kh?aria|k?)|ech))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mal"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))(M(?:al(?:eakh?i)?|l))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Matt"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))(M(?:at(?:ius|t)?|t))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mark"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))(M(?:ar(?:k(?:us)?)?|r?k|r))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Luke"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))(L(?:uk(?:as|e)?|k))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:1(?:(?:(?:\.\s*Yohanes|\s*Yohanes|\s*Y(?:ahya|hn)|John)|\s*Yoh)|Yoh)|I\s*Yoh))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:2(?:(?:(?:\.\s*Yohanes|\s*Yohanes|\s*Y(?:ahya|hn)|John)|\s*Yoh)|Yoh)|II\s*Yoh))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["3John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:3(?:(?:(?:\.\s*Yohanes|\s*Yohanes|\s*Y(?:ahya|hn)|John)|\s*Yoh)|Yoh)|III\s*Yoh))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Y(?:(?:oh(?:ane)?s|ahya)|oh)|John))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Acts"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Kis(?:(?:ah\s*Rasul-?rasul|ah\s*Para\s*Rasul|\s*Para\s*Rasul|R)|(?:ah)?)|Acts))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Rom"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))(R(?:oma|om|um|m))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Cor"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:2(?:\.?\s*Korintus|\s*Kor?)|II\s*Kor|2[CK]or))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Cor"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:1(?:\.?\s*Korintus|\s*Kor?)|I\s*Kor|1[CK]or))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Gal"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))(Gal(?:atia)?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Eph"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))(E(?:f(?:esus|s?)|p(?:esus|h)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Phil"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:F(?:ilipi|(?:ili?|lp))|P(?:ilipi|hil)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Col"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Kol(?:ose?)?|Col))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Thess"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:2(?:(?:(?:\.\s*Tesalonika|\s*Tes(?:alonika|l))|\s*Tes)|Thess)|II\s*Tes))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Thess"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:1(?:(?:(?:\.\s*Tesalonika|\s*Tes(?:alonika|l))|\s*Tes)|Thess)|I\s*Tes))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Tim"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:2(?:(?:(?:\.\s*Timotius|\s*T(?:imotius|m))|\s*Tim)|Tim)|II\s*Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Tim"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:1(?:(?:(?:\.\s*Timotius|\s*T(?:imotius|m))|\s*Tim)|Tim)|I\s*Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Titus"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))(Ti(?:t(?:us)?)?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Phlm"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:F(?:ilemon|(?:(?:ile|l)m|lmn))|P(?:ilemon|hlm)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Heb"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Ibr(?:ani|n)?|Heb))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jas"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Y(?:akobus|(?:(?:akub|k)|ak))|Jas))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Pet"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:2(?:(?:(?:\.\s*Petrus|\s*P(?:etrus|tr))|\s*Pet)|Pet)|II\s*Pet))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Pet"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:1(?:(?:(?:\.\s*Petrus|\s*P(?:etrus|tr))|\s*Pet)|Pet)|I\s*Pet))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jude"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Y(?:(?:ehuda|(?:uda|d)s)|ud)|Jude))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Tob"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(Tob(?:it)?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jdt"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Y(?:udi|d)t|Jdt))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Bar"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(B(?:ar(?:ukh)?|r))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Sus"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(Sus(?:ana)?)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:2(?:(?:\s*Makabe|Macc)|\s*Mak)|II\s*Mak))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["3Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:3(?:(?:\s*Makabe|Macc)|\s*Mak)|III\s*Mak))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["4Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:4(?:(?:\s*Makabe|Macc)|\s*Mak)|IV\s*Mak))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:1(?:(?:\.\s*Makabe|\s*Makabe|Macc)|\s*Mak)|I\s*Mak))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu } ]; } }; // build/bcv_translations.ts var bcv_translations = class { constructor() { this.aliases = { // `current` reflects whatever versification system is active. By default, it matches `default`. It's always fully specified. current: { system: "current", osis: "" }, // `default` is the fully specified default versification system (matching ESV). default: { system: "default", osis: "" } }; this.current_system = "default"; this.systems = { current: {}, default: { order: { "Gen": 1, "Exod": 2, "Lev": 3, "Num": 4, "Deut": 5, "Josh": 6, "Judg": 7, "Ruth": 8, "1Sam": 9, "2Sam": 10, "1Kgs": 11, "2Kgs": 12, "1Chr": 13, "2Chr": 14, "Ezra": 15, "Neh": 16, "Esth": 17, "Job": 18, "Ps": 19, "Prov": 20, "Eccl": 21, "Song": 22, "Isa": 23, "Jer": 24, "Lam": 25, "Ezek": 26, "Dan": 27, "Hos": 28, "Joel": 29, "Amos": 30, "Obad": 31, "Jonah": 32, "Mic": 33, "Nah": 34, "Hab": 35, "Zeph": 36, "Hag": 37, "Zech": 38, "Mal": 39, "Matt": 40, "Mark": 41, "Luke": 42, "John": 43, "Acts": 44, "Rom": 45, "1Cor": 46, "2Cor": 47, "Gal": 48, "Eph": 49, "Phil": 50, "Col": 51, "1Thess": 52, "2Thess": 53, "1Tim": 54, "2Tim": 55, "Titus": 56, "Phlm": 57, "Heb": 58, "Jas": 59, "1Pet": 60, "2Pet": 61, "1John": 62, "2John": 63, "3John": 64, "Jude": 65, "Rev": 66, "Tob": 67, "Jdt": 68, "GkEsth": 69, "Wis": 70, "Sir": 71, "Bar": 72, "PrAzar": 73, "Sus": 74, "Bel": 75, "SgThree": 76, "EpJer": 77, "1Macc": 78, "2Macc": 79, "3Macc": 80, "4Macc": 81, "1Esd": 82, "2Esd": 83, "PrMan": 84 }, chapters: { "Gen": [31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26], "Exod": [22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38], "Lev": [17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34], "Num": [54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13], "Deut": [46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12], "Josh": [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33], "Judg": [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25], "Ruth": [22, 23, 18, 22], "1Sam": [28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13], "2Sam": [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25], "1Kgs": [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53], "2Kgs": [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30], "1Chr": [54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30], "2Chr": [17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23], "Ezra": [11, 70, 13, 24, 17, 22, 28, 36, 15, 44], "Neh": [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31], "Esth": [22, 23, 15, 17, 14, 14, 10, 17, 32, 3], "Job": [22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17], "Ps": [6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6], "Prov": [33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31], "Eccl": [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14], "Song": [17, 17, 11, 16, 16, 13, 13, 14], "Isa": [31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24], "Jer": [19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34], "Lam": [22, 22, 66, 22, 22], "Ezek": [28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35], "Dan": [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13], "Hos": [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9], "Joel": [20, 32, 21], "Amos": [15, 16, 15, 13, 27, 14, 17, 14, 15], "Obad": [21], "Jonah": [17, 10, 10, 11], "Mic": [16, 13, 12, 13, 15, 16, 20], "Nah": [15, 13, 19], "Hab": [17, 20, 19], "Zeph": [18, 15, 20], "Hag": [15, 23], "Zech": [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21], "Mal": [14, 17, 18, 6], "Matt": [25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20], "Mark": [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20], "Luke": [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53], "John": [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25], "Acts": [26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31], "Rom": [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27], "1Cor": [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24], "2Cor": [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14], "Gal": [24, 21, 29, 31, 26, 18], "Eph": [23, 22, 21, 32, 33, 24], "Phil": [30, 30, 21, 23], "Col": [29, 23, 25, 18], "1Thess": [10, 20, 13, 18, 28], "2Thess": [12, 17, 18], "1Tim": [20, 15, 16, 16, 25, 21], "2Tim": [18, 26, 17, 22], "Titus": [16, 15, 15], "Phlm": [25], "Heb": [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25], "Jas": [27, 26, 18, 17, 20], "1Pet": [25, 25, 22, 19, 14], "2Pet": [21, 22, 18], "1John": [10, 29, 24, 21, 21], "2John": [13], "3John": [15], "Jude": [25], "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21], "Tob": [22, 14, 17, 21, 22, 18, 16, 21, 6, 13, 18, 22, 17, 15], "Jdt": [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25], "GkEsth": [22, 23, 15, 17, 14, 14, 10, 17, 32, 13, 12, 6, 18, 19, 16, 24], "Wis": [16, 24, 19, 20, 23, 25, 30, 21, 18, 21, 26, 27, 19, 31, 19, 29, 21, 25, 22], "Sir": [30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 31, 28, 27, 27, 34, 26, 29, 30, 26, 28, 25, 31, 24, 33, 31, 26, 31, 31, 34, 35, 30, 22, 25, 33, 23, 26, 20, 25, 25, 16, 29, 30], "Bar": [22, 35, 37, 37, 9], "PrAzar": [68], "Sus": [64], "Bel": [42], "SgThree": [39], "EpJer": [73], "1Macc": [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 53, 49, 41, 24], "2Macc": [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 45, 26, 46, 39], "3Macc": [29, 33, 30, 21, 51, 41, 23], "4Macc": [35, 24, 21, 26, 38, 35, 23, 29, 32, 21, 27, 19, 27, 20, 32, 25, 24, 24], "1Esd": [58, 30, 24, 63, 73, 34, 15, 96, 55], "2Esd": [40, 48, 36, 52, 56, 59, 70, 63, 47, 59, 46, 51, 58, 48, 63, 78], "PrMan": [15], "Ps151": [7] // Never actually a book; we add this to Psalms if needed. } }, vulgate: { chapters: { "Gen": [31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 32, 25], "Exod": [22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 36], "Lev": [17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 45, 34], "Num": [54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 34, 15, 34, 45, 41, 50, 13, 32, 22, 30, 35, 41, 30, 25, 18, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13], "Josh": [18, 24, 17, 25, 16, 27, 26, 35, 27, 44, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 43, 34, 16, 33], "Judg": [36, 23, 31, 24, 32, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 24], "1Sam": [28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 15, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13], "1Kgs": [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54], "1Chr": [54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 46, 40, 14, 17, 29, 43, 27, 17, 19, 7, 30, 19, 32, 31, 31, 32, 34, 21, 30], "Neh": [11, 20, 31, 23, 19, 19, 73, 18, 38, 39, 36, 46, 31], "Job": [22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 23, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 35, 28, 25, 16], "Ps": [6, 13, 9, 10, 13, 11, 18, 10, 39, 8, 9, 6, 7, 5, 10, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 26, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 13, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 26, 9, 10, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 11, 9, 14, 9, 6], "Eccl": [18, 26, 22, 17, 19, 11, 30, 17, 18, 20, 10, 14], "Song": [16, 17, 11, 16, 17, 12, 13, 14], "Jer": [19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 20, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34], "Ezek": [28, 9, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35], "Dan": [21, 49, 100, 34, 31, 28, 28, 27, 27, 21, 45, 13, 65, 42], "Hos": [11, 24, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 15, 10], "Amos": [15, 16, 15, 13, 27, 15, 17, 14, 14], "Jonah": [16, 11, 10, 11], "Mic": [16, 13, 12, 13, 14, 16, 20], "Hag": [14, 24], "Matt": [25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 26, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20], "Mark": [45, 28, 35, 40, 43, 56, 37, 39, 49, 52, 33, 44, 37, 72, 47, 20], "John": [51, 25, 36, 54, 47, 72, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25], "Acts": [26, 47, 26, 37, 42, 15, 59, 40, 43, 48, 30, 25, 52, 27, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31], "2Cor": [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13], "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21], "Tob": [25, 23, 25, 23, 28, 22, 20, 24, 12, 13, 21, 22, 23, 17], "Jdt": [12, 18, 15, 17, 29, 21, 25, 34, 19, 20, 21, 20, 31, 18, 15, 31], "Wis": [16, 25, 19, 20, 24, 27, 30, 21, 19, 21, 27, 27, 19, 31, 19, 29, 20, 25, 20], "Sir": [40, 23, 34, 36, 18, 37, 40, 22, 25, 34, 36, 19, 32, 27, 22, 31, 31, 33, 28, 33, 31, 33, 38, 47, 36, 28, 33, 30, 35, 27, 42, 28, 33, 31, 26, 28, 34, 39, 41, 32, 28, 26, 37, 27, 31, 23, 31, 28, 19, 31, 38, 13], "Bar": [22, 35, 38, 37, 9, 72], "1Macc": [67, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 54, 54, 49, 41, 24], "2Macc": [36, 33, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 40] } }, ceb: { chapters: { "2Cor": [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13], "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21], "Tob": [22, 14, 17, 21, 22, 18, 16, 21, 6, 13, 18, 22, 18, 15], "PrAzar": [67], "EpJer": [72], "1Esd": [55, 26, 24, 63, 71, 33, 15, 92, 55], "2Esd": [40, 48, 36, 52, 56, 59, 140, 63, 47, 60, 46, 51, 58, 48, 63, 78] } }, csb: { chapters: { "2Cor": [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13], "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21] } }, kjv: { chapters: { "3John": [14] } }, nab: { order: { "Gen": 1, "Exod": 2, "Lev": 3, "Num": 4, "Deut": 5, "Josh": 6, "Judg": 7, "Ruth": 8, "1Sam": 9, "2Sam": 10, "1Kgs": 11, "2Kgs": 12, "1Chr": 13, "2Chr": 14, "PrMan": 15, "Ezra": 16, "Neh": 17, "1Esd": 18, "2Esd": 19, "Tob": 20, "Jdt": 21, "Esth": 22, "GkEsth": 23, "1Macc": 24, "2Macc": 25, "3Macc": 26, "4Macc": 27, "Job": 28, "Ps": 29, "Prov": 30, "Eccl": 31, "Song": 32, "Wis": 33, "Sir": 34, "Isa": 35, "Jer": 36, "Lam": 37, "Bar": 38, "EpJer": 39, "Ezek": 40, "Dan": 41, "PrAzar": 42, "Sus": 43, "Bel": 44, "SgThree": 45, "Hos": 46, "Joel": 47, "Amos": 48, "Obad": 49, "Jonah": 50, "Mic": 51, "Nah": 52, "Hab": 53, "Zeph": 54, "Hag": 55, "Zech": 56, "Mal": 57, "Matt": 58, "Mark": 59, "Luke": 60, "John": 61, "Acts": 62, "Rom": 63, "1Cor": 64, "2Cor": 65, "Gal": 66, "Eph": 67, "Phil": 68, "Col": 69, "1Thess": 70, "2Thess": 71, "1Tim": 72, "2Tim": 73, "Titus": 74, "Phlm": 75, "Heb": 76, "Jas": 77, "1Pet": 78, "2Pet": 79, "1John": 80, "2John": 81, "3John": 82, "Jude": 83, "Rev": 84 }, chapters: { "Gen": [31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26], "Exod": [22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38], "Lev": [17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34], "Num": [54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13], "Deut": [46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12], "1Sam": [28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13], "2Sam": [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25], "1Kgs": [53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54], "2Kgs": [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30], "1Chr": [54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30], "2Chr": [18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23], "Neh": [11, 20, 38, 17, 19, 19, 72, 18, 37, 40, 36, 47, 31], "Job": [22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17], "Ps": [6, 11, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6], "Eccl": [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14], "Song": [17, 17, 11, 16, 16, 12, 14, 14], "Isa": [31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24], "Jer": [19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34], "Ezek": [28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35], "Dan": [21, 49, 100, 34, 30, 29, 28, 27, 27, 21, 45, 13, 64, 42], "Hos": [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10], "Joel": [20, 27, 5, 21], "Jonah": [16, 11, 10, 11], "Mic": [16, 13, 12, 14, 14, 16, 20], "Nah": [14, 14, 19], "Zech": [17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21], "Mal": [14, 17, 24], "Acts": [26, 47, 26, 37, 42, 15, 60, 40, 43, 49, 30, 25, 52, 28, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31], "2Cor": [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13], "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21], "Tob": [22, 14, 17, 21, 22, 18, 17, 21, 6, 13, 18, 22, 18, 15], "Sir": [30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 31, 28, 27, 27, 33, 26, 29, 30, 26, 28, 25, 31, 24, 33, 31, 26, 31, 31, 34, 35, 30, 22, 25, 33, 23, 26, 20, 25, 25, 16, 29, 30], "Bar": [22, 35, 38, 37, 9, 72], "2Macc": [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 39] } }, nlt: { chapters: { "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21] } }, nrsv: { chapters: { "2Cor": [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13], "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21] } }, nrsvue: { chapters: { "2Cor": [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13], "Rev": [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21], "Tob": [22, 14, 17, 21, 22, 18, 16, 21, 6, 13, 18, 22, 18, 15], "Bar": [22, 35, 38, 37, 9], "PrAzar": [67], "EpJer": [72], "1Esd": [55, 25, 23, 63, 70, 33, 15, 92, 55] } } }; this.systems.current = structuredClone(this.systems.default); } }; // build/bcv_grammar.js function peg$subclass(child, parent) { function C() { this.constructor = child; } C.prototype = parent.prototype; child.prototype = new C(); } function peg$SyntaxError(message, expected, found, location) { var self = Error.call(this, message); if (Object.setPrototypeOf) { Object.setPrototypeOf(self, peg$SyntaxError.prototype); } self.expected = expected; self.found = found; self.location = location; self.name = "SyntaxError"; return self; } peg$subclass(peg$SyntaxError, Error); function peg$padEnd(str, targetLength, padString) { padString = padString || " "; if (str.length > targetLength) { return str; } targetLength -= str.length; padString += padString.repeat(targetLength); return str + padString.slice(0, targetLength); } peg$SyntaxError.prototype.format = function(sources) { var str = "Error: " + this.message; if (this.location) { var src = null; var k; for (k = 0; k < sources.length; k++) { if (sources[k].source === this.location.source) { src = sources[k].text.split(/\r\n|\n|\r/g); break; } } var s = this.location.start; var offset_s = this.location.source && typeof this.location.source.offset === "function" ? this.location.source.offset(s) : s; var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column; if (src) { var e = this.location.end; var filler = peg$padEnd("", offset_s.line.toString().length, " "); var line = src[s.line - 1]; var last = s.line === e.line ? e.column : line.length + 1; var hatLen = last - s.column || 1; str += "\n --> " + loc + "\n" + filler + " |\n" + offset_s.line + " | " + line + "\n" + filler + " | " + peg$padEnd("", s.column - 1, " ") + peg$padEnd("", hatLen, "^"); } else { str += "\n at " + loc; } } return str; }; peg$SyntaxError.buildMessage = function(expected, found) { var DESCRIBE_EXPECTATION_FNS = { literal: function(expectation) { return '"' + literalEscape(expectation.text) + '"'; }, class: function(expectation) { var escapedParts = expectation.parts.map(function(part) { return Array.isArray(part) ? classEscape(part[0]) + "-" + classEscape(part[1]) : classEscape(part); }); return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]"; }, any: function() { return "any character"; }, end: function() { return "end of input"; }, other: function(expectation) { return expectation.description; } }; function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } function literalEscape(s) { return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function classEscape(s) { return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function describeExpectation(expectation) { return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); } function describeExpected(expected2) { var descriptions = expected2.map(describeExpectation); var i, j; descriptions.sort(); if (descriptions.length > 0) { for (i = 1, j = 1; i < descriptions.length; i++) { if (descriptions[i - 1] !== descriptions[i]) { descriptions[j] = descriptions[i]; j++; } } descriptions.length = j; } switch (descriptions.length) { case 1: return descriptions[0]; case 2: return descriptions[0] + " or " + descriptions[1]; default: return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1]; } } function describeFound(found2) { return found2 ? '"' + literalEscape(found2) + '"' : "end of input"; } return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; }; function peg$parse(input, options) { options = options !== void 0 ? options : {}; var peg$FAILED = {}; var peg$source = options.grammarSource; var peg$startRuleFunctions = { start: peg$parsestart }; var peg$startRuleFunction = peg$parsestart; var peg$c0 = "("; var peg$c1 = ")"; var peg$c2 = ""; var peg$c3 = "/"; var peg$c4 = ","; var peg$c5 = "."; var peg$c6 = "-"; var peg$c7 = "th"; var peg$c8 = "nd"; var peg$c9 = "st"; var peg$c10 = "/1"; var peg$c11 = "dst"; var peg$c12 = "/9"; var peg$c13 = "/2"; var peg$c14 = ".1"; var peg$c15 = "pasal"; var peg$c16 = "ayat"; var peg$c17 = ":"; var peg$c18 = "bandingkan"; var peg$c19 = "lih"; var peg$c20 = "bdk"; var peg$c21 = "sampai"; var peg$c22 = "judul"; var peg$c23 = "from"; var peg$c24 = "of"; var peg$c25 = "in"; var peg$c26 = "the"; var peg$c27 = "book"; var peg$c28 = ""; var peg$c29 = ",000"; var peg$r0 = /^[1-8]/; var peg$r1 = /^[a-z]/; var peg$r2 = /^[0-9]/; var peg$r3 = /^[a-e]/; var peg$r4 = /^["']/; var peg$r5 = /^[,;\/:&\-\u2013\u2014~]/; var peg$r6 = /^[\-\u2013\u2014]/; var peg$r7 = /^[([]/; var peg$r8 = /^[)\]]/; var peg$r9 = /^[^\x1F\x1E([]/; var peg$r10 = /^[\s*]/; var peg$e0 = peg$literalExpectation("(", false); var peg$e1 = peg$literalExpectation(")", false); var peg$e2 = peg$literalExpectation("", false); var peg$e3 = peg$literalExpectation("/", false); var peg$e4 = peg$classExpectation([["1", "8"]], false, false); var peg$e5 = peg$literalExpectation(",", false); var peg$e6 = peg$literalExpectation(".", false); var peg$e7 = peg$literalExpectation("-", false); var peg$e8 = peg$literalExpectation("th", false); var peg$e9 = peg$literalExpectation("nd", false); var peg$e10 = peg$literalExpectation("st", false); var peg$e11 = peg$literalExpectation("/1", false); var peg$e12 = peg$literalExpectation("dst", false); var peg$e13 = peg$classExpectation([["a", "z"]], false, false); var peg$e14 = peg$literalExpectation("/9", false); var peg$e15 = peg$literalExpectation("/2", false); var peg$e16 = peg$literalExpectation(".1", false); var peg$e17 = peg$classExpectation([["0", "9"]], false, false); var peg$e18 = peg$classExpectation([["a", "e"]], false, false); var peg$e19 = peg$literalExpectation("pasal", false); var peg$e20 = peg$literalExpectation("ayat", false); var peg$e21 = peg$literalExpectation(":", false); var peg$e22 = peg$classExpectation(['"', "'"], false, false); var peg$e23 = peg$classExpectation([",", ";", "/", ":", "&", "-", "–", "—", "~"], false, false); var peg$e24 = peg$literalExpectation("bandingkan", false); var peg$e25 = peg$literalExpectation("lih", false); var peg$e26 = peg$literalExpectation("bdk", false); var peg$e27 = peg$classExpectation(["-", "–", "—"], false, false); var peg$e28 = peg$literalExpectation("sampai", false); var peg$e29 = peg$literalExpectation("judul", false); var peg$e30 = peg$literalExpectation("from", false); var peg$e31 = peg$literalExpectation("of", false); var peg$e32 = peg$literalExpectation("in", false); var peg$e33 = peg$literalExpectation("the", false); var peg$e34 = peg$literalExpectation("book", false); var peg$e35 = peg$classExpectation(["(", "["], false, false); var