UNPKG

bible-passage-reference-parser

Version:

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

1,101 lines (1,099 loc) 153 kB
// build/bcv_regexps.ts var bcv_regexps = class { constructor() { this.books = []; this.languages = ["th"]; this.translations = [/(?:ER|NC)V\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 `title` 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&\(\)()\[\]\\/"'\*=~\-–—]|title(?![a-z])|บทที่|verse|และ|ff|-|[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*title|\d\W*ff(?:[\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-]|และ|-)/; this.range_only = /(?:[\u2013\u2014-]|-)/; 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}]))((?:ปฐ(?:มกาล|ก)|Gen))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Exod"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Exod|อพยพ?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Bel"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(Bel)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Lev"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เลวีนิติ|Lev|ลนต))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Num"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ก(?:ันดารวิถี|ดว)|Num))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Sir"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:บุตรสิรา|Sir))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Wis"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:ปรีชาญาณ|Wis))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Lam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:บทเพลงคร่ำครวญ|เพลงคร่ำครวญ|Lam|พคค))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["EpJer"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(EpJer)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Rev"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:ว(?:ิวรณ์|ว)|Rev))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["PrMan"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(PrMan)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Deut"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เฉลย(?:​ธรรม​|ธรรม)บัญญัติ|Deut|ฉธบ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Josh"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:โยชูวา|Josh|ยชว))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Judg"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ผู้วินิจฉัย|Judg|วนฉ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ruth"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:น(?:างรู|ร)ธ|Ruth))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Esd"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1Esd)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Esd"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2Esd)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Isa"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:อ(?:ิสยาห์|สย)|Isa))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Sam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*ซ(?:ามูเอล|มอ)|\s*ซ(?:ามูเอล|มอ)|Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Sam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*ซ(?:ามูเอล|มอ)|\s*ซ(?:ามูเอล|มอ)|Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Kgs"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*พ(?:งศ์กษัตริย์|กษ)|\s*พ(?:งศ์กษัตริย์|กษ)|Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Kgs"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*พ(?:งศ์กษัตริย์|กษ)|\s*พ(?:งศ์กษัตริย์|กษ)|Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Chr"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*พ(?:งศาวดาร|ศด)|\s*พ(?:งศาวดาร|ศด)|Chr))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Chr"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*พ(?:งศาวดาร|ศด)|\s*พ(?:งศาวดาร|ศด)|Chr))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ezra"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เอสรา|Ezra|อสร))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Neh"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เนหะมีย์|Neh|นหม))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["GkEsth"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(GkEsth)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Esth"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เอสเธอร์|Esth|อสธ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Job"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Job|โยบ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ps"], testament: "oa", testament_books: { "Ps": "oa" }, regexp: /(?:^|(?<=[^\p{L}]))((?:เพลงสดุดี|สดุดี|สดด|Ps))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["PrAzar"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(PrAzar)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Prov"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ส(?:ุภาษิต|ภษ)|Prov))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Eccl"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ป(?:ัญญาจารย์|ญจ)|Eccl))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["SgThree"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(SgThree)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Song"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เพลง(?:ซา|โซ)โลมอน|Song|พซม))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jer"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เยเรมีย(?:าห)?์|Jer|ยรม))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ezek"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เอเสเคียล|Ezek|อสค))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Dan"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ด(?:าเนีย|น)ล|Dan))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hos"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:โฮเชยา(?:ห์)?|Hos|ฮชย))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Joel"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:โยเอล|Joel|ยอล))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Amos"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:อ(?:าโ)?มส|Amos))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Obad"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:โอบาดี[ยห]์|Obad|อบด))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jonah"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:โยนาห์|Jonah|ยนา))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mic"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ม(?:ีคาห์|คา)|Mic))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Nah"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:น(?:าฮู|ฮ)ม|Nah))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hab"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ฮ(?:าบากุ|บ)ก|Hab))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Zeph"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เศฟันยาห์|Zeph|ศฟย))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hag"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ฮ(?:ักกัย|กก)|Hag))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Zech"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:เศคาริยาห์|Zech|ศคย))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mal"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:ม(?:าลาคี|ลค)|Mal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Matt"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:พระวรสารนักบุญแม็ทธิว|มัทธิว|Matt|มธ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mark"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:พระวรสารนักบุญมาร์ค|ม(?:าระโ)?ก|Mark))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Luke"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:พระวรสารนักบุญลูค|Luke|ล(?:ูกา|ก)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*ยอห์น|\s*ยอห์น|John|\s*ยน))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*ยอห์น|\s*ยอห์น|John|\s*ยน))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["3John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(3(?:\.\s*ยอห์น|\s*ยอห์น|John|\s*ยน))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:พระวรสารนักบุญจอห์น|ยอห์น|John|ย[นฮ]))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Acts"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:ก(?:ิจการ(?:​ของ​อัครทูต|ของอัครทูต)?|จ)|Acts))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Rom"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Rom|โรม|รม))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Cor"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*โครินธ์|\s*โครินธ์|Cor|\s*ค[ธร]))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Cor"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*โครินธ์|\s*โครินธ์|Cor|\s*ค[ธร]))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Gal"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:ก(?:าลาเทีย|ท)|Gal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Eph"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:เอเฟซัส|Eph|อฟ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Phil"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:ฟ(?:ีลิปปี|ป)|Phil))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Col"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:โคโลสี|Col|คส))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Thess"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*เธ[ซส]ะโลนิกา|\s*เธ[ซส]ะโลนิกา|ธสะโลนิกา|Thess|\s*ธส))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Thess"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*เธ[ซส]ะโลนิกา|\s*เธ[ซส]ะโลนิกา|Thess|\s*ธส))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Tim"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*ทิโมธี|\s*ทิโมธี|Tim|\s*ทธ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Tim"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*ทิโมธี|\s*ทิโมธี|Tim|\s*ทธ))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Titus"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Titus|ท(?:ิตัส|ต)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Phlm"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:ฟ(?:ีเลโมน|ม)|Phlm))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Heb"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:ฮ(?:ีบรู|บ)|Heb))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jas"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:ย(?:ากอบ|[กบ])|Jas))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Pet"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*เปโตร|\s*เปโตร|Pet|\s*ปต))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Pet"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*เปโตร|\s*เปโตร|Pet|\s*ปต))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jude"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Jude|ย(?:ูดา|ด)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Tob"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:โทบิต|Tob))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jdt"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:ยูดิธ|Jdt))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Bar"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:พระธรรมบารุค|บารุค|Bar))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Sus"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(Sus)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(2(?:\.\s*มัคคาบี|\s*มัคคาบี|Macc))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["3Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(3(?:\.\s*มัคคาบี|\s*มัคคาบี|Macc))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["4Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(4(?:\.\s*มัคคาบี|\s*มัคคาบี|Macc))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))(1(?:\.\s*มัคคาบี|\s*มัคคาบี|Macc))(?:(?=[\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 = "ff"; var peg$c12 = "/9"; var peg$c13 = "/2"; var peg$c14 = ".1"; var peg$c15 = "บทที่"; var peg$c16 = "verse"; var peg$c17 = ":"; var peg$c18 = "และ"; var peg$c19 = "title"; var peg$c20 = "from"; var peg$c21 = "of"; var peg$c22 = "in"; var peg$c23 = "the"; var peg$c24 = "book"; var peg$c25 = ""; var peg$c26 = ",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("ff", 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("บทที่", true); var peg$e20 = peg$literalExpectation("verse", 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("และ", true); var peg$e25 = peg$classExpectation(["-", "–", "—"], false, false); var peg$e26 = peg$literalExpectation("title", false); var peg$e27 = peg$literalExpectation("from", false); var peg$e28 = peg$literalExpectation("of", false); var peg$e29 = peg$literalExpectation("in", false); var peg$e30 = peg$literalExpectation("the", false); var peg$e31 = peg$literalExpectation("book", false); var peg$e32 = peg$classExpectation(["(", "["], false, false); var peg$e33 = peg$classExpectation([")", "]"], false, false); var peg$e34 = peg$literalExpectation("", false); var peg$e35 = peg$literalExpectation(",000", false); var peg$e36 = peg$classExpectation(["", "", "(", "["], true, false); var peg$e37 = peg$classExpectation([" ", " ", "\r", "\n", " ", "*"], false, false); var peg$f0 = function(val_1, val_2) { val_2.unshift([val_1]); var r = range(); return { "type": "sequence", "value": val_2, "indices": [r.start, r.end - 1] }; }; var peg$f1 = function(val_1, val_2) { if (typeof val_2 === "undefined") val_2 = []; val_2.unshift([val_1]); var r = range(); return { "type": "sequence_post_enclosed", "value": val_2, "indices": [r.start, r.end - 1] }; }; var peg$f2 = function(val_1, val_2) { if (val_1.length && val_1.length === 2) val_1 = val_1[0]; var r = range(); return { "type": "range", "value": [val_1, val_2], "indices": [r.start, r.end - 1] }; }; var peg$f3 = function(val) { var r = range(); return { "type": "b", "value": val.value, "indices": [r.start, r.end - 1] }; }; var peg$f4 = function(val_1, val_2) { var r = range(); return { "type": "bc", "value": [val_1, val_2], "indices": [r.start, r.end - 1] }; }; var peg$f5 = function(val_1, val_2) { var r = range(); return { "type": "bc", "value": [val_1, val_2], "indices": [r.start, r.end - 1] }; }; var peg$f6 = function(val_1, val_2) { var r = range(); return { "type": "bc_title", "value": [val_1, val_2], "indices": [r.start, r.end - 1] }; }; var peg$f7 = function(val_1, val_2) { var r = range(); return { "type": "bcv", "value": [val_1, val_2], "indices": [r.start, r.