bible-ref-parse 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/am-bcv-parser.js +122 -11
  2. package/dist/am-bcv-parser.min.js +1 -1
  3. package/dist/ar-bcv-parser.js +122 -11
  4. package/dist/ar-bcv-parser.min.js +2 -2
  5. package/dist/bb-bcv-parser.js +122 -11
  6. package/dist/bb-bcv-parser.min.js +2 -2
  7. package/dist/bg-bcv-parser.js +122 -11
  8. package/dist/bg-bcv-parser.min.js +2 -2
  9. package/dist/bn-bcv-parser.js +122 -11
  10. package/dist/bn-bcv-parser.min.js +2 -2
  11. package/dist/ceb-bcv-parser.js +122 -11
  12. package/dist/ceb-bcv-parser.min.js +2 -2
  13. package/dist/cs-bcv-parser.js +122 -11
  14. package/dist/cs-bcv-parser.min.js +2 -2
  15. package/dist/da-bcv-parser.js +122 -11
  16. package/dist/da-bcv-parser.min.js +2 -2
  17. package/dist/de-bcv-parser.js +122 -11
  18. package/dist/de-bcv-parser.min.js +1 -1
  19. package/dist/ee-bcv-parser.js +122 -11
  20. package/dist/ee-bcv-parser.min.js +2 -2
  21. package/dist/el-bcv-parser.js +122 -11
  22. package/dist/el-bcv-parser.min.js +1 -1
  23. package/dist/en-bcv-parser.js +122 -11
  24. package/dist/en-bcv-parser.min.js +2 -2
  25. package/dist/es-bcv-parser.js +122 -11
  26. package/dist/es-bcv-parser.min.js +1 -1
  27. package/dist/fa-bcv-parser.js +122 -11
  28. package/dist/fa-bcv-parser.min.js +2 -2
  29. package/dist/fi-bcv-parser.js +122 -11
  30. package/dist/fi-bcv-parser.min.js +2 -2
  31. package/dist/fr-bcv-parser.js +122 -11
  32. package/dist/fr-bcv-parser.min.js +2 -2
  33. package/dist/he-bcv-parser.js +122 -11
  34. package/dist/he-bcv-parser.min.js +1 -1
  35. package/dist/hi-bcv-parser.js +122 -11
  36. package/dist/hi-bcv-parser.min.js +2 -2
  37. package/dist/hl-bcv-parser.js +122 -11
  38. package/dist/hl-bcv-parser.min.js +2 -2
  39. package/dist/hr-bcv-parser.js +122 -11
  40. package/dist/hr-bcv-parser.min.js +2 -2
  41. package/dist/ht-bcv-parser.js +122 -11
  42. package/dist/ht-bcv-parser.min.js +2 -2
  43. package/dist/hu-bcv-parser.js +122 -11
  44. package/dist/hu-bcv-parser.min.js +2 -2
  45. package/dist/id-bcv-parser.js +122 -11
  46. package/dist/id-bcv-parser.min.js +2 -2
  47. package/dist/il-bcv-parser.js +122 -11
  48. package/dist/il-bcv-parser.min.js +2 -2
  49. package/dist/is-bcv-parser.js +122 -11
  50. package/dist/is-bcv-parser.min.js +2 -2
  51. package/dist/it-bcv-parser.js +122 -11
  52. package/dist/it-bcv-parser.min.js +2 -2
  53. package/dist/ja-bcv-parser.js +122 -11
  54. package/dist/ja-bcv-parser.min.js +2 -2
  55. package/dist/jv-bcv-parser.js +122 -11
  56. package/dist/jv-bcv-parser.min.js +2 -2
  57. package/dist/ko-bcv-parser.js +122 -11
  58. package/dist/ko-bcv-parser.min.js +2 -2
  59. package/dist/la-bcv-parser.js +122 -11
  60. package/dist/la-bcv-parser.min.js +2 -2
  61. package/dist/lu-bcv-parser.js +122 -11
  62. package/dist/lu-bcv-parser.min.js +2 -2
  63. package/dist/mg-bcv-parser.js +122 -11
  64. package/dist/mg-bcv-parser.min.js +2 -2
  65. package/dist/mk-bcv-parser.js +122 -11
  66. package/dist/mk-bcv-parser.min.js +1 -1
  67. package/dist/mq-bcv-parser.js +122 -11
  68. package/dist/mq-bcv-parser.min.js +2 -2
  69. package/dist/mr-bcv-parser.js +122 -11
  70. package/dist/mr-bcv-parser.min.js +1 -1
  71. package/dist/nd-bcv-parser.js +122 -11
  72. package/dist/nd-bcv-parser.min.js +1 -1
  73. package/dist/ne-bcv-parser.js +122 -11
  74. package/dist/ne-bcv-parser.min.js +2 -2
  75. package/dist/nl-bcv-parser.js +122 -11
  76. package/dist/nl-bcv-parser.min.js +2 -2
  77. package/dist/no-bcv-parser.js +122 -11
  78. package/dist/no-bcv-parser.min.js +1 -1
  79. package/dist/ny-bcv-parser.js +122 -11
  80. package/dist/ny-bcv-parser.min.js +2 -2
  81. package/dist/or-bcv-parser.js +122 -11
  82. package/dist/or-bcv-parser.min.js +2 -2
  83. package/dist/pa-bcv-parser.js +122 -11
  84. package/dist/pa-bcv-parser.min.js +2 -2
  85. package/dist/pl-bcv-parser.js +122 -11
  86. package/dist/pl-bcv-parser.min.js +2 -2
  87. package/dist/pt-bcv-parser.js +122 -11
  88. package/dist/pt-bcv-parser.min.js +1 -1
  89. package/dist/ro-bcv-parser.js +122 -11
  90. package/dist/ro-bcv-parser.min.js +2 -2
  91. package/dist/ru-bcv-parser.js +122 -11
  92. package/dist/ru-bcv-parser.min.js +2 -2
  93. package/dist/rw-bcv-parser.js +122 -11
  94. package/dist/rw-bcv-parser.min.js +3 -3
  95. package/dist/si-bcv-parser.js +122 -11
  96. package/dist/si-bcv-parser.min.js +2 -2
  97. package/dist/sk-bcv-parser.js +122 -11
  98. package/dist/sk-bcv-parser.min.js +2 -2
  99. package/dist/so-bcv-parser.js +122 -11
  100. package/dist/so-bcv-parser.min.js +2 -2
  101. package/dist/sq-bcv-parser.js +122 -11
  102. package/dist/sq-bcv-parser.min.js +2 -2
  103. package/dist/sr-bcv-parser.js +122 -11
  104. package/dist/sr-bcv-parser.min.js +2 -2
  105. package/dist/sv-bcv-parser.js +122 -11
  106. package/dist/sv-bcv-parser.min.js +2 -2
  107. package/dist/sw-bcv-parser.js +122 -11
  108. package/dist/sw-bcv-parser.min.js +2 -2
  109. package/dist/ta-bcv-parser.js +122 -11
  110. package/dist/ta-bcv-parser.min.js +2 -2
  111. package/dist/test/en.spec.js +7 -0
  112. package/dist/th-bcv-parser.js +122 -11
  113. package/dist/th-bcv-parser.min.js +1 -1
  114. package/dist/tl-bcv-parser.js +122 -11
  115. package/dist/tl-bcv-parser.min.js +2 -2
  116. package/dist/tr-bcv-parser.js +122 -11
  117. package/dist/tr-bcv-parser.min.js +2 -2
  118. package/dist/uk-bcv-parser.js +122 -11
  119. package/dist/uk-bcv-parser.min.js +2 -2
  120. package/dist/ur-bcv-parser.js +122 -11
  121. package/dist/ur-bcv-parser.min.js +2 -2
  122. package/dist/vi-bcv-parser.js +122 -11
  123. package/dist/vi-bcv-parser.min.js +1 -1
  124. package/dist/zh-bcv-parser.js +122 -11
  125. package/dist/zh-bcv-parser.min.js +3 -3
  126. package/dist/zu-bcv-parser.js +122 -11
  127. package/dist/zu-bcv-parser.min.js +2 -2
  128. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.prototype.entities=[],this.prototype.passage=null,this.prototype.regexps={},this.prototype.options={consecutive_combination_strategy:"combine",osis_compaction_strategy:"b",book_sequence_strategy:"ignore",invalid_sequence_strategy:"ignore",sequence_combination_strategy:"combine",punctuation_strategy:"us",invalid_passage_strategy:"ignore",non_latin_digits_strategy:"ignore",passage_existence_strategy:"bcv",zero_chapter_strategy:"error",zero_verse_strategy:"error",single_chapter_1_strategy:"chapter",book_alone_strategy:"ignore",book_range_strategy:"ignore",captive_end_digits_strategy:"delete",end_range_digits_strategy:"verse",include_apocrypha:!1,ps151_strategy:"c",versification_system:"default",case_sensitive:"none"}}constructor(){for(var e of(this.options={},Object.keys(bcv_parser.prototype.options||{}))){var s=bcv_parser.prototype.options[e];this.options[e]=s}this.versification_system(this.options.versification_system)}parse(e){return this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),[this.entities]=Array.from(this.match_passages(e)),this}parse_with_context(e,s){let t;return this.reset(),[s,this.passage.books]=Array.from(this.match_books(this.replace_control_characters(s))),[t,s]=Array.from(this.match_passages(s)),this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),this.passage.books.push({value:"",parsed:[],start_index:0,type:"context",context:s}),e=""+(this.passage.books.length-1)+"/9"+e,[this.entities]=Array.from(this.match_passages(e)),this}reset(){return this.s="",this.entities=[],this.passage?(this.passage.books=[],this.passage.indices={}):(this.passage=new bcv_passage,this.passage.options=this.options,this.passage.translations=this.translations)}set_options(e){for(var s of Object.keys(e||{})){var t=e[s];"include_apocrypha"===s||"versification_system"===s||"case_sensitive"===s?this[s](t):this.options[s]=t}return this}include_apocrypha(e){if(null==e||!0!==e&&!1!==e)return this;for(var s of(this.options.include_apocrypha=e,this.regexps.books=this.regexps.get_books(e,this.options.case_sensitive),Object.keys(this.translations||{}))){var t;if("aliases"!==s&&"alternates"!==s)if(null==this.translations[s].chapters&&(this.translations[s].chapters={}),null==this.translations[s].chapters.Ps&&(this.translations[s].chapters.Ps=bcv_utils.shallow_clone_array(this.translations.default.chapters.Ps)),!0===e)t=null!=this.translations[s].chapters.Ps151?this.translations[s].chapters.Ps151[0]:this.translations.default.chapters.Ps151[0],this.translations[s].chapters.Ps[150]=t;else 151===this.translations[s].chapters.Ps.length&&this.translations[s].chapters.Ps.pop()}return this}versification_system(e){let s,t;if(null==e||null==this.translations[e])return this;if(null!=this.translations.alternates.default)if("default"===e)for(s of(null!=this.translations.alternates.default.order&&(this.translations.default.order=bcv_utils.shallow_clone(this.translations.alternates.default.order)),Object.keys(this.translations.alternates.default.chapters||{})))t=this.translations.alternates.default.chapters[s],this.translations.default.chapters[s]=bcv_utils.shallow_clone_array(t);else this.versification_system("default");if(null==this.translations.alternates.default&&(this.translations.alternates.default={order:null,chapters:{}}),"default"!==e&&null!=this.translations[e].order&&(null==this.translations.alternates.default.order&&(this.translations.alternates.default.order=bcv_utils.shallow_clone(this.translations.default.order)),this.translations.default.order=bcv_utils.shallow_clone(this.translations[e].order)),"default"!==e&&null!=this.translations[e].chapters)for(s of Object.keys(this.translations[e].chapters||{}))t=this.translations[e].chapters[s],null==this.translations.alternates.default.chapters[s]&&(this.translations.alternates.default.chapters[s]=bcv_utils.shallow_clone_array(this.translations.default.chapters[s])),this.translations.default.chapters[s]=bcv_utils.shallow_clone_array(t);return this.options.versification_system=e,this.include_apocrypha(this.options.include_apocrypha),this}case_sensitive(e){return null==e||"none"!==e&&"books"!==e||e===this.options.case_sensitive||(this.options.case_sensitive=e,this.regexps.books=this.regexps.get_books(this.options.include_apocrypha,e)),this}translation_info(e){let s;null==e&&(e="default"),null!=e&&null!=(null!=this.translations.aliases[e]?this.translations.aliases[e].alias:void 0)&&(e=this.translations.aliases[e].alias),null!=e&&null!=this.translations[e]||(e="default");const t=this.options.versification_system;e!==t&&this.versification_system(e);const a={alias:e,books:[],chapters:{},order:bcv_utils.shallow_clone(this.translations.default.order)};for(s of Object.keys(this.translations.default.chapters||{})){var n=this.translations.default.chapters[s];a.chapters[s]=bcv_utils.shallow_clone_array(n)}for(s of Object.keys(a.order||{})){var r=a.order[s];a.books[r-1]=s}return e!==t&&this.versification_system(t),a}replace_control_characters(e){return e=(e=(e=e.replace(this.regexps.control," ")).replace(/\uFF1A/g,":")).replace(/\uFF1B/g,";"),"replace"===this.options.non_latin_digits_strategy&&(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/[٠۰߀०০੦૦୦0౦೦൦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꩐꯰0]/g,"0")).replace(/[١۱߁१১੧૧୧௧౧೧൧๑໑༡၁႑១᠑᥇᧑᪁᪑᭑᮱᱁᱑꘡꣑꤁꧑꩑꯱1]/g,"1")).replace(/[٢۲߂२২੨૨୨௨౨೨൨๒໒༢၂႒២᠒᥈᧒᪂᪒᭒᮲᱂᱒꘢꣒꤂꧒꩒꯲2]/g,"2")).replace(/[٣۳߃३৩੩૩୩௩౩೩൩๓໓༣၃႓៣᠓᥉᧓᪃᪓᭓᮳᱃᱓꘣꣓꤃꧓꩓꯳3]/g,"3")).replace(/[٤۴߄४৪੪૪୪௪౪೪൪๔໔༤၄႔៤᠔᥊᧔᪄᪔᭔᮴᱄᱔꘤꣔꤄꧔꩔꯴4]/g,"4")).replace(/[٥۵߅५৫੫૫୫௫౫೫൫๕໕༥၅႕៥᠕᥋᧕᪅᪕᭕᮵᱅᱕꘥꣕꤅꧕꩕꯵5]/g,"5")).replace(/[٦۶߆६৬੬૬୬௬౬೬൬๖໖༦၆႖៦᠖᥌᧖᪆᪖᭖᮶᱆᱖꘦꣖꤆꧖꩖꯶6]/g,"6")).replace(/[٧۷߇७৭੭૭୭௭౭೭൭๗໗༧၇႗៧᠗᥍᧗᪇᪗᭗᮷᱇᱗꘧꣗꤇꧗꩗꯷7]/g,"7")).replace(/[٨۸߈८৮੮૮୮௮౮೮൮๘໘༨၈႘៨᠘᥎᧘᪈᪘᭘᮸᱈᱘꘨꣘꤈꧘꩘꯸8]/g,"8")).replace(/[٩۹߉९৯੯૯୯௯౯೯൯๙໙༩၉႙៩᠙᥏᧙᪉᪙᭙᮹᱉᱙꘩꣙꤉꧙꩙꯹9]/g,"9")),e}match_books(e){const s=[];for(var t of Array.from(this.regexps.books)){var a=!1;if(e=e.replace(t.regexp,(function(e,n,r){a=!0,s.push({value:r,parsed:t.osis,type:"book"});const i=null!=t.extra?`/${t.extra}`:"";return`${n}${s.length-1}${i}`})),!0===a&&/^[\s\x1f\d:.,;\-\u2013\u2014]+$/.test(e))break}return[e=e.replace(this.regexps.translations,(function(e){return s.push({value:e,parsed:e.toLowerCase(),type:"translation"}),`${s.length-1}`})),this.get_book_indices(s,e)]}get_book_indices(e,s){let t,a=0;const n=new RegExp("([\\x1f\\x1e])(\\d+)(?:/\\d+)?\\1","g");for(;t=n.exec(s);)e[t[2]].start_index=t.index+a,a+=e[t[2]].value.length-t[0].length;return e}match_passages(e){let s,t=[],a={};for(;s=this.regexps.escaped_passage.exec(e);){let u;var[n,r,i]=Array.from(s),o=r.length;if(s.index+=n.length-o,/\s[2-9]\d\d\s*$|\s\d{4,}\s*$/.test(r)&&(r=r.replace(/\s+\d+\s*$/,"")),/[\d\x1f\x1e)]$/.test(r)||(r=this.replace_match_end(r)),"delete"===this.options.captive_end_digits_strategy){var l=s.index+r.length;e.length>l&&/^\w/.test(e.substr(l,1))&&(r=r.replace(/[\s*]+\d+$/,"")),r=r.replace(/(\x1e[)\]]?)[\s*]*\d+$/,"$1")}var h=""===(r=r.replace(/[A-Z]+/g,(e=>e.toLowerCase()))).substr(0,1)?0:r.split("")[0].length,c={value:grammar.parse(r,{punctuation_strategy:this.options.punctuation_strategy}),type:"base",start_index:this.passage.books[i].start_index-h,match:r};"full"===this.options.book_alone_strategy&&"include"===this.options.book_range_strategy&&"b"===c.value[0].type&&(1===c.value.length||c.value.length>1&&"translation_sequence"===c.value[1].type)&&0===h&&(1===this.passage.books[i].parsed.length||this.passage.books[i].parsed.length>1&&"translation"===this.passage.books[i].parsed[1].type)&&/^[234]/.test(this.passage.books[i].parsed[0])&&this.create_book_range(e,c,i),[u,a]=Array.from(this.passage.handle_obj(c)),t=t.concat(u);var p=this.adjust_regexp_end(u,o,r.length);p>0&&(this.regexps.escaped_passage.lastIndex-=p)}return[t,a]}adjust_regexp_end(e,s,t){let a=0;return e.length>0?a=s-e[e.length-1].indices[1]-1:s!==t&&(a=s-t),a}replace_match_end(e){let s,t=e.length;for(;s=this.regexps.match_end_split.exec(e);)t=s.index+s[0].length;return t<e.length&&(e=e.substr(0,t)),e}create_book_range(e,s,t){const a=[bcv_parser.prototype.regexps.first,bcv_parser.prototype.regexps.second,bcv_parser.prototype.regexps.third],n=parseInt(this.passage.books[t].parsed[0].substr(0,1),10);for(let o=1,l=n,h=1<=l;h?o<l:o>l;h?o++:o--){var r=o===n-1?bcv_parser.prototype.regexps.range_and:bcv_parser.prototype.regexps.range_only,i=e.match(new RegExp(`(?:^|\\W)(${a[o-1]}\\s*${r}\\s*)\\x1f${t}\\x1f`,"i"));if(null!=i)return this.add_book_range_object(s,i,o)}return!1}add_book_range_object(e,s,t){const{length:a}=s[1];if(e.value[0]={type:"b_range_pre",value:[{type:"b_pre",value:t.toString(),indices:[s.index,s.index+a]},e.value[0]],indices:[0,e.value[0].indices[1]+a]},e.value[0].value[1].indices[0]+=a,e.value[0].value[1].indices[1]+=a,e.start_index-=a,e.match=s[1]+e.match,1!==e.value.length)return(()=>{const s=[];for(let t=1,n=e.value.length,r=1<=n;r?t<n:t>n;r?t++:t--)null!=e.value[t].value&&(null!=(null!=e.value[t].value[0]?e.value[t].value[0].indices:void 0)&&(e.value[t].value[0].indices[0]+=a,e.value[t].value[0].indices[1]+=a),e.value[t].indices[0]+=a,s.push(e.value[t].indices[1]+=a));return s})()}osis(){const e=[];for(var s of Array.from(this.parsed_entities()))s.osis.length>0&&e.push(s.osis);return e.join(",")}osis_and_translations(){const e=[];for(var s of Array.from(this.parsed_entities()))s.osis.length>0&&e.push([s.osis,s.translations.join(",")]);return e}osis_and_indices(){const e=[];for(var s of Array.from(this.parsed_entities()))if(s.osis.length>0){const t={osis:s.osis,translations:s.translations,indices:s.indices};null!=s.osises&&(t.osises=s.osises),e.push(t)}return e}parsed_entities(){let e=[];for(let d=0,b=this.entities.length,v=0<=b;v?d<b:d>b;v?d++:d--){var s=this.entities[d];if(s.type&&"translation_sequence"===s.type&&e.length>0&&d===e[e.length-1].entity_id+1&&(e[e.length-1].indices[1]=s.absolute_indices[1]),null!=s.passages&&!("b"===s.type&&"ignore"===this.options.book_alone_strategy||"b_range"===s.type&&"ignore"===this.options.book_range_strategy||"context"===s.type)){var t=[],a=null;if(null!=s.passages[0].translations)for(var n of Array.from(s.passages[0].translations)){var r=(null!=n.osis?n.osis.length:void 0)>0?n.osis:"";null==a&&(a=n.alias),t.push(r)}else t=[""],a="default";for(var i=[],o=[],{length:l}=s.passages,h=0,c=h,p=l,u=0<=p;u?h<p:h>p;u?h++:h--,c=h){var g=s.passages[c];if(null==g.type&&(g.type=s.type),!1!==g.valid.valid||("ignore"===this.options.invalid_sequence_strategy&&"sequence"===s.type&&this.snap_sequence("ignore",s,i,c,l),"ignore"!==this.options.invalid_passage_strategy))if("b"!==g.type&&"b_range"!==g.type||"ignore"!==this.options.book_sequence_strategy||"sequence"!==s.type)if("b_range_start"!==g.type&&"range_end_b"!==g.type||"ignore"!==this.options.book_range_strategy||this.snap_range(s,c),null==g.absolute_indices&&(g.absolute_indices=s.absolute_indices),"separate-chapters"===this.options.consecutive_combination_strategy&&g.start.c!==g.end.c){const e=this.get_osises_by_chapter({osis:"",start:g.start,end:g.end},a);i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,a):"",osises:e,type:g.type,indices:g.absolute_indices,translations:t,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]})}else i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,a):"",type:g.type,indices:g.absolute_indices,translations:t,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]});else this.snap_sequence("book",s,i,c,l)}if(0!==i.length||0!==o.length){if("combine"!==this.options.consecutive_combination_strategy&&"separate-chapters"!==this.options.consecutive_combination_strategy||(i.length>1&&(i=this.combine_consecutive_passages(i,a)),i=i.concat(o).sort(((e,s)=>e.indices[0]-s.indices[0]))),"separate-chapters"===this.options.consecutive_combination_strategy)for(x of Array.from(i)){if(0===x.osis.length)continue;const e=this.get_osises_by_chapter(x,a);e.length>1&&(x.osises=e)}if("separate"===this.options.sequence_combination_strategy)e=e.concat(i);else{var x,_=[],f=i.length-1;for(x of(null!=i[f].enclosed_indices&&i[f].enclosed_indices[1]>=0&&(s.absolute_indices[1]=i[f].enclosed_indices[1]),Array.from(i)))x.osis.length>0&&_.push(x.osis);let n=[];if("separate-chapters"===this.options.consecutive_combination_strategy)for(x of Array.from(i))0!==x.osis.length&&(n=null!=x.osises?n.concat(x.osises):n.concat(this.get_osises_by_chapter(x,a)));const r={osis:_.join(","),indices:s.absolute_indices,translations:t,entity_id:d,entities:i};n.length>0&&(r.osises=n),e.push(r)}}}}return e}to_osis(e,s,t){let a;null==s.c&&null==s.v&&e.b===s.b&&null==e.c&&null==e.v&&"first_chapter"===this.options.book_alone_strategy&&(s.c=1);const n={start:"",end:""};return null==e.c&&(e.c=1),null==e.v&&(e.v=1),null==s.c&&(this.options.passage_existence_strategy.indexOf("c")>=0||null!=this.passage.translations[t].chapters[s.b]&&1===this.passage.translations[t].chapters[s.b].length?s.c=this.passage.translations[t].chapters[s.b].length:s.c=999),null==s.v&&(null!=this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0?s.v=this.passage.translations[t].chapters[s.b][s.c-1]:s.v=999),this.options.include_apocrypha&&"b"===this.options.ps151_strategy&&(151===e.c&&"Ps"===e.b||151===s.c&&"Ps"===s.b)&&this.fix_ps151(e,s,t),"b"===this.options.osis_compaction_strategy&&1===e.c&&1===e.v&&(999===s.c&&999===s.v||s.c===this.passage.translations[t].chapters[s.b].length&&this.options.passage_existence_strategy.indexOf("c")>=0&&(999===s.v||s.v===this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0))?(n.start=e.b,n.end=s.b):this.options.osis_compaction_strategy.length<=2&&1===e.v&&(999===s.v||s.v===this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0)?(n.start=e.b+"."+e.c.toString(),n.end=s.b+"."+s.c.toString()):(n.start=e.b+"."+e.c.toString()+"."+e.v.toString(),n.end=s.b+"."+s.c.toString()+"."+s.v.toString()),a=n.start===n.end?n.start:n.start+"-"+n.end,null!=e.extra&&(a=e.extra+","+a),null!=s.extra&&(a+=","+s.extra),a}get_osises_by_chapter(e,s){if(null==e||null==e.start||null==e.end||null==e.osis)return[];if(null==e.start.b||null==e.end.b||null==e.start.c||null==e.end.c)return e.osis.length>0?[e.osis]:[];if(e.start.b!==e.end.b||e.start.c===e.end.c)return e.osis.length>0?[e.osis]:[];const t=[];for(let a=e.start.c,n=e.end.c,r=e.start.c<=n;r?a<=n:a>=n;r?a++:a--){const n=a===e.start.c?e.start.v:1,r=a===e.end.c?e.end.v:this.translations[s].chapters[e.start.b][a-1],i={b:e.start.b,c:a,v:"bcv"===e.start.type?n:null,type:e.start.type},o={b:e.end.b,c:a,v:"bcv"===e.start.type?r:null,type:e.start.type};t.push(this.to_osis(i,o,s))}return t}fix_ps151(e,s,t){return"default"!==t&&null==(null!=this.translations[t]?this.translations[t].chapters.Ps151:void 0)&&this.passage.promote_book_to_translation("Ps151",t),151===e.c&&"Ps"===e.b?151===s.c&&"Ps"===s.b?(e.b="Ps151",e.c=1,s.b="Ps151",s.c=1):(e.extra=this.to_osis({b:"Ps151",c:1,v:e.v},{b:"Ps151",c:1,v:this.passage.translations[t].chapters.Ps151[0]},t),e.b="Prov",e.c=1,e.v=1):(s.extra=this.to_osis({b:"Ps151",c:1,v:1},{b:"Ps151",c:1,v:s.v},t),s.c=150,s.v=this.passage.translations[t].chapters.Ps[149])}combine_consecutive_passages(e,s){const t=[];let a={};const n=e.length-1;let r=-1,i=!1;for(let c=0,p=n,u=0<=p;u?c<=p:c>=p;u?c++:c--){var o=e[c];if(o.osis.length>0){var l=t.length-1,h=!1;o.enclosed_indices[0]!==r&&(r=o.enclosed_indices[0]),r>=0&&(c===n||e[c+1].enclosed_indices[0]!==o.enclosed_indices[0])&&(h=!0,i=!0),this.is_verse_consecutive(a,o.start,s)?(t[l].end=o.end,t[l].is_enclosed_last=h,t[l].indices[1]=o.indices[1],t[l].enclosed_indices[1]=o.enclosed_indices[1],t[l].osis=this.to_osis(t[l].start,o.end,s)):t.push(o),a={b:o.end.b,c:o.end.c,v:o.end.v}}else t.push(o),a={}}return i&&this.snap_enclosed_indices(t),t}snap_enclosed_indices(e){for(var s of Array.from(e))null!=s.is_enclosed_last&&(s.enclosed_indices[0]<0&&s.is_enclosed_last&&(s.indices[1]=s.enclosed_indices[1]),delete s.is_enclosed_last);return e}is_verse_consecutive(e,s,t){if(null==e.b)return!1;const a=null!=this.passage.translations[t].order?this.passage.translations[t].order:this.passage.translations.default.order;if(e.b===s.b){if(e.c===s.c){if(e.v===s.v-1)return!0}else if(1===s.v&&e.c===s.c-1&&e.v===this.passage.translations[t].chapters[e.b][e.c-1])return!0}else if(1===s.c&&1===s.v&&a[e.b]===a[s.b]-1&&e.c===this.passage.translations[t].chapters[e.b].length&&e.v===this.passage.translations[t].chapters[e.b][e.c-1])return!0;return!1}snap_range(e,s){let t,a,n;"b_range_start"===e.type||"sequence"===e.type&&"b_range_start"===e.passages[s].type?(t=1,a="end",n="b_range_start"):(t=0,a="start",n="range_end_b");const r="end"===a?"start":"end";for(var i of Object.keys(e.passages[s][r]||{}))e.passages[s][r][i]=e.passages[s][a][i];if("sequence"===e.type){s>=e.value.length&&(s=e.value.length-1);const t=this.passage.pluck(n,e.value[s]);if(null!=t){const a=this.snap_range(t,0);0===s?e.absolute_indices[0]=a.absolute_indices[0]:e.absolute_indices[1]=a.absolute_indices[1]}}else e.original_type=e.type,e.type=e.value[t].type,e.absolute_indices=[e.value[t].absolute_indices[0],e.value[t].absolute_indices[1]];return e}snap_sequence(e,s,t,a,n){const r=s.passages[a];return r.absolute_indices[0]===s.absolute_indices[0]&&a<n-1&&this.get_snap_sequence_i(s.passages,a,n)!==a?(s.absolute_indices[0]=s.passages[a+1].absolute_indices[0],this.remove_absolute_indices(s.passages,a+1)):r.absolute_indices[1]===s.absolute_indices[1]&&a>0?s.absolute_indices[1]=t.length>0?t[t.length-1].indices[1]:s.passages[a-1].absolute_indices[1]:"book"===e&&a<n-1&&!this.starts_with_book(s.passages[a+1])&&(s.passages[a+1].absolute_indices[0]=r.absolute_indices[0]),s}get_snap_sequence_i(e,s,t){for(let a=s+1,n=a,r=t,i=a<=r;i?n<r:n>r;i?n++:n--){if(this.starts_with_book(e[n]))return n;if(e[n].valid.valid)return s}return s}starts_with_book(e){return"b"===e.type.substr(0,1)||("range"===e.type||"ff"===e.type)&&"b"===e.start.type.substr(0,1)}remove_absolute_indices(e,s){if(e[s].enclosed_absolute_indices[0]<0)return!1;const[t,a]=Array.from(e[s].enclosed_absolute_indices);for(var n of Array.from(e.slice(s))){if(n.enclosed_absolute_indices[0]!==t||n.enclosed_absolute_indices[1]!==a)break;n.enclosed_absolute_indices=[-1,-1]}return!0}}bcv_parser.initClass(),this.bcv_parser=bcv_parser;class bcv_passage{static initClass(){this.prototype.books=[],this.prototype.indices={},this.prototype.options={},this.prototype.translations={}}handle_array(e,s,t){for(var a of(null==s&&(s=[]),null==t&&(t={}),Array.from(e)))if(null!=a){if("stop"===a.type)break;[s,t]=Array.from(this.handle_obj(a,s,t))}return[s,t]}handle_obj(e,s,t){return null!=e.type&&null!=this[e.type]?this[e.type](e,s,t):[s,t]}b(e,s,t){let a;e.start_context=bcv_utils.shallow_clone(t),e.passages=[];const n=[];for(a of Array.from(this.books[e.value].parsed)){var r=this.validate_ref(e.start_context.translations,{b:a}),i={start:{b:a},end:{b:a},valid:r};0===e.passages.length&&r.valid?e.passages.push(i):n.push(i)}return 0===e.passages.length&&e.passages.push(n.shift()),n.length>0&&(e.passages[0].alternates=n),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),t={b:e.passages[0].start.b},null!=e.start_context.translations&&(t.translations=e.start_context.translations),[s,t]}b_range(e,s,t){return this.range(e,s,t)}b_range_pre(e,s,t){let a,n;e.start_context=bcv_utils.shallow_clone(t),e.passages=[];const r=this.pluck("b",e.value);a=this.b(r,[],t),[n]=Array.from(a[0]),t=a[1],null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices));const i={b:e.value[0].value+n.passages[0].start.b.substr(1),type:"b"};return e.passages=[{start:i,end:n.passages[0].end,valid:n.passages[0].valid}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),[s,t]}b_range_start(e,s,t){return this.range(e,s,t)}base(e,s,t){return this.indices=this.calculate_indices(e.match,e.start_index),this.handle_array(e.value,s,t)}bc(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.passages=[],this.reset_context(t,["b","c","v"]);const a=this.pluck("c",e.value).value,n=[];for(var r of Array.from(this.books[this.pluck("b",e.value).value].parsed)){var i="c",o=this.validate_ref(e.start_context.translations,{b:r,c:a}),l={start:{b:r},end:{b:r},valid:o};(o.messages.start_chapter_not_exist_in_single_chapter_book||o.messages.start_chapter_1)&&(l.valid=this.validate_ref(e.start_context.translations,{b:r,v:a}),o.messages.start_chapter_not_exist_in_single_chapter_book&&(l.valid.messages.start_chapter_not_exist_in_single_chapter_book=1),l.start.c=1,l.end.c=1,i="v"),l.start[i]=a,[l.start.c,l.start.v]=Array.from(this.fix_start_zeroes(l.valid,l.start.c,l.start.v)),null==l.start.v&&delete l.start.v,l.end[i]=l.start[i],0===e.passages.length&&l.valid.valid?e.passages.push(l):n.push(l)}return 0===e.passages.length&&e.passages.push(n.shift()),n.length>0&&(e.passages[0].alternates=n),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(t,["b","c","v"],e.passages[0].start),s.push(e),[s,t]}bc_title(e,s,t){let a,n;if(e.start_context=bcv_utils.shallow_clone(t),a=this.bc(this.pluck("bc",e.value),[],t),[n]=Array.from(a[0]),t=a[1],"Ps"!==n.passages[0].start.b.substr(0,2)&&null!=n.passages[0].alternates)for(let e=0,s=n.passages[0].alternates.length,t=0<=s;t?e<s:e>s;t?e++:e--)if("Ps"===n.passages[0].alternates[e].start.b.substr(0,2)){n.passages[0]=n.passages[0].alternates[e];break}if("Ps"!==n.passages[0].start.b.substr(0,2))return s.push(n),[s,t];this.books[this.pluck("b",n.value).value].parsed=["Ps"];let r=this.pluck("title",e.value);return null==r&&(r=this.pluck("v",e.value)),e.value[1]={type:"v",value:[{type:"integer",value:1,indices:r.indices}],indices:r.indices},e.type="bcv",this.bcv(e,s,e.start_context)}bcv(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.passages=[],this.reset_context(t,["b","c","v"]);const a=this.pluck("bc",e.value);let n=this.pluck("c",a.value).value,r=this.pluck("v",e.value).value;const i=[];for(var o of Array.from(this.books[this.pluck("b",a.value).value].parsed)){var l=this.validate_ref(e.start_context.translations,{b:o,c:n,v:r});[n,r]=Array.from(this.fix_start_zeroes(l,n,r));var h={start:{b:o,c:n,v:r},end:{b:o,c:n,v:r},valid:l};0===e.passages.length&&l.valid?e.passages.push(h):i.push(h)}return 0===e.passages.length&&e.passages.push(i.shift()),i.length>0&&(e.passages[0].alternates=i),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(t,["b","c","v"],e.passages[0].start),s.push(e),[s,t]}bv(e,s,t){let a;e.start_context=bcv_utils.shallow_clone(t);const[n,r]=Array.from(e.value);let i={indices:e.indices,value:[{type:"bc",value:[n,{type:"c",value:[{type:"integer",value:1}]}]},r]};return a=this.bcv(i,[],t),[i]=Array.from(a[0]),t=a[1],e.passages=i.passages,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),[s,t]}c(e,s,t){e.start_context=bcv_utils.shallow_clone(t);let a="integer"===e.type?e.value:this.pluck("integer",e.value).value;const n=this.validate_ref(e.start_context.translations,{b:t.b,c:a});return!n.valid&&n.messages.start_chapter_not_exist_in_single_chapter_book?this.v(e,s,t):([a]=Array.from(this.fix_start_zeroes(n,a)),e.passages=[{start:{b:t.b,c:a},end:{b:t.b,c:a},valid:n}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),t.c=a,this.reset_context(t,["v"]),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[s,t])}c_psalm(e,s,t){e.type="bc";const a=parseInt(this.books[e.value].value.match(/^\d+/)[0],10);return e.value=[{type:"b",value:e.value,indices:e.indices},{type:"c",value:[{type:"integer",value:a,indices:e.indices}],indices:e.indices}],this.bc(e,s,t)}c_title(e,s,t){if(e.start_context=bcv_utils.shallow_clone(t),"Ps"!==t.b)return this.c(e.value[0],s,t);const a=this.pluck("title",e.value);return e.value[1]={type:"v",value:[{type:"integer",value:1,indices:a.indices}],indices:a.indices},e.type="cv",this.cv(e,s,e.start_context)}cv(e,s,t){e.start_context=bcv_utils.shallow_clone(t);let a=this.pluck("c",e.value).value,n=this.pluck("v",e.value).value;const r=this.validate_ref(e.start_context.translations,{b:t.b,c:a,v:n});return[a,n]=Array.from(this.fix_start_zeroes(r,a,n)),e.passages=[{start:{b:t.b,c:a,v:n},end:{b:t.b,c:a,v:n},valid:r}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),t.c=a,t.v=n,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[s,t]}cb_range(e,s,t){e.type="range";const[a,n,r]=Array.from(e.value);return e.value=[{type:"bc",value:[a,n],indices:e.indices},r],r.indices[1]=e.indices[1],this.range(e,s,t)}context(e,s,t){for(var a of(e.start_context=bcv_utils.shallow_clone(t),e.passages=[],Object.keys(this.books[e.value].context||{})))t[a]=this.books[e.value].context[a];return s.push(e),[s,t]}cv_psalm(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.type="bcv";const[a,n]=Array.from(e.value),r=this.c_psalm(a,[],e.start_context),[i]=Array.from(r[0]);return e.value=[i,n],this.bcv(e,s,t)}ff(e,s,t){let a;return e.start_context=bcv_utils.shallow_clone(t),e.value.push({type:"integer",indices:e.indices,value:999}),a=this.range(e,[],e.start_context),[e]=Array.from(a[0]),t=a[1],e.value[0].indices=e.value[1].indices,e.value[0].absolute_indices=e.value[1].absolute_indices,e.value.pop(),null!=e.passages[0].valid.messages.end_verse_not_exist&&delete e.passages[0].valid.messages.end_verse_not_exist,null!=e.passages[0].valid.messages.end_chapter_not_exist&&delete e.passages[0].valid.messages.end_chapter_not_exist,null!=e.passages[0].end.original_c&&delete e.passages[0].end.original_c,s.push(e),[s,t]}integer_title(e,s,t){return e.start_context=bcv_utils.shallow_clone(t),"Ps"!==t.b?this.integer(e.value[0],s,t):(e.value[0]={type:"c",value:[e.value[0]],indices:[e.value[0].indices[0],e.value[0].indices[1]]},e.value[1].type="v",e.value[1].original_type="title",e.value[1].value=[{type:"integer",value:1,indices:e.value[1].value.indices}],e.type="cv",this.cv(e,s,e.start_context))}integer(e,s,t){return null!=t.v?this.v(e,s,t):this.c(e,s,t)}next_v(e,s,t){let a,n;e.start_context=bcv_utils.shallow_clone(t);let r=this.pluck_last_recursively("integer",e.value);if(null==r&&(r={value:1}),e.value.push({type:"integer",indices:e.indices,value:r.value+1}),a=this.range(e,[],e.start_context),[n]=Array.from(a[0]),t=a[1],null!=n.passages[0].valid.messages.end_verse_not_exist&&null==n.passages[0].valid.messages.start_verse_not_exist&&null==n.passages[0].valid.messages.start_chapter_not_exist&&null!=t.c){let s;e.value.pop(),e.value.push({type:"cv",indices:e.indices,value:[{type:"c",value:[{type:"integer",value:t.c+1,indices:e.indices}],indices:e.indices},{type:"v",value:[{type:"integer",value:1,indices:e.indices}],indices:e.indices}]}),s=this.range(e,[],e.start_context),[n]=Array.from(s[0]),t=s[1]}return n.value[0].indices=n.value[1].indices,n.value[0].absolute_indices=n.value[1].absolute_indices,n.value.pop(),null!=n.passages[0].valid.messages.end_verse_not_exist&&delete n.passages[0].valid.messages.end_verse_not_exist,null!=n.passages[0].valid.messages.end_chapter_not_exist&&delete n.passages[0].valid.messages.end_chapter_not_exist,null!=n.passages[0].end.original_c&&delete n.passages[0].end.original_c,s.push(n),[s,t]}sequence(e,s,t){for(var a of(e.start_context=bcv_utils.shallow_clone(t),e.passages=[],Array.from(e.value))){var n,r;for(var i of(n=this.handle_array(a,[],t),[r]=Array.from(n[0]),t=n[1],Array.from(r.passages)))null==i.type&&(i.type=r.type),null==i.absolute_indices&&(i.absolute_indices=r.absolute_indices),null!=r.start_context.translations&&(i.translations=r.start_context.translations),i.enclosed_absolute_indices="sequence_post_enclosed"===r.type?r.absolute_indices:[-1,-1],e.passages.push(i)}return null==e.absolute_indices&&(e.passages.length>0&&"sequence"===e.type?e.absolute_indices=[e.passages[0].absolute_indices[0],e.passages[e.passages.length-1].absolute_indices[1]]:e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),[s,t]}sequence_post_enclosed(e,s,t){return this.sequence(e,s,t)}v(e,s,t){let a,n="integer"===e.type?e.value:this.pluck("integer",e.value).value;e.start_context=bcv_utils.shallow_clone(t);const r=null!=t.c?t.c:1,i=this.validate_ref(e.start_context.translations,{b:t.b,c:r,v:n});return[a,n]=Array.from(this.fix_start_zeroes(i,0,n)),e.passages=[{start:{b:t.b,c:r,v:n},end:{b:t.b,c:r,v:n},valid:i}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),t.v=n,[s,t]}range(e,s,t){let a,n;e.start_context=bcv_utils.shallow_clone(t);let[r,i]=Array.from(e.value);if(a=this.handle_obj(r,[],t),[r]=Array.from(a[0]),t=a[1],"v"===i.type&&("bc"===r.type&&!__guard__(__guard__(__guard__(null!=r.passages?r.passages[0]:void 0,(e=>e.valid)),(e=>e.messages)),(e=>e.start_chapter_not_exist_in_single_chapter_book))||"c"===r.type)&&"verse"===this.options.end_range_digits_strategy)return e.value[0]=r,this.range_change_integer_end(e,s);n=this.handle_obj(i,[],t),[i]=Array.from(n[0]),t=n[1],e.value=[r,i],e.indices=[r.indices[0],i.indices[1]],delete e.absolute_indices;const o={b:r.passages[0].start.b,c:r.passages[0].start.c,v:r.passages[0].start.v,type:r.type},l={b:i.passages[0].end.b,c:i.passages[0].end.c,v:i.passages[0].end.v,type:i.type};i.passages[0].valid.messages.start_chapter_is_zero&&(l.c=0),i.passages[0].valid.messages.start_verse_is_zero&&(l.v=0);const h=this.validate_ref(e.start_context.translations,o,l);if(!h.valid)return this.range_handle_invalid(h,e,r,o,i,l,s);{const[t,a]=Array.from(this.range_handle_valid(h,e,r,o,i,l,s));if(t)return a}return null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),e.passages=[{start:o,end:l,valid:h}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),"b"===o.type?"b"===l.type?e.type="b_range":e.type="b_range_start":"b"===l.type&&(e.type="range_end_b"),s.push(e),[s,t]}range_change_end(e,s,t){let a;const[n,r]=Array.from(e.value);return"integer"===r.type?(r.original_value=r.value,r.value=t):"v"===r.type?(a=this.pluck("integer",r.value),a.original_value=a.value,a.value=t):"cv"===r.type&&(a=this.pluck("c",r.value),a.original_value=a.value,a.value=t),this.handle_obj(e,s,e.start_context)}range_change_integer_end(e,s){const[t,a]=Array.from(e.value);return null==e.original_type&&(e.original_type=e.type),null==e.original_value&&(e.original_value=[t,a]),e.type="integer"===t.type?"cv":t.type+"v","integer"===t.type&&(e.value[0]={type:"c",value:[t],indices:t.indices}),"integer"===a.type&&(e.value[1]={type:"v",value:[a],indices:a.indices}),this.handle_obj(e,s,e.start_context)}range_check_new_end(e,s,t,a){let n=0,r=null;if(a.messages.end_chapter_before_start?r="c":a.messages.end_verse_before_start&&(r="v"),null!=r&&(n=this.range_get_new_end_value(s,t,a,r)),n>0){const s={b:t.b,c:t.c,v:t.v};s[r]=n;this.validate_ref(e,s).valid||(n=0)}return n}range_end_b(e,s,t){return this.range(e,s,t)}range_get_new_end_value(e,s,t,a){let n=0;return"c"===a&&t.messages.end_chapter_is_zero||"v"===a&&t.messages.end_verse_is_zero||(e[a]>=10&&s[a]<10&&e[a]-10*Math.floor(e[a]/10)<s[a]?n=s[a]+10*Math.floor(e[a]/10):e[a]>=100&&s[a]<100&&e[a]-100<s[a]&&(n=s[a]+100)),n}range_handle_invalid(e,s,t,a,n,r,i){if(!1===e.valid&&(e.messages.end_chapter_before_start||e.messages.end_verse_before_start)&&("integer"===n.type||"v"===n.type)||!1===e.valid&&e.messages.end_chapter_before_start&&"cv"===n.type){const t=this.range_check_new_end(s.start_context.translations,a,r,e);if(t>0)return this.range_change_end(s,i,t)}if("verse"===this.options.end_range_digits_strategy&&null==a.v&&("integer"===n.type||"v"===n.type)){const e="v"===n.type?this.pluck("integer",n.value):n.value;if(this.validate_ref(s.start_context.translations,{b:a.b,c:a.c,v:e}).valid)return this.range_change_integer_end(s,i)}return null==s.original_type&&(s.original_type=s.type),s.type="sequence",[s.original_value,s.value]=Array.from([[t,n],[[t],[n]]]),this.sequence(s,i,s.start_context)}range_handle_valid(e,s,t,a,n,r,i){if(e.messages.end_chapter_not_exist&&"verse"===this.options.end_range_digits_strategy&&null==a.v&&("integer"===n.type||"v"===n.type)&&this.options.passage_existence_strategy.indexOf("v")>=0){const e="v"===n.type?this.pluck("integer",n.value):n.value;if(this.validate_ref(s.start_context.translations,{b:a.b,c:a.c,v:e}).valid)return[!0,this.range_change_integer_end(s,i)]}return this.range_validate(e,a,r,s),[!1,null]}range_validate(e,s,t,a){return e.messages.end_chapter_not_exist||e.messages.end_chapter_not_exist_in_single_chapter_book?(t.original_c=t.c,t.c=e.messages.end_chapter_not_exist?e.messages.end_chapter_not_exist:e.messages.end_chapter_not_exist_in_single_chapter_book,null!=t.v&&(t.v=this.validate_ref(a.start_context.translations,{b:t.b,c:t.c,v:999}).messages.end_verse_not_exist,delete e.messages.end_verse_is_zero)):e.messages.end_verse_not_exist&&(t.original_v=t.v,t.v=e.messages.end_verse_not_exist),e.messages.end_verse_is_zero&&"allow"!==this.options.zero_verse_strategy&&(t.v=e.messages.end_verse_is_zero),e.messages.end_chapter_is_zero&&(t.c=e.messages.end_chapter_is_zero),[s.c,s.v]=Array.from(this.fix_start_zeroes(e,s.c,s.v)),!0}translation_sequence(e,s,t){e.start_context=bcv_utils.shallow_clone(t);const a=[];for(var n of(a.push({translation:this.books[e.value[0].value].parsed}),Array.from(e.value[1])))null!=(n=this.books[this.pluck("translation",n).value].parsed)&&a.push({translation:n});for(var r of Array.from(a))null!=this.translations.aliases[r.translation]?(r.alias=this.translations.aliases[r.translation].alias,r.osis=this.translations.aliases[r.translation].osis||r.translation.toUpperCase()):(r.alias="default",r.osis=r.translation.toUpperCase());return s.length>0&&(t=this.translation_sequence_apply(s,a)),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),this.reset_context(t,["translations"]),[s,t]}translation_sequence_apply(e,s){let t,a=0;for(let s=e.length-1,t=s,n=s<=0;n?t<=0:t>=0;n?t++:t--)if(null!=e[t].original_type&&(e[t].type=e[t].original_type),null!=e[t].original_value&&(e[t].value=e[t].original_value),"translation_sequence"===e[t].type){a=t+1;break}if(a<e.length){let n;e[a].start_context.translations=s,[n,t]=Array.from(this.handle_array(e.slice(a),[],e[a].start_context))}else t=bcv_utils.shallow_clone(e[e.length-1].start_context);return t}pluck(e,s){for(var t of Array.from(s))if(null!=t&&null!=t.type&&t.type===e)return"c"===e||"v"===e?this.pluck("integer",t.value):t;return null}pluck_last_recursively(e,s){for(let n=s.length-1;n>=0;n--){var t=s[n];if(null!=t&&null!=t.type){if(t.type===e)return this.pluck(e,[t]);var a=this.pluck_last_recursively(e,t.value);if(null!=a)return a}}return null}set_context_from_object(e,s,t){return(()=>{const a=[];for(var n of Array.from(s))null!=t[n]&&a.push(e[n]=t[n]);return a})()}reset_context(e,s){return Array.from(s).map((s=>delete e[s]))}fix_start_zeroes(e,s,t){return e.messages.start_chapter_is_zero&&"upgrade"===this.options.zero_chapter_strategy&&(s=e.messages.start_chapter_is_zero),e.messages.start_verse_is_zero&&"upgrade"===this.options.zero_verse_strategy&&(t=e.messages.start_verse_is_zero),[s,t]}calculate_indices(e,s){let t,a="book";const n=[];let r=0;s=parseInt(s,10);let i=[e];for(var o of["",""]){var l=[];for(t of Array.from(i))l=l.concat(t.split(o));i=l}for(t of Array.from(i)){var h;a="book"===a?"rest":"book";var c=t.length;0!==c&&("book"===a?(t=t.replace(/\/\d+$/,""),h=r+c,n.length>0&&n[n.length-1].index===s?n[n.length-1].end=h:n.push({start:r,end:h,index:s}),r+=c+2,s=this.books[t].start_index+this.books[t].value.length-r,n.push({start:h+1,end:h+1,index:s})):(h=r+c-1,n.length>0&&n[n.length-1].index===s?n[n.length-1].end=h:n.push({start:r,end:h,index:s}),r+=c))}return n}get_absolute_indices(...e){const[s,t]=Array.from(e[0]);let a=null,n=null;for(var r of Array.from(this.indices))if(null===a&&r.start<=s&&s<=r.end&&(a=s+r.index),r.start<=t&&t<=r.end){n=t+r.index+1;break}return[a,n]}validate_ref(e,s,t){null!=e&&e.length>0||(e=[{translation:"default",osis:"",alias:"default"}]);let a=!1;const n={};for(var r of Array.from(e))if(null==r.alias&&(r.alias="default"),null!=r.alias){null==this.translations.aliases[r.alias]&&(r.alias="default",null==n.translation_unknown&&(n.translation_unknown=[]),n.translation_unknown.push(r));var[i]=Array.from(this.validate_start_ref(r.alias,s,n));t&&([i]=Array.from(this.validate_end_ref(r.alias,s,t,i,n))),!0===i&&(a=!0)}else null==n.translation_invalid&&(n.translation_invalid=[]),n.translation_invalid.push(r);return{valid:a,messages:n}}validate_start_ref(e,s,t){let a=!0;"default"!==e&&null==(null!=this.translations[e]?this.translations[e].chapters[s.b]:void 0)&&this.promote_book_to_translation(s.b,e);const n=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";if(null!=s.v&&(s.v=parseInt(s.v,10)),null!=this.translations[n].order[s.b]){if(null==s.c&&(s.c=1),s.c=parseInt(s.c,10),isNaN(s.c))return a=!1,t.start_chapter_not_numeric=!0,[a,t];0===s.c&&(t.start_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?a=!1:s.c=1),null!=s.v&&0===s.v&&(t.start_verse_is_zero=1,"error"===this.options.zero_verse_strategy?a=!1:"upgrade"===this.options.zero_verse_strategy&&(s.v=1)),s.c>0&&null!=this.translations[e].chapters[s.b][s.c-1]?null!=s.v?isNaN(s.v)?(a=!1,t.start_verse_not_numeric=!0):s.v>this.translations[e].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(a=!1,t.start_verse_not_exist=this.translations[e].chapters[s.b][s.c-1]):1===s.c&&"verse"===this.options.single_chapter_1_strategy&&1===this.translations[e].chapters[s.b].length&&(t.start_chapter_1=1):1!==s.c&&1===this.translations[e].chapters[s.b].length?(a=!1,t.start_chapter_not_exist_in_single_chapter_book=1):s.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(a=!1,t.start_chapter_not_exist=this.translations[e].chapters[s.b].length)}else null==s.b?(a=!1,t.start_book_not_defined=!0):(this.options.passage_existence_strategy.indexOf("b")>=0&&(a=!1),t.start_book_not_exist=!0);return[a,t]}validate_end_ref(e,s,t,a,n){const r=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";return null!=t.c&&(t.c=parseInt(t.c,10),isNaN(t.c)?(a=!1,n.end_chapter_not_numeric=!0):0===t.c&&(n.end_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?a=!1:t.c=1)),null!=t.v&&(t.v=parseInt(t.v,10),isNaN(t.v)?(a=!1,n.end_verse_not_numeric=!0):0===t.v&&(n.end_verse_is_zero=1,"error"===this.options.zero_verse_strategy?a=!1:"upgrade"===this.options.zero_verse_strategy&&(t.v=1))),null!=this.translations[r].order[t.b]?(null==t.c&&1===this.translations[e].chapters[t.b].length&&(t.c=1),null!=this.translations[r].order[s.b]&&this.translations[r].order[s.b]>this.translations[r].order[t.b]&&(this.options.passage_existence_strategy.indexOf("b")>=0&&(a=!1),n.end_book_before_start=!0),s.b!==t.b||null==t.c||isNaN(t.c)||(null==s.c&&(s.c=1),!isNaN(parseInt(s.c,10))&&s.c>t.c?(a=!1,n.end_chapter_before_start=!0):s.c!==t.c||null==t.v||isNaN(t.v)||(null==s.v&&(s.v=1),!isNaN(parseInt(s.v,10))&&s.v>t.v&&(a=!1,n.end_verse_before_start=!0))),null==t.c||isNaN(t.c)||null==this.translations[e].chapters[t.b][t.c-1]&&(1===this.translations[e].chapters[t.b].length?n.end_chapter_not_exist_in_single_chapter_book=1:t.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(n.end_chapter_not_exist=this.translations[e].chapters[t.b].length)),null==t.v||isNaN(t.v)||(null==t.c&&(t.c=this.translations[e].chapters[t.b].length),t.v>this.translations[e].chapters[t.b][t.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(n.end_verse_not_exist=this.translations[e].chapters[t.b][t.c-1]))):(a=!1,n.end_book_not_exist=!0),[a,n]}promote_book_to_translation(e,s){if(null==this.translations[s]&&(this.translations[s]={}),null==this.translations[s].chapters&&(this.translations[s].chapters={}),null==this.translations[s].chapters[e])return this.translations[s].chapters[e]=bcv_utils.shallow_clone_array(this.translations.default.chapters[e])}}function __guard__(e,s){return null!=e?s(e):void 0}bcv_passage.initClass();const bcv_utils={shallow_clone(e){if(null==e)return e;const s={};for(const t of Object.keys(e||{})){const a=e[t];s[t]=a}return s},shallow_clone_array(e){if(null==e)return e;const s=[];for(let t=0,a=e.length,n=0<=a;n?t<=a:t>=a;n?t++:t--)void 0!==e[t]&&(s[t]=e[t]);return s}};bcv_parser.prototype.regexps.translations=RegExp("(?:(?:N(?:A(?:B(?:RE)?|SB?)|(?:RS|KJ)V|IR?V|LT)|HCSB|(?:TNI|E[RS]|AS|RS|KJ)V|MSG|LXX|CE[BV]|AMP))\\b","gi"),bcv_parser.prototype.translations={aliases:{ceb:{alias:"ceb"},kjv:{alias:"kjv"},lxx:{alias:"nab"},nab:{alias:"nab"},nabre:{alias:"nab"},nas:{osis:"NASB",alias:"default"},nirv:{alias:"kjv"},niv:{alias:"kjv"},nkjv:{alias:"nkjv"},nlt:{alias:"nlt"},nrsv:{alias:"nrsv"},tniv:{alias:"kjv"},default:{osis:"",alias:"default"}},alternates:{},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]}},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]}},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]}}},bcv_parser.prototype.languages=["en"];const heregex=e=>{let s="",t=!1,a=!1;for(let n=0;n<e.length;n++){const r=e[n];if(a)s+=r,a=!1;else if("\\"!==r)if(t||"["!==r)if(t&&"]"===r)t=!1,s+=r;else if(t||"#"!==r)!t&&/\s/.test(r)||(s+=r);else for(;n<e.length&&"\n"!==e[n];)n+=1;else t=!0,s+=r;else s+=r,a=!0}return s};var grammar;bcv_parser.prototype.regexps.space="[\\s\\xa0]",bcv_parser.prototype.regexps.escaped_passage=RegExp(heregex(String.raw`
1
+ const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.prototype.entities=[],this.prototype.passage=null,this.prototype.regexps={},this.prototype.options={consecutive_combination_strategy:"combine",osis_compaction_strategy:"b",book_sequence_strategy:"ignore",invalid_sequence_strategy:"ignore",sequence_combination_strategy:"combine",punctuation_strategy:"us",invalid_passage_strategy:"ignore",non_latin_digits_strategy:"ignore",passage_existence_strategy:"bcv",zero_chapter_strategy:"error",zero_verse_strategy:"error",single_chapter_1_strategy:"chapter",book_alone_strategy:"ignore",book_range_strategy:"ignore",captive_end_digits_strategy:"delete",end_range_digits_strategy:"verse",include_apocrypha:!1,ps151_strategy:"c",versification_system:"default",case_sensitive:"none"}}constructor(){for(var e of(this.options={},Object.keys(bcv_parser.prototype.options||{}))){var s=bcv_parser.prototype.options[e];this.options[e]=s}this.versification_system(this.options.versification_system)}parse(e){return this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),[this.entities]=Array.from(this.match_passages(e)),this}parse_with_context(e,s){let t;return this.reset(),[s,this.passage.books]=Array.from(this.match_books(this.replace_control_characters(s))),[t,s]=Array.from(this.match_passages(s)),this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),this.passage.books.push({value:"",parsed:[],start_index:0,type:"context",context:s}),e=""+(this.passage.books.length-1)+"/9"+e,[this.entities]=Array.from(this.match_passages(e)),this}reset(){return this.s="",this.entities=[],this.passage?(this.passage.books=[],this.passage.indices={}):(this.passage=new bcv_passage,this.passage.options=this.options,this.passage.translations=this.translations)}set_options(e){for(var s of Object.keys(e||{})){var t=e[s];"include_apocrypha"===s||"versification_system"===s||"case_sensitive"===s?this[s](t):this.options[s]=t}return this}include_apocrypha(e){if(null==e||!0!==e&&!1!==e)return this;for(var s of(this.options.include_apocrypha=e,this.regexps.books=this.regexps.get_books(e,this.options.case_sensitive),Object.keys(this.translations||{}))){var t;if("aliases"!==s&&"alternates"!==s)if(null==this.translations[s].chapters&&(this.translations[s].chapters={}),null==this.translations[s].chapters.Ps&&(this.translations[s].chapters.Ps=bcv_utils.shallow_clone_array(this.translations.default.chapters.Ps)),!0===e)t=null!=this.translations[s].chapters.Ps151?this.translations[s].chapters.Ps151[0]:this.translations.default.chapters.Ps151[0],this.translations[s].chapters.Ps[150]=t;else 151===this.translations[s].chapters.Ps.length&&this.translations[s].chapters.Ps.pop()}return this}versification_system(e){let s,t;if(null==e||null==this.translations[e])return this;if(null!=this.translations.alternates.default)if("default"===e)for(s of(null!=this.translations.alternates.default.order&&(this.translations.default.order=bcv_utils.shallow_clone(this.translations.alternates.default.order)),Object.keys(this.translations.alternates.default.chapters||{})))t=this.translations.alternates.default.chapters[s],this.translations.default.chapters[s]=bcv_utils.shallow_clone_array(t);else this.versification_system("default");if(null==this.translations.alternates.default&&(this.translations.alternates.default={order:null,chapters:{}}),"default"!==e&&null!=this.translations[e].order&&(null==this.translations.alternates.default.order&&(this.translations.alternates.default.order=bcv_utils.shallow_clone(this.translations.default.order)),this.translations.default.order=bcv_utils.shallow_clone(this.translations[e].order)),"default"!==e&&null!=this.translations[e].chapters)for(s of Object.keys(this.translations[e].chapters||{}))t=this.translations[e].chapters[s],null==this.translations.alternates.default.chapters[s]&&(this.translations.alternates.default.chapters[s]=bcv_utils.shallow_clone_array(this.translations.default.chapters[s])),this.translations.default.chapters[s]=bcv_utils.shallow_clone_array(t);return this.options.versification_system=e,this.include_apocrypha(this.options.include_apocrypha),this}case_sensitive(e){return null==e||"none"!==e&&"books"!==e||e===this.options.case_sensitive||(this.options.case_sensitive=e,this.regexps.books=this.regexps.get_books(this.options.include_apocrypha,e)),this}translation_info(e){let s;null==e&&(e="default"),null!=e&&null!=(null!=this.translations.aliases[e]?this.translations.aliases[e].alias:void 0)&&(e=this.translations.aliases[e].alias),null!=e&&null!=this.translations[e]||(e="default");const t=this.options.versification_system;e!==t&&this.versification_system(e);const a={alias:e,books:[],chapters:{},order:bcv_utils.shallow_clone(this.translations.default.order)};for(s of Object.keys(this.translations.default.chapters||{})){var n=this.translations.default.chapters[s];a.chapters[s]=bcv_utils.shallow_clone_array(n)}for(s of Object.keys(a.order||{})){var r=a.order[s];a.books[r-1]=s}return e!==t&&this.versification_system(t),a}replace_control_characters(e){return e=(e=(e=e.replace(this.regexps.control," ")).replace(/\uFF1A/g,":")).replace(/\uFF1B/g,";"),"replace"===this.options.non_latin_digits_strategy&&(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/[٠۰߀०০੦૦୦0౦೦൦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꩐꯰0]/g,"0")).replace(/[١۱߁१১੧૧୧௧౧೧൧๑໑༡၁႑១᠑᥇᧑᪁᪑᭑᮱᱁᱑꘡꣑꤁꧑꩑꯱1]/g,"1")).replace(/[٢۲߂२২੨૨୨௨౨೨൨๒໒༢၂႒២᠒᥈᧒᪂᪒᭒᮲᱂᱒꘢꣒꤂꧒꩒꯲2]/g,"2")).replace(/[٣۳߃३৩੩૩୩௩౩೩൩๓໓༣၃႓៣᠓᥉᧓᪃᪓᭓᮳᱃᱓꘣꣓꤃꧓꩓꯳3]/g,"3")).replace(/[٤۴߄४৪੪૪୪௪౪೪൪๔໔༤၄႔៤᠔᥊᧔᪄᪔᭔᮴᱄᱔꘤꣔꤄꧔꩔꯴4]/g,"4")).replace(/[٥۵߅५৫੫૫୫௫౫೫൫๕໕༥၅႕៥᠕᥋᧕᪅᪕᭕᮵᱅᱕꘥꣕꤅꧕꩕꯵5]/g,"5")).replace(/[٦۶߆६৬੬૬୬௬౬೬൬๖໖༦၆႖៦᠖᥌᧖᪆᪖᭖᮶᱆᱖꘦꣖꤆꧖꩖꯶6]/g,"6")).replace(/[٧۷߇७৭੭૭୭௭౭೭൭๗໗༧၇႗៧᠗᥍᧗᪇᪗᭗᮷᱇᱗꘧꣗꤇꧗꩗꯷7]/g,"7")).replace(/[٨۸߈८৮੮૮୮௮౮೮൮๘໘༨၈႘៨᠘᥎᧘᪈᪘᭘᮸᱈᱘꘨꣘꤈꧘꩘꯸8]/g,"8")).replace(/[٩۹߉९৯੯૯୯௯౯೯൯๙໙༩၉႙៩᠙᥏᧙᪉᪙᭙᮹᱉᱙꘩꣙꤉꧙꩙꯹9]/g,"9")),e}match_books(e){const s=[];for(var t of Array.from(this.regexps.books)){var a=!1;if(e=e.replace(t.regexp,(function(e,n,r){a=!0,s.push({value:r,parsed:t.osis,type:"book"});const i=null!=t.extra?`/${t.extra}`:"";return`${n}${s.length-1}${i}`})),!0===a&&/^[\s\x1f\d:.,;\-\u2013\u2014]+$/.test(e))break}return[e=e.replace(this.regexps.translations,(function(e){return s.push({value:e,parsed:e.toLowerCase(),type:"translation"}),`${s.length-1}`})),this.get_book_indices(s,e)]}get_book_indices(e,s){let t,a=0;const n=new RegExp("([\\x1f\\x1e])(\\d+)(?:/\\d+)?\\1","g");for(;t=n.exec(s);)e[t[2]].start_index=t.index+a,a+=e[t[2]].value.length-t[0].length;return e}match_passages(e){let s,t=[],a={};for(;s=this.regexps.escaped_passage.exec(e);){let u;var[n,r,i]=Array.from(s),o=r.length;if(s.index+=n.length-o,/\s[2-9]\d\d\s*$|\s\d{4,}\s*$/.test(r)&&(r=r.replace(/\s+\d+\s*$/,"")),/[\d\x1f\x1e)]$/.test(r)||(r=this.replace_match_end(r)),"delete"===this.options.captive_end_digits_strategy){var l=s.index+r.length;e.length>l&&/^\w/.test(e.substr(l,1))&&(r=r.replace(/[\s*]+\d+$/,"")),r=r.replace(/(\x1e[)\]]?)[\s*]*\d+$/,"$1")}var h=""===(r=r.replace(/[A-Z]+/g,(e=>e.toLowerCase()))).substr(0,1)?0:r.split("")[0].length,c={value:grammar.parse(r,{punctuation_strategy:this.options.punctuation_strategy}),type:"base",start_index:this.passage.books[i].start_index-h,match:r};"full"===this.options.book_alone_strategy&&"include"===this.options.book_range_strategy&&"b"===c.value[0].type&&(1===c.value.length||c.value.length>1&&"translation_sequence"===c.value[1].type)&&0===h&&(1===this.passage.books[i].parsed.length||this.passage.books[i].parsed.length>1&&"translation"===this.passage.books[i].parsed[1].type)&&/^[234]/.test(this.passage.books[i].parsed[0])&&this.create_book_range(e,c,i),[u,a]=Array.from(this.passage.handle_obj(c)),t=t.concat(u);var p=this.adjust_regexp_end(u,o,r.length);p>0&&(this.regexps.escaped_passage.lastIndex-=p)}return[t,a]}adjust_regexp_end(e,s,t){let a=0;return e.length>0?a=s-e[e.length-1].indices[1]-1:s!==t&&(a=s-t),a}replace_match_end(e){let s,t=e.length;for(;s=this.regexps.match_end_split.exec(e);)t=s.index+s[0].length;return t<e.length&&(e=e.substr(0,t)),e}create_book_range(e,s,t){const a=[bcv_parser.prototype.regexps.first,bcv_parser.prototype.regexps.second,bcv_parser.prototype.regexps.third],n=parseInt(this.passage.books[t].parsed[0].substr(0,1),10);for(let o=1,l=n,h=1<=l;h?o<l:o>l;h?o++:o--){var r=o===n-1?bcv_parser.prototype.regexps.range_and:bcv_parser.prototype.regexps.range_only,i=e.match(new RegExp(`(?:^|\\W)(${a[o-1]}\\s*${r}\\s*)\\x1f${t}\\x1f`,"i"));if(null!=i)return this.add_book_range_object(s,i,o)}return!1}add_book_range_object(e,s,t){const{length:a}=s[1];if(e.value[0]={type:"b_range_pre",value:[{type:"b_pre",value:t.toString(),indices:[s.index,s.index+a]},e.value[0]],indices:[0,e.value[0].indices[1]+a]},e.value[0].value[1].indices[0]+=a,e.value[0].value[1].indices[1]+=a,e.start_index-=a,e.match=s[1]+e.match,1!==e.value.length)return(()=>{const s=[];for(let t=1,n=e.value.length,r=1<=n;r?t<n:t>n;r?t++:t--)null!=e.value[t].value&&(null!=(null!=e.value[t].value[0]?e.value[t].value[0].indices:void 0)&&(e.value[t].value[0].indices[0]+=a,e.value[t].value[0].indices[1]+=a),e.value[t].indices[0]+=a,s.push(e.value[t].indices[1]+=a));return s})()}osis(){const e=[];for(var s of Array.from(this.parsed_entities()))s.osis.length>0&&e.push(s.osis);return e.join(",")}osis_and_translations(){const e=[];for(var s of Array.from(this.parsed_entities()))s.osis.length>0&&e.push([s.osis,s.translations.join(",")]);return e}osis_and_indices(){const e=[];for(var s of Array.from(this.parsed_entities()))if(s.osis.length>0){const t={osis:s.osis,translations:s.translations,indices:s.indices};null!=s.osises&&(t.osises=s.osises),e.push(t)}return e}parsed_entities(){let e=[];for(let d=0,b=this.entities.length,v=0<=b;v?d<b:d>b;v?d++:d--){var s=this.entities[d];if(s.type&&"translation_sequence"===s.type&&e.length>0&&d===e[e.length-1].entity_id+1&&(e[e.length-1].indices[1]=s.absolute_indices[1]),null!=s.passages){if("separate-chapters"===this.options.consecutive_combination_strategy){const t=this.split_text_by_semicolon(s.absolute_indices);if(t.length>1){for(const s of Array.from(t)){const t=new bcv_parser;t.set_options({...this.options}),t.parse(s.text);for(const a of Array.from(t.parsed_entities())){if(0===a.osis.length)continue;const t=[a.indices[0]+s.offset,a.indices[1]+s.offset],n={osis:a.osis,translations:a.translations,indices:t,entity_id:d};null!=a.osises&&(n.osises=a.osises),e.push(n)}}continue}}if(!("b"===s.type&&"ignore"===this.options.book_alone_strategy||"b_range"===s.type&&"ignore"===this.options.book_range_strategy||"context"===s.type)){var t=[],a=null;if(null!=s.passages[0].translations)for(var n of Array.from(s.passages[0].translations)){var r=(null!=n.osis?n.osis.length:void 0)>0?n.osis:"";null==a&&(a=n.alias),t.push(r)}else t=[""],a="default";for(var i=[],o=[],{length:l}=s.passages,h=0,c=h,p=l,u=0<=p;u?h<p:h>p;u?h++:h--,c=h){var g=s.passages[c];null==g.type&&(g.type=s.type),!1===g.valid.valid&&("ignore"===this.options.invalid_sequence_strategy&&"sequence"===s.type&&this.snap_sequence("ignore",s,i,c,l),"ignore"===this.options.invalid_passage_strategy)||("b"!==g.type&&"b_range"!==g.type||"ignore"!==this.options.book_sequence_strategy||"sequence"!==s.type?("b_range_start"!==g.type&&"range_end_b"!==g.type||"ignore"!==this.options.book_range_strategy||this.snap_range(s,c),null==g.absolute_indices&&(g.absolute_indices=s.absolute_indices),"separate-chapters"===this.options.consecutive_combination_strategy&&g.start.c!==g.end.c?i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,a):"",osises:this.get_osises_by_chapter({osis:"",start:g.start,end:g.end},a),type:g.type,indices:g.absolute_indices,translations:t,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]}):i.push({osis:g.valid.valid?this.to_osis(g.start,g.end,a):"",type:g.type,indices:g.absolute_indices,translations:t,start:g.start,end:g.end,enclosed_indices:g.enclosed_absolute_indices,entity_id:d,entities:[g]})):this.snap_sequence("book",s,i,c,l))}if(0!==i.length||0!==o.length){if("combine"!==this.options.consecutive_combination_strategy&&"separate-chapters"!==this.options.consecutive_combination_strategy||(i.length>1&&(i=this.combine_consecutive_passages(i,a)),i=i.concat(o).sort(((e,s)=>e.indices[0]-s.indices[0]))),"separate-chapters"===this.options.consecutive_combination_strategy)for(x of Array.from(i)){if(0===x.osis.length)continue;const e=this.get_osises_by_chapter(x,a);e.length>1&&(x.osises=e)}if("separate"===this.options.sequence_combination_strategy)e=e.concat(i);else{if("separate-chapters"===this.options.consecutive_combination_strategy&&"sequence"===s.type){const s=this.group_osises_by_semicolon(i);if(s.length>1){for(const a of Array.from(s)){if(0===a.length)continue;const s=a.length-1,n=[a[0].indices[0],a[s].indices[1]];null!=a[s].enclosed_indices&&a[s].enclosed_indices[1]>=0&&(n[1]=a[s].enclosed_indices[1]);const r=[];let i=[];for(x of Array.from(a))x.osis.length>0&&r.push(x.osis),null!=x.osises&&(i=i.concat(x.osises));const o={osis:r.join(","),indices:n,translations:t,entity_id:d,entities:a};i.length>0&&(o.osises=i),e.push(o)}continue}}var x,_=[],f=i.length-1;for(x of(null!=i[f].enclosed_indices&&i[f].enclosed_indices[1]>=0&&(s.absolute_indices[1]=i[f].enclosed_indices[1]),Array.from(i)))x.osis.length>0&&_.push(x.osis);let a=[];if("separate-chapters"===this.options.consecutive_combination_strategy)for(x of Array.from(i))null!=x.osises&&(a=a.concat(x.osises));const n={osis:_.join(","),indices:s.absolute_indices,translations:t,entity_id:d,entities:i};a.length>0&&(n.osises=a),e.push(n)}}}}}return e}to_osis(e,s,t){let a;null==s.c&&null==s.v&&e.b===s.b&&null==e.c&&null==e.v&&"first_chapter"===this.options.book_alone_strategy&&(s.c=1);const n={start:"",end:""};return null==e.c&&(e.c=1),null==e.v&&(e.v=1),null==s.c&&(this.options.passage_existence_strategy.indexOf("c")>=0||null!=this.passage.translations[t].chapters[s.b]&&1===this.passage.translations[t].chapters[s.b].length?s.c=this.passage.translations[t].chapters[s.b].length:s.c=999),null==s.v&&(null!=this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0?s.v=this.passage.translations[t].chapters[s.b][s.c-1]:s.v=999),this.options.include_apocrypha&&"b"===this.options.ps151_strategy&&(151===e.c&&"Ps"===e.b||151===s.c&&"Ps"===s.b)&&this.fix_ps151(e,s,t),"b"===this.options.osis_compaction_strategy&&1===e.c&&1===e.v&&(999===s.c&&999===s.v||s.c===this.passage.translations[t].chapters[s.b].length&&this.options.passage_existence_strategy.indexOf("c")>=0&&(999===s.v||s.v===this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0))?(n.start=e.b,n.end=s.b):this.options.osis_compaction_strategy.length<=2&&1===e.v&&(999===s.v||s.v===this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0)?(n.start=e.b+"."+e.c.toString(),n.end=s.b+"."+s.c.toString()):(n.start=e.b+"."+e.c.toString()+"."+e.v.toString(),n.end=s.b+"."+s.c.toString()+"."+s.v.toString()),a=n.start===n.end?n.start:n.start+"-"+n.end,null!=e.extra&&(a=e.extra+","+a),null!=s.extra&&(a+=","+s.extra),a}get_osises_by_chapter(e,s){if(null==e||null==e.start||null==e.end)return[];if(null==e.start.b||null==e.end.b||null==e.start.c||null==e.end.c)return null!=e.osis&&e.osis.length>0?[e.osis]:[];if(e.start.b!==e.end.b||e.start.c===e.end.c)return null!=e.osis&&e.osis.length>0?[e.osis]:[];const t=[];for(let a=e.start.c,n=e.end.c,r=e.start.c<=n;r?a<=n:a>=n;r?a++:a--){const n=a===e.start.c?e.start.v:1,r=a===e.end.c?e.end.v:this.translations[s].chapters[e.start.b][a-1],i={b:e.start.b,c:a,v:"bcv"===e.start.type?n:null,type:e.start.type},o={b:e.end.b,c:a,v:"bcv"===e.start.type?r:null,type:e.start.type};t.push(this.to_osis(i,o,s))}return t}get_separator_between(e,s){if(null==this.s||null==e||null==s)return"";const t=e[1]+1,a=s[0];return a<=t?"":this.s.slice(t,a)}has_semicolon_separator(e,s){const t=this.get_separator_between(e.indices,s.indices);return/[;;]/.test(t)}group_osises_by_semicolon(e){const s=[];let t=[];for(const a of Array.from(e))0!==t.length&&this.has_semicolon_separator(t[t.length-1],a)?(s.push(t),t=[a]):t.push(a);return t.length>0&&s.push(t),s}split_text_by_semicolon(e){if(null==this.s||null==e||null==e[0]||null==e[1])return[];const s=this.s.slice(e[0],e[1]);if(!/[;;]/.test(s))return[{text:s,offset:e[0]}];const t=[];let a=0;for(let n=0,r=s.length;n<r;n++){const r=s[n];";"!==r&&";"!==r||(n>a&&t.push({text:s.slice(a,n),offset:e[0]+a}),a=n+1)}return a<s.length&&t.push({text:s.slice(a),offset:e[0]+a}),t}fix_ps151(e,s,t){return"default"!==t&&null==(null!=this.translations[t]?this.translations[t].chapters.Ps151:void 0)&&this.passage.promote_book_to_translation("Ps151",t),151===e.c&&"Ps"===e.b?151===s.c&&"Ps"===s.b?(e.b="Ps151",e.c=1,s.b="Ps151",s.c=1):(e.extra=this.to_osis({b:"Ps151",c:1,v:e.v},{b:"Ps151",c:1,v:this.passage.translations[t].chapters.Ps151[0]},t),e.b="Prov",e.c=1,e.v=1):(s.extra=this.to_osis({b:"Ps151",c:1,v:1},{b:"Ps151",c:1,v:s.v},t),s.c=150,s.v=this.passage.translations[t].chapters.Ps[149])}combine_consecutive_passages(e,s){const t=[];let a={};const n=e.length-1;let r=-1,i=!1;for(let c=0,p=n,u=0<=p;u?c<=p:c>=p;u?c++:c--){var o=e[c];if(o.osis.length>0){var l=t.length-1,h=!1;if(l>=0&&this.has_semicolon_separator(t[l],o)){t.push(o),a={b:o.end.b,c:o.end.c,v:o.end.v};continue}o.enclosed_indices[0]!==r&&(r=o.enclosed_indices[0]),r>=0&&(c===n||e[c+1].enclosed_indices[0]!==o.enclosed_indices[0])&&(h=!0,i=!0),this.is_verse_consecutive(a,o.start,s)?(t[l].end=o.end,t[l].is_enclosed_last=h,t[l].indices[1]=o.indices[1],t[l].enclosed_indices[1]=o.enclosed_indices[1],t[l].osis=this.to_osis(t[l].start,o.end,s)):t.push(o),a={b:o.end.b,c:o.end.c,v:o.end.v}}else t.push(o),a={}}return i&&this.snap_enclosed_indices(t),t}snap_enclosed_indices(e){for(var s of Array.from(e))null!=s.is_enclosed_last&&(s.enclosed_indices[0]<0&&s.is_enclosed_last&&(s.indices[1]=s.enclosed_indices[1]),delete s.is_enclosed_last);return e}is_verse_consecutive(e,s,t){if(null==e.b)return!1;const a=null!=this.passage.translations[t].order?this.passage.translations[t].order:this.passage.translations.default.order;if(e.b===s.b){if(e.c===s.c){if(e.v===s.v-1)return!0}else if(1===s.v&&e.c===s.c-1&&e.v===this.passage.translations[t].chapters[e.b][e.c-1])return!0}else if(1===s.c&&1===s.v&&a[e.b]===a[s.b]-1&&e.c===this.passage.translations[t].chapters[e.b].length&&e.v===this.passage.translations[t].chapters[e.b][e.c-1])return!0;return!1}snap_range(e,s){let t,a,n;"b_range_start"===e.type||"sequence"===e.type&&"b_range_start"===e.passages[s].type?(t=1,a="end",n="b_range_start"):(t=0,a="start",n="range_end_b");const r="end"===a?"start":"end";for(var i of Object.keys(e.passages[s][r]||{}))e.passages[s][r][i]=e.passages[s][a][i];if("sequence"===e.type){s>=e.value.length&&(s=e.value.length-1);const t=this.passage.pluck(n,e.value[s]);if(null!=t){const a=this.snap_range(t,0);0===s?e.absolute_indices[0]=a.absolute_indices[0]:e.absolute_indices[1]=a.absolute_indices[1]}}else e.original_type=e.type,e.type=e.value[t].type,e.absolute_indices=[e.value[t].absolute_indices[0],e.value[t].absolute_indices[1]];return e}snap_sequence(e,s,t,a,n){const r=s.passages[a];return r.absolute_indices[0]===s.absolute_indices[0]&&a<n-1&&this.get_snap_sequence_i(s.passages,a,n)!==a?(s.absolute_indices[0]=s.passages[a+1].absolute_indices[0],this.remove_absolute_indices(s.passages,a+1)):r.absolute_indices[1]===s.absolute_indices[1]&&a>0?s.absolute_indices[1]=t.length>0?t[t.length-1].indices[1]:s.passages[a-1].absolute_indices[1]:"book"===e&&a<n-1&&!this.starts_with_book(s.passages[a+1])&&(s.passages[a+1].absolute_indices[0]=r.absolute_indices[0]),s}get_snap_sequence_i(e,s,t){for(let a=s+1,n=a,r=t,i=a<=r;i?n<r:n>r;i?n++:n--){if(this.starts_with_book(e[n]))return n;if(e[n].valid.valid)return s}return s}starts_with_book(e){return"b"===e.type.substr(0,1)||("range"===e.type||"ff"===e.type)&&"b"===e.start.type.substr(0,1)}remove_absolute_indices(e,s){if(e[s].enclosed_absolute_indices[0]<0)return!1;const[t,a]=Array.from(e[s].enclosed_absolute_indices);for(var n of Array.from(e.slice(s))){if(n.enclosed_absolute_indices[0]!==t||n.enclosed_absolute_indices[1]!==a)break;n.enclosed_absolute_indices=[-1,-1]}return!0}}bcv_parser.initClass(),this.bcv_parser=bcv_parser;class bcv_passage{static initClass(){this.prototype.books=[],this.prototype.indices={},this.prototype.options={},this.prototype.translations={}}handle_array(e,s,t){for(var a of(null==s&&(s=[]),null==t&&(t={}),Array.from(e)))if(null!=a){if("stop"===a.type)break;[s,t]=Array.from(this.handle_obj(a,s,t))}return[s,t]}handle_obj(e,s,t){return null!=e.type&&null!=this[e.type]?this[e.type](e,s,t):[s,t]}b(e,s,t){let a;e.start_context=bcv_utils.shallow_clone(t),e.passages=[];const n=[];for(a of Array.from(this.books[e.value].parsed)){var r=this.validate_ref(e.start_context.translations,{b:a}),i={start:{b:a},end:{b:a},valid:r};0===e.passages.length&&r.valid?e.passages.push(i):n.push(i)}return 0===e.passages.length&&e.passages.push(n.shift()),n.length>0&&(e.passages[0].alternates=n),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),t={b:e.passages[0].start.b},null!=e.start_context.translations&&(t.translations=e.start_context.translations),[s,t]}b_range(e,s,t){return this.range(e,s,t)}b_range_pre(e,s,t){let a,n;e.start_context=bcv_utils.shallow_clone(t),e.passages=[];const r=this.pluck("b",e.value);a=this.b(r,[],t),[n]=Array.from(a[0]),t=a[1],null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices));const i={b:e.value[0].value+n.passages[0].start.b.substr(1),type:"b"};return e.passages=[{start:i,end:n.passages[0].end,valid:n.passages[0].valid}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),[s,t]}b_range_start(e,s,t){return this.range(e,s,t)}base(e,s,t){return this.indices=this.calculate_indices(e.match,e.start_index),this.handle_array(e.value,s,t)}bc(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.passages=[],this.reset_context(t,["b","c","v"]);const a=this.pluck("c",e.value).value,n=[];for(var r of Array.from(this.books[this.pluck("b",e.value).value].parsed)){var i="c",o=this.validate_ref(e.start_context.translations,{b:r,c:a}),l={start:{b:r},end:{b:r},valid:o};(o.messages.start_chapter_not_exist_in_single_chapter_book||o.messages.start_chapter_1)&&(l.valid=this.validate_ref(e.start_context.translations,{b:r,v:a}),o.messages.start_chapter_not_exist_in_single_chapter_book&&(l.valid.messages.start_chapter_not_exist_in_single_chapter_book=1),l.start.c=1,l.end.c=1,i="v"),l.start[i]=a,[l.start.c,l.start.v]=Array.from(this.fix_start_zeroes(l.valid,l.start.c,l.start.v)),null==l.start.v&&delete l.start.v,l.end[i]=l.start[i],0===e.passages.length&&l.valid.valid?e.passages.push(l):n.push(l)}return 0===e.passages.length&&e.passages.push(n.shift()),n.length>0&&(e.passages[0].alternates=n),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(t,["b","c","v"],e.passages[0].start),s.push(e),[s,t]}bc_title(e,s,t){let a,n;if(e.start_context=bcv_utils.shallow_clone(t),a=this.bc(this.pluck("bc",e.value),[],t),[n]=Array.from(a[0]),t=a[1],"Ps"!==n.passages[0].start.b.substr(0,2)&&null!=n.passages[0].alternates)for(let e=0,s=n.passages[0].alternates.length,t=0<=s;t?e<s:e>s;t?e++:e--)if("Ps"===n.passages[0].alternates[e].start.b.substr(0,2)){n.passages[0]=n.passages[0].alternates[e];break}if("Ps"!==n.passages[0].start.b.substr(0,2))return s.push(n),[s,t];this.books[this.pluck("b",n.value).value].parsed=["Ps"];let r=this.pluck("title",e.value);return null==r&&(r=this.pluck("v",e.value)),e.value[1]={type:"v",value:[{type:"integer",value:1,indices:r.indices}],indices:r.indices},e.type="bcv",this.bcv(e,s,e.start_context)}bcv(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.passages=[],this.reset_context(t,["b","c","v"]);const a=this.pluck("bc",e.value);let n=this.pluck("c",a.value).value,r=this.pluck("v",e.value).value;const i=[];for(var o of Array.from(this.books[this.pluck("b",a.value).value].parsed)){var l=this.validate_ref(e.start_context.translations,{b:o,c:n,v:r});[n,r]=Array.from(this.fix_start_zeroes(l,n,r));var h={start:{b:o,c:n,v:r},end:{b:o,c:n,v:r},valid:l};0===e.passages.length&&l.valid?e.passages.push(h):i.push(h)}return 0===e.passages.length&&e.passages.push(i.shift()),i.length>0&&(e.passages[0].alternates=i),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(t,["b","c","v"],e.passages[0].start),s.push(e),[s,t]}bv(e,s,t){let a;e.start_context=bcv_utils.shallow_clone(t);const[n,r]=Array.from(e.value);let i={indices:e.indices,value:[{type:"bc",value:[n,{type:"c",value:[{type:"integer",value:1}]}]},r]};return a=this.bcv(i,[],t),[i]=Array.from(a[0]),t=a[1],e.passages=i.passages,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),[s,t]}c(e,s,t){e.start_context=bcv_utils.shallow_clone(t);let a="integer"===e.type?e.value:this.pluck("integer",e.value).value;const n=this.validate_ref(e.start_context.translations,{b:t.b,c:a});return!n.valid&&n.messages.start_chapter_not_exist_in_single_chapter_book?this.v(e,s,t):([a]=Array.from(this.fix_start_zeroes(n,a)),e.passages=[{start:{b:t.b,c:a},end:{b:t.b,c:a},valid:n}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),t.c=a,this.reset_context(t,["v"]),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[s,t])}c_psalm(e,s,t){e.type="bc";const a=parseInt(this.books[e.value].value.match(/^\d+/)[0],10);return e.value=[{type:"b",value:e.value,indices:e.indices},{type:"c",value:[{type:"integer",value:a,indices:e.indices}],indices:e.indices}],this.bc(e,s,t)}c_title(e,s,t){if(e.start_context=bcv_utils.shallow_clone(t),"Ps"!==t.b)return this.c(e.value[0],s,t);const a=this.pluck("title",e.value);return e.value[1]={type:"v",value:[{type:"integer",value:1,indices:a.indices}],indices:a.indices},e.type="cv",this.cv(e,s,e.start_context)}cv(e,s,t){e.start_context=bcv_utils.shallow_clone(t);let a=this.pluck("c",e.value).value,n=this.pluck("v",e.value).value;const r=this.validate_ref(e.start_context.translations,{b:t.b,c:a,v:n});return[a,n]=Array.from(this.fix_start_zeroes(r,a,n)),e.passages=[{start:{b:t.b,c:a,v:n},end:{b:t.b,c:a,v:n},valid:r}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),t.c=a,t.v=n,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[s,t]}cb_range(e,s,t){e.type="range";const[a,n,r]=Array.from(e.value);return e.value=[{type:"bc",value:[a,n],indices:e.indices},r],r.indices[1]=e.indices[1],this.range(e,s,t)}context(e,s,t){for(var a of(e.start_context=bcv_utils.shallow_clone(t),e.passages=[],Object.keys(this.books[e.value].context||{})))t[a]=this.books[e.value].context[a];return s.push(e),[s,t]}cv_psalm(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.type="bcv";const[a,n]=Array.from(e.value),r=this.c_psalm(a,[],e.start_context),[i]=Array.from(r[0]);return e.value=[i,n],this.bcv(e,s,t)}ff(e,s,t){let a;return e.start_context=bcv_utils.shallow_clone(t),e.value.push({type:"integer",indices:e.indices,value:999}),a=this.range(e,[],e.start_context),[e]=Array.from(a[0]),t=a[1],e.value[0].indices=e.value[1].indices,e.value[0].absolute_indices=e.value[1].absolute_indices,e.value.pop(),null!=e.passages[0].valid.messages.end_verse_not_exist&&delete e.passages[0].valid.messages.end_verse_not_exist,null!=e.passages[0].valid.messages.end_chapter_not_exist&&delete e.passages[0].valid.messages.end_chapter_not_exist,null!=e.passages[0].end.original_c&&delete e.passages[0].end.original_c,s.push(e),[s,t]}integer_title(e,s,t){return e.start_context=bcv_utils.shallow_clone(t),"Ps"!==t.b?this.integer(e.value[0],s,t):(e.value[0]={type:"c",value:[e.value[0]],indices:[e.value[0].indices[0],e.value[0].indices[1]]},e.value[1].type="v",e.value[1].original_type="title",e.value[1].value=[{type:"integer",value:1,indices:e.value[1].value.indices}],e.type="cv",this.cv(e,s,e.start_context))}integer(e,s,t){return null!=t.v?this.v(e,s,t):this.c(e,s,t)}next_v(e,s,t){let a,n;e.start_context=bcv_utils.shallow_clone(t);let r=this.pluck_last_recursively("integer",e.value);if(null==r&&(r={value:1}),e.value.push({type:"integer",indices:e.indices,value:r.value+1}),a=this.range(e,[],e.start_context),[n]=Array.from(a[0]),t=a[1],null!=n.passages[0].valid.messages.end_verse_not_exist&&null==n.passages[0].valid.messages.start_verse_not_exist&&null==n.passages[0].valid.messages.start_chapter_not_exist&&null!=t.c){let s;e.value.pop(),e.value.push({type:"cv",indices:e.indices,value:[{type:"c",value:[{type:"integer",value:t.c+1,indices:e.indices}],indices:e.indices},{type:"v",value:[{type:"integer",value:1,indices:e.indices}],indices:e.indices}]}),s=this.range(e,[],e.start_context),[n]=Array.from(s[0]),t=s[1]}return n.value[0].indices=n.value[1].indices,n.value[0].absolute_indices=n.value[1].absolute_indices,n.value.pop(),null!=n.passages[0].valid.messages.end_verse_not_exist&&delete n.passages[0].valid.messages.end_verse_not_exist,null!=n.passages[0].valid.messages.end_chapter_not_exist&&delete n.passages[0].valid.messages.end_chapter_not_exist,null!=n.passages[0].end.original_c&&delete n.passages[0].end.original_c,s.push(n),[s,t]}sequence(e,s,t){for(var a of(e.start_context=bcv_utils.shallow_clone(t),e.passages=[],Array.from(e.value))){var n,r;for(var i of(n=this.handle_array(a,[],t),[r]=Array.from(n[0]),t=n[1],Array.from(r.passages)))null==i.type&&(i.type=r.type),null==i.absolute_indices&&(i.absolute_indices=r.absolute_indices),null!=r.start_context.translations&&(i.translations=r.start_context.translations),i.enclosed_absolute_indices="sequence_post_enclosed"===r.type?r.absolute_indices:[-1,-1],e.passages.push(i)}return null==e.absolute_indices&&(e.passages.length>0&&"sequence"===e.type?e.absolute_indices=[e.passages[0].absolute_indices[0],e.passages[e.passages.length-1].absolute_indices[1]]:e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),[s,t]}sequence_post_enclosed(e,s,t){return this.sequence(e,s,t)}v(e,s,t){let a,n="integer"===e.type?e.value:this.pluck("integer",e.value).value;e.start_context=bcv_utils.shallow_clone(t);const r=null!=t.c?t.c:1,i=this.validate_ref(e.start_context.translations,{b:t.b,c:r,v:n});return[a,n]=Array.from(this.fix_start_zeroes(i,0,n)),e.passages=[{start:{b:t.b,c:r,v:n},end:{b:t.b,c:r,v:n},valid:i}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),t.v=n,[s,t]}range(e,s,t){let a,n;e.start_context=bcv_utils.shallow_clone(t);let[r,i]=Array.from(e.value);if(a=this.handle_obj(r,[],t),[r]=Array.from(a[0]),t=a[1],"v"===i.type&&("bc"===r.type&&!__guard__(__guard__(__guard__(null!=r.passages?r.passages[0]:void 0,(e=>e.valid)),(e=>e.messages)),(e=>e.start_chapter_not_exist_in_single_chapter_book))||"c"===r.type)&&"verse"===this.options.end_range_digits_strategy)return e.value[0]=r,this.range_change_integer_end(e,s);n=this.handle_obj(i,[],t),[i]=Array.from(n[0]),t=n[1],e.value=[r,i],e.indices=[r.indices[0],i.indices[1]],delete e.absolute_indices;const o={b:r.passages[0].start.b,c:r.passages[0].start.c,v:r.passages[0].start.v,type:r.type},l={b:i.passages[0].end.b,c:i.passages[0].end.c,v:i.passages[0].end.v,type:i.type};i.passages[0].valid.messages.start_chapter_is_zero&&(l.c=0),i.passages[0].valid.messages.start_verse_is_zero&&(l.v=0);const h=this.validate_ref(e.start_context.translations,o,l);if(!h.valid)return this.range_handle_invalid(h,e,r,o,i,l,s);{const[t,a]=Array.from(this.range_handle_valid(h,e,r,o,i,l,s));if(t)return a}return null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),e.passages=[{start:o,end:l,valid:h}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),"b"===o.type?"b"===l.type?e.type="b_range":e.type="b_range_start":"b"===l.type&&(e.type="range_end_b"),s.push(e),[s,t]}range_change_end(e,s,t){let a;const[n,r]=Array.from(e.value);return"integer"===r.type?(r.original_value=r.value,r.value=t):"v"===r.type?(a=this.pluck("integer",r.value),a.original_value=a.value,a.value=t):"cv"===r.type&&(a=this.pluck("c",r.value),a.original_value=a.value,a.value=t),this.handle_obj(e,s,e.start_context)}range_change_integer_end(e,s){const[t,a]=Array.from(e.value);return null==e.original_type&&(e.original_type=e.type),null==e.original_value&&(e.original_value=[t,a]),e.type="integer"===t.type?"cv":t.type+"v","integer"===t.type&&(e.value[0]={type:"c",value:[t],indices:t.indices}),"integer"===a.type&&(e.value[1]={type:"v",value:[a],indices:a.indices}),this.handle_obj(e,s,e.start_context)}range_check_new_end(e,s,t,a){let n=0,r=null;if(a.messages.end_chapter_before_start?r="c":a.messages.end_verse_before_start&&(r="v"),null!=r&&(n=this.range_get_new_end_value(s,t,a,r)),n>0){const s={b:t.b,c:t.c,v:t.v};s[r]=n;this.validate_ref(e,s).valid||(n=0)}return n}range_end_b(e,s,t){return this.range(e,s,t)}range_get_new_end_value(e,s,t,a){let n=0;return"c"===a&&t.messages.end_chapter_is_zero||"v"===a&&t.messages.end_verse_is_zero||(e[a]>=10&&s[a]<10&&e[a]-10*Math.floor(e[a]/10)<s[a]?n=s[a]+10*Math.floor(e[a]/10):e[a]>=100&&s[a]<100&&e[a]-100<s[a]&&(n=s[a]+100)),n}range_handle_invalid(e,s,t,a,n,r,i){if(!1===e.valid&&(e.messages.end_chapter_before_start||e.messages.end_verse_before_start)&&("integer"===n.type||"v"===n.type)||!1===e.valid&&e.messages.end_chapter_before_start&&"cv"===n.type){const t=this.range_check_new_end(s.start_context.translations,a,r,e);if(t>0)return this.range_change_end(s,i,t)}if("verse"===this.options.end_range_digits_strategy&&null==a.v&&("integer"===n.type||"v"===n.type)){const e="v"===n.type?this.pluck("integer",n.value):n.value;if(this.validate_ref(s.start_context.translations,{b:a.b,c:a.c,v:e}).valid)return this.range_change_integer_end(s,i)}return null==s.original_type&&(s.original_type=s.type),s.type="sequence",[s.original_value,s.value]=Array.from([[t,n],[[t],[n]]]),this.sequence(s,i,s.start_context)}range_handle_valid(e,s,t,a,n,r,i){if(e.messages.end_chapter_not_exist&&"verse"===this.options.end_range_digits_strategy&&null==a.v&&("integer"===n.type||"v"===n.type)&&this.options.passage_existence_strategy.indexOf("v")>=0){const e="v"===n.type?this.pluck("integer",n.value):n.value;if(this.validate_ref(s.start_context.translations,{b:a.b,c:a.c,v:e}).valid)return[!0,this.range_change_integer_end(s,i)]}return this.range_validate(e,a,r,s),[!1,null]}range_validate(e,s,t,a){return e.messages.end_chapter_not_exist||e.messages.end_chapter_not_exist_in_single_chapter_book?(t.original_c=t.c,t.c=e.messages.end_chapter_not_exist?e.messages.end_chapter_not_exist:e.messages.end_chapter_not_exist_in_single_chapter_book,null!=t.v&&(t.v=this.validate_ref(a.start_context.translations,{b:t.b,c:t.c,v:999}).messages.end_verse_not_exist,delete e.messages.end_verse_is_zero)):e.messages.end_verse_not_exist&&(t.original_v=t.v,t.v=e.messages.end_verse_not_exist),e.messages.end_verse_is_zero&&"allow"!==this.options.zero_verse_strategy&&(t.v=e.messages.end_verse_is_zero),e.messages.end_chapter_is_zero&&(t.c=e.messages.end_chapter_is_zero),[s.c,s.v]=Array.from(this.fix_start_zeroes(e,s.c,s.v)),!0}translation_sequence(e,s,t){e.start_context=bcv_utils.shallow_clone(t);const a=[];for(var n of(a.push({translation:this.books[e.value[0].value].parsed}),Array.from(e.value[1])))null!=(n=this.books[this.pluck("translation",n).value].parsed)&&a.push({translation:n});for(var r of Array.from(a))null!=this.translations.aliases[r.translation]?(r.alias=this.translations.aliases[r.translation].alias,r.osis=this.translations.aliases[r.translation].osis||r.translation.toUpperCase()):(r.alias="default",r.osis=r.translation.toUpperCase());return s.length>0&&(t=this.translation_sequence_apply(s,a)),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),this.reset_context(t,["translations"]),[s,t]}translation_sequence_apply(e,s){let t,a=0;for(let s=e.length-1,t=s,n=s<=0;n?t<=0:t>=0;n?t++:t--)if(null!=e[t].original_type&&(e[t].type=e[t].original_type),null!=e[t].original_value&&(e[t].value=e[t].original_value),"translation_sequence"===e[t].type){a=t+1;break}if(a<e.length){let n;e[a].start_context.translations=s,[n,t]=Array.from(this.handle_array(e.slice(a),[],e[a].start_context))}else t=bcv_utils.shallow_clone(e[e.length-1].start_context);return t}pluck(e,s){for(var t of Array.from(s))if(null!=t&&null!=t.type&&t.type===e)return"c"===e||"v"===e?this.pluck("integer",t.value):t;return null}pluck_last_recursively(e,s){for(let n=s.length-1;n>=0;n--){var t=s[n];if(null!=t&&null!=t.type){if(t.type===e)return this.pluck(e,[t]);var a=this.pluck_last_recursively(e,t.value);if(null!=a)return a}}return null}set_context_from_object(e,s,t){return(()=>{const a=[];for(var n of Array.from(s))null!=t[n]&&a.push(e[n]=t[n]);return a})()}reset_context(e,s){return Array.from(s).map((s=>delete e[s]))}fix_start_zeroes(e,s,t){return e.messages.start_chapter_is_zero&&"upgrade"===this.options.zero_chapter_strategy&&(s=e.messages.start_chapter_is_zero),e.messages.start_verse_is_zero&&"upgrade"===this.options.zero_verse_strategy&&(t=e.messages.start_verse_is_zero),[s,t]}calculate_indices(e,s){let t,a="book";const n=[];let r=0;s=parseInt(s,10);let i=[e];for(var o of["",""]){var l=[];for(t of Array.from(i))l=l.concat(t.split(o));i=l}for(t of Array.from(i)){var h;a="book"===a?"rest":"book";var c=t.length;0!==c&&("book"===a?(t=t.replace(/\/\d+$/,""),h=r+c,n.length>0&&n[n.length-1].index===s?n[n.length-1].end=h:n.push({start:r,end:h,index:s}),r+=c+2,s=this.books[t].start_index+this.books[t].value.length-r,n.push({start:h+1,end:h+1,index:s})):(h=r+c-1,n.length>0&&n[n.length-1].index===s?n[n.length-1].end=h:n.push({start:r,end:h,index:s}),r+=c))}return n}get_absolute_indices(...e){const[s,t]=Array.from(e[0]);let a=null,n=null;for(var r of Array.from(this.indices))if(null===a&&r.start<=s&&s<=r.end&&(a=s+r.index),r.start<=t&&t<=r.end){n=t+r.index+1;break}return[a,n]}validate_ref(e,s,t){null!=e&&e.length>0||(e=[{translation:"default",osis:"",alias:"default"}]);let a=!1;const n={};for(var r of Array.from(e))if(null==r.alias&&(r.alias="default"),null!=r.alias){null==this.translations.aliases[r.alias]&&(r.alias="default",null==n.translation_unknown&&(n.translation_unknown=[]),n.translation_unknown.push(r));var[i]=Array.from(this.validate_start_ref(r.alias,s,n));t&&([i]=Array.from(this.validate_end_ref(r.alias,s,t,i,n))),!0===i&&(a=!0)}else null==n.translation_invalid&&(n.translation_invalid=[]),n.translation_invalid.push(r);return{valid:a,messages:n}}validate_start_ref(e,s,t){let a=!0;"default"!==e&&null==(null!=this.translations[e]?this.translations[e].chapters[s.b]:void 0)&&this.promote_book_to_translation(s.b,e);const n=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";if(null!=s.v&&(s.v=parseInt(s.v,10)),null!=this.translations[n].order[s.b]){if(null==s.c&&(s.c=1),s.c=parseInt(s.c,10),isNaN(s.c))return a=!1,t.start_chapter_not_numeric=!0,[a,t];0===s.c&&(t.start_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?a=!1:s.c=1),null!=s.v&&0===s.v&&(t.start_verse_is_zero=1,"error"===this.options.zero_verse_strategy?a=!1:"upgrade"===this.options.zero_verse_strategy&&(s.v=1)),s.c>0&&null!=this.translations[e].chapters[s.b][s.c-1]?null!=s.v?isNaN(s.v)?(a=!1,t.start_verse_not_numeric=!0):s.v>this.translations[e].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(a=!1,t.start_verse_not_exist=this.translations[e].chapters[s.b][s.c-1]):1===s.c&&"verse"===this.options.single_chapter_1_strategy&&1===this.translations[e].chapters[s.b].length&&(t.start_chapter_1=1):1!==s.c&&1===this.translations[e].chapters[s.b].length?(a=!1,t.start_chapter_not_exist_in_single_chapter_book=1):s.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(a=!1,t.start_chapter_not_exist=this.translations[e].chapters[s.b].length)}else null==s.b?(a=!1,t.start_book_not_defined=!0):(this.options.passage_existence_strategy.indexOf("b")>=0&&(a=!1),t.start_book_not_exist=!0);return[a,t]}validate_end_ref(e,s,t,a,n){const r=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";return null!=t.c&&(t.c=parseInt(t.c,10),isNaN(t.c)?(a=!1,n.end_chapter_not_numeric=!0):0===t.c&&(n.end_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?a=!1:t.c=1)),null!=t.v&&(t.v=parseInt(t.v,10),isNaN(t.v)?(a=!1,n.end_verse_not_numeric=!0):0===t.v&&(n.end_verse_is_zero=1,"error"===this.options.zero_verse_strategy?a=!1:"upgrade"===this.options.zero_verse_strategy&&(t.v=1))),null!=this.translations[r].order[t.b]?(null==t.c&&1===this.translations[e].chapters[t.b].length&&(t.c=1),null!=this.translations[r].order[s.b]&&this.translations[r].order[s.b]>this.translations[r].order[t.b]&&(this.options.passage_existence_strategy.indexOf("b")>=0&&(a=!1),n.end_book_before_start=!0),s.b!==t.b||null==t.c||isNaN(t.c)||(null==s.c&&(s.c=1),!isNaN(parseInt(s.c,10))&&s.c>t.c?(a=!1,n.end_chapter_before_start=!0):s.c!==t.c||null==t.v||isNaN(t.v)||(null==s.v&&(s.v=1),!isNaN(parseInt(s.v,10))&&s.v>t.v&&(a=!1,n.end_verse_before_start=!0))),null==t.c||isNaN(t.c)||null==this.translations[e].chapters[t.b][t.c-1]&&(1===this.translations[e].chapters[t.b].length?n.end_chapter_not_exist_in_single_chapter_book=1:t.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(n.end_chapter_not_exist=this.translations[e].chapters[t.b].length)),null==t.v||isNaN(t.v)||(null==t.c&&(t.c=this.translations[e].chapters[t.b].length),t.v>this.translations[e].chapters[t.b][t.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(n.end_verse_not_exist=this.translations[e].chapters[t.b][t.c-1]))):(a=!1,n.end_book_not_exist=!0),[a,n]}promote_book_to_translation(e,s){if(null==this.translations[s]&&(this.translations[s]={}),null==this.translations[s].chapters&&(this.translations[s].chapters={}),null==this.translations[s].chapters[e])return this.translations[s].chapters[e]=bcv_utils.shallow_clone_array(this.translations.default.chapters[e])}}function __guard__(e,s){return null!=e?s(e):void 0}bcv_passage.initClass();const bcv_utils={shallow_clone(e){if(null==e)return e;const s={};for(const t of Object.keys(e||{})){const a=e[t];s[t]=a}return s},shallow_clone_array(e){if(null==e)return e;const s=[];for(let t=0,a=e.length,n=0<=a;n?t<=a:t>=a;n?t++:t--)void 0!==e[t]&&(s[t]=e[t]);return s}};bcv_parser.prototype.regexps.translations=RegExp("(?:(?:N(?:A(?:B(?:RE)?|SB?)|(?:RS|KJ)V|IR?V|LT)|HCSB|(?:TNI|E[RS]|AS|RS|KJ)V|MSG|LXX|CE[BV]|AMP))\\b","gi"),bcv_parser.prototype.translations={aliases:{ceb:{alias:"ceb"},kjv:{alias:"kjv"},lxx:{alias:"nab"},nab:{alias:"nab"},nabre:{alias:"nab"},nas:{osis:"NASB",alias:"default"},nirv:{alias:"kjv"},niv:{alias:"kjv"},nkjv:{alias:"nkjv"},nlt:{alias:"nlt"},nrsv:{alias:"nrsv"},tniv:{alias:"kjv"},default:{osis:"",alias:"default"}},alternates:{},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]}},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]}},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]}}},bcv_parser.prototype.languages=["en"];const heregex=e=>{let s="",t=!1,a=!1;for(let n=0;n<e.length;n++){const r=e[n];if(a)s+=r,a=!1;else if("\\"!==r)if(t||"["!==r)if(t&&"]"===r)t=!1,s+=r;else if(t||"#"!==r)!t&&/\s/.test(r)||(s+=r);else for(;n<e.length&&"\n"!==e[n];)n+=1;else t=!0,s+=r;else s+=r,a=!0}return s};var grammar;bcv_parser.prototype.regexps.space="[\\s\\xa0]",bcv_parser.prototype.regexps.escaped_passage=RegExp(heregex(String.raw`
2
2
  (?:^ | [^\x1f\x1e\dA-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ] ) # 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\`
3
3
  (
4
4
  # Start inverted book/chapter (cb)
@@ -219,4 +219,4 @@ const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.pro
219
219
  (?:Ph)
220
220
  )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")},{osis:["Zeph","Zech"],regexp:RegExp(heregex(String.raw`(^|${bcv_parser.prototype.regexps.pre_book})(
221
221
  (?:Ze)
222
- )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")}];if(!0===e&&"none"===s)return t;const a=[];for(const n of t)!1===e&&null!=n.apocrypha&&!0===n.apocrypha||("books"===s&&(n.regexp=new RegExp(n.regexp.source,"g")),a.push(n));return a},bcv_parser.prototype.regexps.books=bcv_parser.prototype.regexps.get_books(!1,"none"),function(){"use strict";function e(s,t,a,n){var r=Error.call(this,s);return Object.setPrototypeOf&&Object.setPrototypeOf(r,e.prototype),r.expected=t,r.found=a,r.location=n,r.name="SyntaxError",r}function s(e,s,t){return t=t||" ",e.length>s?e:(s-=e.length,e+(t+=t.repeat(s)).slice(0,s))}!function(e,s){function t(){this.constructor=e}t.prototype=s.prototype,e.prototype=new t}(e,Error),e.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var a,n=null;for(a=0;a<e.length;a++)if(e[a].source===this.location.source){n=e[a].text.split(/\r\n|\n|\r/g);break}var r=this.location.start,i=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(r):r,o=this.location.source+":"+i.line+":"+i.column;if(n){var l=this.location.end,h=s("",i.line.toString().length," "),c=n[r.line-1],p=(r.line===l.line?l.column:c.length+1)-r.column||1;t+="\n --\x3e "+o+"\n"+h+" |\n"+i.line+" | "+c+"\n"+h+" | "+s("",r.column-1," ")+s("",p,"^")}else t+="\n at "+o}return t},e.buildMessage=function(e,s){var t={literal:function(e){return'"'+n(e.text)+'"'},class:function(e){var s=e.parts.map((function(e){return Array.isArray(e)?r(e[0])+"-"+r(e[1]):r(e)}));return"["+(e.inverted?"^":"")+s.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function a(e){return e.charCodeAt(0).toString(16).toUpperCase()}function n(e){return e.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(e){return"\\x0"+a(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+a(e)}))}function r(e){return e.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(e){return"\\x0"+a(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+a(e)}))}function i(e){return t[e.type](e)}return"Expected "+function(e){var s,t,a=e.map(i);if(a.sort(),a.length>0){for(s=1,t=1;s<a.length;s++)a[s-1]!==a[s]&&(a[t]=a[s],t++);a.length=t}switch(a.length){case 1:return a[0];case 2:return a[0]+" or "+a[1];default:return a.slice(0,-1).join(", ")+", or "+a[a.length-1]}}(e)+" but "+function(e){return e?'"'+n(e)+'"':"end of input"}(s)+" found."},grammar={StartRules:["start"],SyntaxError:e,parse:function(s,t){var a,n={},r=(t=void 0!==t?t:{}).grammarSource,i={start:ft},o=ft,l="(",h=")",c="",p="/",u=",",g=".",x="-",_="th",f="nd",d="st",b="/1",v="ff",y="f",m="/9",k="/2",w=".1",S="ch",$="apters",A="apter",E="apts",C="pts",J="apt",M="aps",R="ap",P="p",I="s",z="a",T="v",K="erses",L="erse",N="er",j="ss",Z="and",Y="compare",H="cf",O="see",q="also",F="through",G="thru",B="to",D="title",W="from",V="of",U="in",X="the",Q="book",ee="",se=/^[1-8]/,te=/^[a-z0-9]/,ae=/^[a-z]/,ne=/^[0-9]/,re=/^[a-e]/,ie=/^["']/,oe=/^[,;\/:&\-\u2013\u2014~]/,le=/^[\-\u2013\u2014]/,he=/^[([]/,ce=/^[)\]]/,pe=/^[^\x1F\x1E([]/,ue=ct("(",!1),ge=ct(")",!1),xe=ct("",!1),_e=ct("/",!1),fe=pt([["1","8"]],!1,!1),de=ct(",",!1),be=ct(".",!1),ve=ct("-",!1),ye=ct("th",!1),me=ct("nd",!1),ke=ct("st",!1),we=ct("/1",!1),Se=ct("ff",!1),$e=pt([["a","z"],["0","9"]],!1,!1),Ae=ct("f",!1),Ee=pt([["a","z"]],!1,!1),Ce=ct("/9",!1),Je=ct("/2",!1),Me=ct(".1",!1),Re=pt([["0","9"]],!1,!1),Pe=pt([["a","e"]],!1,!1),Ie=ct("ch",!1),ze=ct("apters",!1),Te=ct("apter",!1),Ke=ct("apts",!1),Le=ct("pts",!1),Ne=ct("apt",!1),je=ct("aps",!1),Ze=ct("ap",!1),Ye=ct("p",!1),He=ct("s",!1),Oe=ct("a",!1),qe=ct("v",!1),Fe=ct("erses",!1),Ge=ct("erse",!1),Be=ct("er",!1),De=ct("ss",!1),We=ct(":",!1),Ve=pt(['"',"'"],!1,!1),Ue=pt([",",";","/",":","&","-","–","—","~"],!1,!1),Xe=ct("and",!1),Qe=ct("compare",!1),es=ct("cf",!1),ss=ct("see",!1),ts=ct("also",!1),as=pt(["-","–","—"],!1,!1),ns=ct("through",!1),rs=ct("thru",!1),is=ct("to",!1),os=ct("title",!1),ls=ct("from",!1),hs=ct("of",!1),cs=ct("in",!1),ps=ct("the",!1),us=ct("book",!1),gs=pt(["(","["],!1,!1),xs=pt([")","]"],!1,!1),_s=ct("",!1),fs=(ct(",000",!1),pt(["","","(","["],!0,!1)),ds=(pt([" ","\t","\r","\n"," ","*"],!1,!1),function(e,s){return s.unshift([e]),{type:"sequence",value:s,indices:[rt,nt-1]}}),bs=function(e,s){return void 0===s&&(s=[]),s.unshift([e]),{type:"sequence_post_enclosed",value:s,indices:[rt,nt-1]}},vs=function(e,s){return e.length&&2===e.length&&(e=e[0]),{type:"range",value:[e,s],indices:[rt,nt-1]}},ys=function(e){return{type:"b",value:e.value,indices:[rt,nt-1]}},ms=function(e,s){return{type:"bc",value:[e,s],indices:[rt,nt-1]}},ks=function(e,s){return{type:"bc",value:[e,s],indices:[rt,nt-1]}},ws=function(e,s){return{type:"bc_title",value:[e,s],indices:[rt,nt-1]}},Ss=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},$s=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},As=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},Es=function(e,s,t,a){return{type:"range",value:[{type:"bcv",value:[{type:"bc",value:[e,s],indices:[e.indices[0],s.indices[1]]},t],indices:[e.indices[0],t.indices[1]]},a],indices:[rt,nt-1]}},Cs=function(e,s){return{type:"bv",value:[e,s],indices:[rt,nt-1]}},Js=function(e,s){return{type:"bc",value:[s,e],indices:[rt,nt-1]}},Ms=function(e,s,t){return{type:"cb_range",value:[t,e,s],indices:[rt,nt-1]}},Rs=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},Ps=function(e,s){return{type:"bc",value:[s,e],indices:[rt,nt-1]}},Is=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},zs=function(e){return{type:"c_psalm",value:e.value,indices:[rt,nt-1]}},Ts=function(e,s){return{type:"cv_psalm",value:[e,s],indices:[rt,nt-1]}},Ks=function(e,s){return{type:"c_title",value:[e,s],indices:[rt,nt-1]}},Ls=function(e,s){return{type:"cv",value:[e,s],indices:[rt,nt-1]}},Ns=function(e,s){return{type:"cv",value:[e,s],indices:[rt,nt-1]}},js=function(e){return{type:"c",value:[e],indices:[rt,nt-1]}},Zs=function(e){return{type:"ff",value:[e],indices:[rt,nt-1]}},Ys=function(e,s){return{type:"integer_title",value:[e,s],indices:[rt,nt-1]}},Hs=function(e){return{type:"context",value:e.value,indices:[rt,nt-1]}},Os=function(e){return{type:"b",value:e.value,indices:[rt,nt-1]}},qs=function(e){return{type:"bc",value:[e,{type:"c",value:[{type:"integer",value:151,indices:[nt-2,nt-1]}],indices:[nt-2,nt-1]}],indices:[rt,nt-1]}},Fs=function(e,s){return{type:"bcv",value:[e,{type:"v",value:[s],indices:[s.indices[0],s.indices[1]]}],indices:[rt,nt-1]}},Gs=function(e){return{type:"v",value:[e],indices:[rt,nt-1]}},Bs=function(e){return{type:"v",value:[e],indices:[rt,nt-1]}},Ds=function(){return{type:"c_explicit"}},Ws=function(){return{type:"v_explicit"}},Vs=function(){return""},Us=function(e){return{type:"title",value:[e],indices:[rt,nt-1]}},Xs=function(e){return{type:"translation_sequence",value:e,indices:[rt,nt-1]}},Qs=function(e){return{type:"translation_sequence",value:e,indices:[rt,nt-1]}},et=function(e){return{type:"translation",value:e.value,indices:[rt,nt-1]}},st=function(e){return{type:"integer",value:parseInt(e.join(""),10),indices:[rt,nt-1]}},tt=function(e){return{type:"word",value:e.join(""),indices:[rt,nt-1]}},at=function(e){return{type:"stop",value:e,indices:[rt,nt-1]}},nt=0|t.peg$currPos,rt=nt,it=[{line:1,column:1}],ot=nt,lt=t.peg$maxFailExpected||[],ht=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in i))throw new Error("Can't start parsing from rule \""+t.startRule+'".');o=i[t.startRule]}function ct(e,s){return{type:"literal",text:e,ignoreCase:s}}function pt(e,s,t){return{type:"class",parts:e,inverted:s,ignoreCase:t}}function ut(e){var t,a=it[e];if(a)return a;if(e>=it.length)t=it.length-1;else for(t=e;!it[--t];);for(a={line:(a=it[t]).line,column:a.column};t<e;)10===s.charCodeAt(t)?(a.line++,a.column=1):a.column++,t++;return it[e]=a,a}function gt(e,s,t){var a=ut(e),n=ut(s),i={source:r,start:{offset:e,line:a.line,column:a.column},end:{offset:s,line:n.line,column:n.column}};return t&&r&&"function"==typeof r.offset&&(i.start=r.offset(i.start),i.end=r.offset(i.end)),i}function xt(e){nt<ot||(nt>ot&&(ot=nt,lt=[]),lt.push(e))}function _t(s,t,a){return new e(e.buildMessage(s,t),s,t,a)}function ft(){var e,s;if(e=[],(s=At())===n&&(s=dt())===n&&(s=Jt())===n&&(s=vt())===n&&(s=jt())===n&&(s=$t())===n&&(s=kt())===n&&(s=Ot())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=It())===n&&(s=yt())===n&&(s=Mt())===n&&(s=Pt())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=sa())===n&&(s=ta())===n&&(s=Vt())===n&&(s=Tt())===n&&(s=Zt())===n&&(s=Kt())===n&&(s=Lt())===n&&(s=qt())===n&&(s=na())===n&&(s=Nt())===n&&(s=Ft())===n&&(s=ia())===n&&(s=oa())===n&&(s=Yt()),s!==n)for(;s!==n;)e.push(s),(s=At())===n&&(s=dt())===n&&(s=Jt())===n&&(s=vt())===n&&(s=jt())===n&&(s=$t())===n&&(s=kt())===n&&(s=Ot())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=It())===n&&(s=yt())===n&&(s=Mt())===n&&(s=Pt())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=sa())===n&&(s=ta())===n&&(s=Vt())===n&&(s=Tt())===n&&(s=Zt())===n&&(s=Kt())===n&&(s=Lt())===n&&(s=qt())===n&&(s=na())===n&&(s=Nt())===n&&(s=Ft())===n&&(s=ia())===n&&(s=oa())===n&&(s=Yt());else e=n;return e}function dt(){var e,s,t,a,r,i;if(e=nt,(s=Jt())===n&&(s=At())===n&&(s=vt())===n&&(s=jt())===n&&(s=$t())===n&&(s=kt())===n&&(s=Ot())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=It())===n&&(s=yt())===n&&(s=Mt())===n&&(s=Pt())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=Yt()),s!==n){if(t=[],a=nt,(r=Vt())===n&&(r=null),(i=bt())!==n?a=r=[r,i]:(nt=a,a=n),a!==n)for(;a!==n;)t.push(a),a=nt,(r=Vt())===n&&(r=null),(i=bt())!==n?a=r=[r,i]:(nt=a,a=n);else t=n;t!==n?(rt=e,e=ds(s,t)):(nt=e,e=n)}else nt=e,e=n;return e}function bt(){var e;return(e=function(){var e,t,a,r,i,o,c;if(e=nt,40===s.charCodeAt(nt)?(t=l,nt++):(t=n,0===ht&&xt(ue)),t!==n)if(la(),Vt(),(a=bt())!==n){for(r=[],i=nt,(o=Vt())===n&&(o=null),(c=bt())!==n?i=o=[o,c]:(nt=i,i=n);i!==n;)r.push(i),i=nt,(o=Vt())===n&&(o=null),(c=bt())!==n?i=o=[o,c]:(nt=i,i=n);i=la(),41===s.charCodeAt(nt)?(o=h,nt++):(o=n,0===ht&&xt(ge)),o!==n?(rt=e,e=bs(a,r)):(nt=e,e=n)}else nt=e,e=n;else nt=e,e=n;return e}())===n&&(e=Jt())===n&&(e=At())===n&&(e=vt())===n&&(e=jt())===n&&(e=$t())===n&&(e=kt())===n&&(e=Ot())===n&&(e=wt())===n&&(e=St())===n&&(e=Ht())===n&&(e=mt())===n&&(e=zt())===n&&(e=Et())===n&&(e=It())===n&&(e=yt())===n&&(e=Mt())===n&&(e=Pt())===n&&(e=Ct())===n&&(e=Rt())===n&&(e=Tt())===n&&(e=Zt())===n&&(e=Kt())===n&&(e=Lt())===n&&(e=qt())===n&&(e=na())===n&&(e=Nt())===n&&(e=Ft()),e}function vt(){var e,s,t,a,r,i,o;return e=nt,(s=$t())===n&&(s=kt())===n&&(s=Ot())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=nt,(t=yt())!==n?(a=nt,ht++,r=nt,(i=Ut())!==n?((o=$t())===n&&(o=kt())===n&&(o=Ot())===n&&(o=wt())===n&&(o=St())===n&&(o=Ht())===n&&(o=mt())===n&&(o=Et())===n&&(o=yt()),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n),ht--,r!==n?(nt=a,a=void 0):a=n,a!==n?s=t=[t,a]:(nt=s,s=n)):(nt=s,s=n),s===n&&(s=Mt())===n&&(s=Pt())===n&&(s=It())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=Tt())===n&&(s=Zt())===n&&(s=Kt())===n&&(s=Lt())===n&&(s=qt())===n&&(s=na())===n&&(s=Nt())===n&&(s=Ft())),s!==n&&(t=Ut())!==n?((a=jt())===n&&(a=$t())===n&&(a=kt())===n&&(a=Ot())===n&&(a=wt())===n&&(a=St())===n&&(a=Ht())===n&&(a=mt())===n&&(a=zt())===n&&(a=Et())===n&&(a=yt())===n&&(a=Mt())===n&&(a=Pt())===n&&(a=It())===n&&(a=Ct())===n&&(a=Rt())===n&&(a=Tt())===n&&(a=Zt())===n&&(a=Kt())===n&&(a=qt())===n&&(a=na())===n&&(a=Lt())===n&&(a=Nt())===n&&(a=Ft()),a!==n?(rt=e,e=vs(s,a)):(nt=e,e=n)):(nt=e,e=n),e}function yt(){var e,t,a,r,i,o;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(r=nt,47===s.charCodeAt(nt)?(i=p,nt++):(i=n,0===ht&&xt(_e)),i!==n?(o=s.charAt(nt),se.test(o)?nt++:(o=n,0===ht&&xt(fe)),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n),r===n&&(r=null),31===s.charCodeAt(nt)?(i=c,nt++):(i=n,0===ht&&xt(xe)),i!==n?(rt=e,e=ys(a)):(nt=e,e=n)):(nt=e,e=n),e}function mt(){var e,s,t,a,r,i,o,l,h;if(e=nt,(s=yt())!==n){if(t=nt,(a=Bt())!==n?(r=nt,ht++,i=nt,(o=Nt())!==n&&(l=Dt())!==n&&(h=Ft())!==n?i=o=[o,l,h]:(nt=i,i=n),ht--,i!==n?(nt=r,r=void 0):r=n,r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t===n){if(t=[],(a=Dt())!==n)for(;a!==n;)t.push(a),a=Dt();else t=n;if(t===n){if(t=[],(a=Wt())!==n)for(;a!==n;)t.push(a),a=Wt();else t=n;if(t===n){if(t=[],(a=Ut())!==n)for(;a!==n;)t.push(a),a=Ut();else t=n;t===n&&(t=la())}}}t!==n&&(a=Nt())!==n?(rt=e,e=ms(s,a)):(nt=e,e=n)}else nt=e,e=n;return e}function kt(){var e,s,t;return e=nt,(s=Ht())===n&&(s=mt()),s!==n&&(t=Xt())!==n?(rt=e,e=ws(s,t)):(nt=e,e=n),e}function wt(){var e,t,a,r,i,o,l;return e=nt,(t=Ht())===n&&(t=mt()),t!==n?(a=nt,ht++,r=nt,46===s.charCodeAt(nt)?(i=g,nt++):(i=n,0===ht&&xt(be)),i!==n&&(o=Bt())!==n&&(l=Ft())!==n?r=i=[i,o,l]:(nt=r,r=n),r===n&&(r=nt,(i=Vt())===n&&(i=null),(o=Bt())!==n&&(l=Kt())!==n?r=i=[i,o,l]:(nt=r,r=n)),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=nt,(i=Dt())===n&&(i=Vt()),i===n&&(i=null),(o=Bt())!==n?r=i=[i,o]:(nt=r,r=n),r===n&&(r=Dt()),r!==n?((i=qt())===n&&(i=Ft()),i!==n?(rt=e,e=Ss(t,i)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function St(){var e,s,t,a,r,i,o;return e=nt,(s=Ht())===n&&(s=mt()),s!==n&&Wt()!==n?((t=qt())===n&&(t=Ft()),t!==n?(a=nt,ht++,r=nt,(i=Dt())!==n&&(o=Ft())!==n?r=i=[i,o]:(nt=r,r=n),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(rt=e,e=$s(s,t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function $t(){var e,t,a,r,i,o,l,h;return e=nt,t=function(){var e,t,a,r;return e=nt,(t=yt())!==n?(la(),44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de)),a!==n?(la(),(r=Nt())!==n?(rt=e,e=ks(t,r)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}(),t!==n?(la(),44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de)),a!==n?(la(),(r=qt())===n&&(r=Ft()),r!==n?(i=nt,ht++,o=nt,(l=Dt())!==n&&(h=Ft())!==n?o=l=[l,h]:(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?(rt=e,e=As(t,r)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function At(){var e,t,a,r,i,o,l,h;return e=nt,(t=yt())!==n?(45===s.charCodeAt(nt)?(a=x,nt++):(a=n,0===ht&&xt(ve)),a===n&&(a=ha()),a===n&&(a=null),(r=Nt())!==n?(45===s.charCodeAt(nt)?(i=x,nt++):(i=n,0===ht&&xt(ve)),i!==n&&(o=Ft())!==n?(45===s.charCodeAt(nt)?(l=x,nt++):(l=n,0===ht&&xt(ve)),l!==n&&(h=Ft())!==n?(rt=e,e=Es(t,r,o,h)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Et(){var e,s,t,a,r,i;if(e=nt,(s=yt())!==n){if(t=[],(a=Dt())!==n)for(;a!==n;)t.push(a),a=Dt();else t=n;if(t===n){if(t=[],(a=Wt())!==n)for(;a!==n;)t.push(a),a=Wt();else t=n;if(t===n){if(t=[],(a=Ut())!==n)for(;a!==n;)t.push(a),a=Ut();else t=n;if(t===n){if(t=nt,a=[],(r=Vt())!==n)for(;r!==n;)a.push(r),r=Vt();else a=n;a!==n?(r=nt,ht++,i=Bt(),ht--,i!==n?(nt=r,r=void 0):r=n,r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t===n&&(t=la())}}}t!==n?((a=qt())===n&&(a=Ft()),a!==n?(rt=e,e=Cs(s,a)):(nt=e,e=n)):(nt=e,e=n)}else nt=e,e=n;return e}function Ct(){var e,s,t;return e=nt,Gt()!==n&&(s=Nt())!==n?(Qt()===n&&null,(t=yt())!==n?(rt=e,e=Js(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function Jt(){var e,s,t,a;return e=nt,Gt()!==n&&(s=Nt())!==n&&Ut()!==n&&(t=Nt())!==n?(Qt()===n&&null,(a=yt())!==n?(rt=e,e=Ms(s,t,a)):(nt=e,e=n)):(nt=e,e=n),e}function Mt(){var e,s,t;return e=nt,(s=Ct())!==n?(Vt()===n&&null,Bt()!==n&&(t=Ft())!==n?(rt=e,e=Rs(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function Rt(){var e,t,a,r;return e=nt,(t=Nt())!==n?(s.substr(nt,2)===_?(a=_,nt+=2):(a=n,0===ht&&xt(ye)),a===n&&(s.substr(nt,2)===f?(a=f,nt+=2):(a=n,0===ht&&xt(me)),a===n&&(s.substr(nt,2)===d?(a=d,nt+=2):(a=n,0===ht&&xt(ke)))),a!==n&&Gt()!==n?(Qt()===n&&null,(r=yt())!==n?(rt=e,e=Ps(t,r)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Pt(){var e,s,t;return e=nt,(s=Rt())!==n?(Vt()===n&&null,Bt()!==n&&(t=Ft())!==n?(rt=e,e=Is(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function It(){var e,t,a,r;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(s.substr(nt,3)===b?(r=b,nt+=3):(r=n,0===ht&&xt(we)),r!==n?(rt=e,e=zs(a)):(nt=e,e=n)):(nt=e,e=n),e}function zt(){var e,s,t;return e=nt,(s=It())!==n?(Vt()===n&&null,Bt()!==n&&(t=Ft())!==n?(rt=e,e=Ts(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function Tt(){var e,s,t;return e=nt,Gt()!==n&&(s=Nt())!==n&&(t=Xt())!==n?(rt=e,e=Ks(s,t)):(nt=e,e=n),e}function Kt(){var e,t,a,r,i,o,l;return e=nt,Bt()===n&&null,(t=Nt())!==n?(a=nt,ht++,r=nt,46===s.charCodeAt(nt)?(i=g,nt++):(i=n,0===ht&&xt(be)),i!==n&&(o=Bt())!==n&&(l=Ft())!==n?r=i=[i,o,l]:(nt=r,r=n),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=nt,(i=Dt())===n&&(i=null),(o=Bt())!==n?r=i=[i,o]:(nt=r,r=n),r===n&&(r=Dt()),r!==n?((i=qt())===n&&(i=Ft()),i!==n?(rt=e,e=Ls(t,i)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Lt(){var e,s,t,a,r,i,o;return e=nt,(s=Nt())!==n&&Wt()!==n?((t=qt())===n&&(t=Ft()),t!==n?(a=nt,ht++,r=nt,(i=Dt())!==n&&(o=Ft())!==n?r=i=[i,o]:(nt=r,r=n),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(rt=e,e=Ns(s,t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Nt(){var e,s;return e=nt,Gt()===n&&null,(s=na())!==n?(rt=e,e=js(s)):(nt=e,e=n),e}function jt(){var e,t,a,r,i,o;return e=nt,(t=wt())===n&&(t=St())===n&&(t=mt())===n&&(t=Et())===n&&(t=Kt())===n&&(t=Lt())===n&&(t=na())===n&&(t=Nt())===n&&(t=Ft()),t!==n?(la(),a=nt,s.substr(nt,2)===v?(r=v,nt+=2):(r=n,0===ht&&xt(Se)),r!==n?(i=nt,ht++,o=s.charAt(nt),te.test(o)?nt++:(o=n,0===ht&&xt($e)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n),a===n&&(a=nt,102===s.charCodeAt(nt)?(r=y,nt++):(r=n,0===ht&&xt(Ae)),r!==n?(i=nt,ht++,o=s.charAt(nt),te.test(o)?nt++:(o=n,0===ht&&xt($e)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n)),a!==n?((r=ea())===n&&(r=null),i=nt,ht++,o=s.charAt(nt),ae.test(o)?nt++:(o=n,0===ht&&xt(Ee)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?(rt=e,e=Zs(t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Zt(){var e,s,t;return e=nt,(s=na())!==n&&(t=Xt())!==n?(rt=e,e=Ys(s,t)):(nt=e,e=n),e}function Yt(){var e,t,a,r;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(s.substr(nt,3)===m?(r=m,nt+=3):(r=n,0===ht&&xt(Ce)),r!==n?(rt=e,e=Hs(a)):(nt=e,e=n)):(nt=e,e=n),e}function Ht(){var e,t,a,r,i;return e=nt,t=function(){var e,t,a,r;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(s.substr(nt,3)===k?(r=k,nt+=3):(r=n,0===ht&&xt(Je)),r!==n?(rt=e,e=Os(a)):(nt=e,e=n)):(nt=e,e=n),e}(),t!==n?(s.substr(nt,2)===w?(a=w,nt+=2):(a=n,0===ht&&xt(Me)),a!==n?(r=nt,ht++,i=s.charAt(nt),ne.test(i)?nt++:(i=n,0===ht&&xt(Re)),ht--,i===n?r=void 0:(nt=r,r=n),r!==n?(rt=e,e=qs(t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Ot(){var e,t,a,r;return e=nt,(t=Ht())!==n?(46===s.charCodeAt(nt)?(a=g,nt++):(a=n,0===ht&&xt(be)),a!==n&&(r=na())!==n?(rt=e,e=Fs(t,r)):(nt=e,e=n)):(nt=e,e=n),e}function qt(){var e,t,a,r,i,o,l;return e=nt,Bt()===n&&null,(t=na())!==n?(la(),a=nt,ht++,r=nt,s.substr(nt,2)===v?(i=v,nt+=2):(i=n,0===ht&&xt(Se)),i!==n?(o=nt,ht++,l=s.charAt(nt),te.test(l)?nt++:(l=n,0===ht&&xt($e)),ht--,l===n?o=void 0:(nt=o,o=n),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n),r===n&&(r=nt,102===s.charCodeAt(nt)?(i=y,nt++):(i=n,0===ht&&xt(Ae)),i!==n?(o=nt,ht++,l=s.charAt(nt),te.test(l)?nt++:(l=n,0===ht&&xt($e)),ht--,l===n?o=void 0:(nt=o,o=n),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n)),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=s.charAt(nt),re.test(r)?nt++:(r=n,0===ht&&xt(Pe)),r!==n?(i=nt,ht++,o=s.charAt(nt),ae.test(o)?nt++:(o=n,0===ht&&xt(Ee)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?(rt=e,e=Gs(t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Ft(){var e,s;return e=nt,Bt()===n&&null,(s=na())!==n?(rt=e,e=Bs(s)):(nt=e,e=n),e}function Gt(){var e,t,a,r,i,o;return e=nt,la(),t=nt,s.substr(nt,2)===S?(a=S,nt+=2):(a=n,0===ht&&xt(Ie)),a!==n?(s.substr(nt,6)===$?(r=$,nt+=6):(r=n,0===ht&&xt(ze)),r===n&&(s.substr(nt,5)===A?(r=A,nt+=5):(r=n,0===ht&&xt(Te)),r===n&&(r=nt,s.substr(nt,4)===E?(i=E,nt+=4):(i=n,0===ht&&xt(Ke)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,3)===C?(i=C,nt+=3):(i=n,0===ht&&xt(Le)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,3)===J?(i=J,nt+=3):(i=n,0===ht&&xt(Ne)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,3)===M?(i=M,nt+=3):(i=n,0===ht&&xt(je)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===R?(i=R,nt+=2):(i=n,0===ht&&xt(Ze)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,112===s.charCodeAt(nt)?(i=P,nt++):(i=n,0===ht&&xt(Ye)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,115===s.charCodeAt(nt)?(i=I,nt++):(i=n,0===ht&&xt(He)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,97===s.charCodeAt(nt)?(i=z,nt++):(i=n,0===ht&&xt(Oe)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=ea())===n&&(r=null)))))))))),r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t!==n?(a=la(),rt=e,e=Ds()):(nt=e,e=n),e}function Bt(){var e,t,a,r,i,o;return e=nt,la(),t=nt,118===s.charCodeAt(nt)?(a=T,nt++):(a=n,0===ht&&xt(qe)),a!==n?(s.substr(nt,5)===K?(r=K,nt+=5):(r=n,0===ht&&xt(Fe)),r===n&&(s.substr(nt,4)===L?(r=L,nt+=4):(r=n,0===ht&&xt(Ge)),r===n&&(r=nt,s.substr(nt,2)===N?(i=N,nt+=2):(i=n,0===ht&&xt(Be)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===j?(i=j,nt+=2):(i=n,0===ht&&xt(De)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,115===s.charCodeAt(nt)?(i=I,nt++):(i=n,0===ht&&xt(He)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,118===s.charCodeAt(nt)?(i=T,nt++):(i=n,0===ht&&xt(qe)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=ea())===n&&(r=null)))))),r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t!==n?(a=nt,ht++,r=s.charAt(nt),ae.test(r)?nt++:(r=n,0===ht&&xt(Ee)),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=la(),rt=e,e=Ws()):(nt=e,e=n)):(nt=e,e=n),e}function Dt(){var e,t,a,r,i,o,l,h,c,p;if(e=nt,t=la(),a=[],58===s.charCodeAt(nt)?(r=":",nt++):(r=n,0===ht&&xt(We)),r!==n)for(;r!==n;)a.push(r),58===s.charCodeAt(nt)?(r=":",nt++):(r=n,0===ht&&xt(We));else a=n;return a===n&&(a=nt,46===s.charCodeAt(nt)?(r=g,nt++):(r=n,0===ht&&xt(be)),r!==n?(i=nt,ht++,o=nt,l=la(),46===s.charCodeAt(nt)?(h=g,nt++):(h=n,0===ht&&xt(be)),h!==n?(c=la(),46===s.charCodeAt(nt)?(p=g,nt++):(p=n,0===ht&&xt(be)),p!==n?o=l=[l,h,c,p]:(nt=o,o=n)):(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n)),a!==n?e=t=[t,a,r=la()]:(nt=e,e=n),e}function Wt(){var e,t,a;return e=nt,t=la(),a=s.charAt(nt),ie.test(a)?nt++:(a=n,0===ht&&xt(Ve)),a!==n?e=t=[t,a,la()]:(nt=e,e=n),e===n&&(e=ha()),e}function Vt(){var e,t,a,r,i,o,l,h,c,p;if(e=nt,t=[],a=s.charAt(nt),oe.test(a)?nt++:(a=n,0===ht&&xt(Ue)),a===n&&(a=nt,46===s.charCodeAt(nt)?(r=g,nt++):(r=n,0===ht&&xt(be)),r!==n?(i=nt,ht++,o=nt,l=la(),46===s.charCodeAt(nt)?(h=g,nt++):(h=n,0===ht&&xt(be)),h!==n?(c=la(),46===s.charCodeAt(nt)?(p=g,nt++):(p=n,0===ht&&xt(be)),p!==n?o=l=[l,h,c,p]:(nt=o,o=n)):(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,3)===Z?(a=Z,nt+=3):(a=n,0===ht&&xt(Xe)),a===n&&(s.substr(nt,7)===Y?(a=Y,nt+=7):(a=n,0===ht&&xt(Qe)),a===n&&(a=nt,s.substr(nt,2)===H?(r=H,nt+=2):(r=n,0===ht&&xt(es)),r!==n?((i=ea())===n&&(i=null),a=r=[r,i]):(nt=a,a=n),a===n&&(a=nt,s.substr(nt,3)===O?(r=O,nt+=3):(r=n,0===ht&&xt(ss)),r!==n&&(i=ha())!==n?(s.substr(nt,4)===q?(o=q,nt+=4):(o=n,0===ht&&xt(ts)),o!==n?a=r=[r,i,o]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,4)===q?(a=q,nt+=4):(a=n,0===ht&&xt(ts)),a===n&&(s.substr(nt,3)===O?(a=O,nt+=3):(a=n,0===ht&&xt(ss)),a===n&&(a=ha())))))))),a!==n)for(;a!==n;)t.push(a),a=s.charAt(nt),oe.test(a)?nt++:(a=n,0===ht&&xt(Ue)),a===n&&(a=nt,46===s.charCodeAt(nt)?(r=g,nt++):(r=n,0===ht&&xt(be)),r!==n?(i=nt,ht++,o=nt,l=la(),46===s.charCodeAt(nt)?(h=g,nt++):(h=n,0===ht&&xt(be)),h!==n?(c=la(),46===s.charCodeAt(nt)?(p=g,nt++):(p=n,0===ht&&xt(be)),p!==n?o=l=[l,h,c,p]:(nt=o,o=n)):(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,3)===Z?(a=Z,nt+=3):(a=n,0===ht&&xt(Xe)),a===n&&(s.substr(nt,7)===Y?(a=Y,nt+=7):(a=n,0===ht&&xt(Qe)),a===n&&(a=nt,s.substr(nt,2)===H?(r=H,nt+=2):(r=n,0===ht&&xt(es)),r!==n?((i=ea())===n&&(i=null),a=r=[r,i]):(nt=a,a=n),a===n&&(a=nt,s.substr(nt,3)===O?(r=O,nt+=3):(r=n,0===ht&&xt(ss)),r!==n&&(i=ha())!==n?(s.substr(nt,4)===q?(o=q,nt+=4):(o=n,0===ht&&xt(ts)),o!==n?a=r=[r,i,o]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,4)===q?(a=q,nt+=4):(a=n,0===ht&&xt(ts)),a===n&&(s.substr(nt,3)===O?(a=O,nt+=3):(a=n,0===ht&&xt(ss)),a===n&&(a=ha()))))))));else t=n;return t!==n&&(rt=e,t=Vs()),e=t}function Ut(){var e,t,a,r,i;if(e=nt,t=la(),a=[],r=nt,i=s.charAt(nt),le.test(i)?nt++:(i=n,0===ht&&xt(as)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,7)===F?(i=F,nt+=7):(i=n,0===ht&&xt(ns)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,4)===G?(i=G,nt+=4):(i=n,0===ht&&xt(rs)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===B?(i=B,nt+=2):(i=n,0===ht&&xt(is)),i!==n?r=i=[i,la()]:(nt=r,r=n)))),r!==n)for(;r!==n;)a.push(r),r=nt,i=s.charAt(nt),le.test(i)?nt++:(i=n,0===ht&&xt(as)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,7)===F?(i=F,nt+=7):(i=n,0===ht&&xt(ns)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,4)===G?(i=G,nt+=4):(i=n,0===ht&&xt(rs)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===B?(i=B,nt+=2):(i=n,0===ht&&xt(is)),i!==n?r=i=[i,la()]:(nt=r,r=n))));else a=n;return a!==n?e=t=[t,a]:(nt=e,e=n),e}function Xt(){var e,t,a;return e=nt,(t=Dt())===n&&(t=Vt()),t===n&&(t=null),s.substr(nt,5)===D?(a=D,nt+=5):(a=n,0===ht&&xt(os)),a!==n?(rt=e,e=Us(a)):(nt=e,e=n),e}function Qt(){var e,t,a,r,i,o,l,h,c,p;return e=nt,t=la(),s.substr(nt,4)===W?(a=W,nt+=4):(a=n,0===ht&&xt(ls)),a===n&&(s.substr(nt,2)===V?(a=V,nt+=2):(a=n,0===ht&&xt(hs)),a===n&&(s.substr(nt,2)===U?(a=U,nt+=2):(a=n,0===ht&&xt(cs)))),a!==n?(r=la(),i=nt,s.substr(nt,3)===X?(o=X,nt+=3):(o=n,0===ht&&xt(ps)),o!==n?(l=la(),s.substr(nt,4)===Q?(h=Q,nt+=4):(h=n,0===ht&&xt(us)),h!==n?(c=la(),s.substr(nt,2)===V?(p=V,nt+=2):(p=n,0===ht&&xt(hs)),p!==n?i=o=[o,l,h,c,p,la()]:(nt=i,i=n)):(nt=i,i=n)):(nt=i,i=n),i===n&&(i=null),e=t=[t,a,r,i]):(nt=e,e=n),e}function ea(){var e,t,a,r,i,o,l,h,c;return e=nt,t=la(),46===s.charCodeAt(nt)?(a=g,nt++):(a=n,0===ht&&xt(be)),a!==n?(r=nt,ht++,i=nt,o=la(),46===s.charCodeAt(nt)?(l=g,nt++):(l=n,0===ht&&xt(be)),l!==n?(h=la(),46===s.charCodeAt(nt)?(c=g,nt++):(c=n,0===ht&&xt(be)),c!==n?i=o=[o,l,h,c]:(nt=i,i=n)):(nt=i,i=n),ht--,i===n?r=void 0:(nt=r,r=n),r!==n?e=t=[t,a,r]:(nt=e,e=n)):(nt=e,e=n),e}function sa(){var e,t,a,r,i,o,l,h;if(e=nt,la(),t=s.charAt(nt),he.test(t)?nt++:(t=n,0===ht&&xt(gs)),t!==n){if(la(),a=nt,(r=aa())!==n){for(i=[],o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);o!==n;)i.push(o),o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);a=r=[r,i]}else nt=a,a=n;a!==n?(r=la(),i=s.charAt(nt),ce.test(i)?nt++:(i=n,0===ht&&xt(xs)),i!==n?(rt=e,e=Xs(a)):(nt=e,e=n)):(nt=e,e=n)}else nt=e,e=n;return e}function ta(){var e,t,a,r,i,o,l,h;if(e=nt,la(),t=nt,44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de)),a!==n?t=a=[a,r=la()]:(nt=t,t=n),t===n&&(t=null),a=nt,(r=aa())!==n){for(i=[],o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);o!==n;)i.push(o),o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);a=r=[r,i]}else nt=a,a=n;return a!==n?(rt=e,e=Qs(a)):(nt=e,e=n),e}function aa(){var e,t,a,r;return e=nt,30===s.charCodeAt(nt)?(t=ee,nt++):(t=n,0===ht&&xt(_s)),t!==n&&(a=ra())!==n?(30===s.charCodeAt(nt)?(r=ee,nt++):(r=n,0===ht&&xt(_s)),r!==n?(rt=e,e=et(a)):(nt=e,e=n)):(nt=e,e=n),e}function na(){var e;return(e=/^[0-9]{1,3}(?!\d|,000)/.exec(s.substr(nt)))?(rt=nt,nt+=e[0].length,{type:"integer",value:parseInt(e[0],10),indices:[rt,nt-1]}):n}function ra(){var e,t,a;if(e=nt,t=[],a=s.charAt(nt),ne.test(a)?nt++:(a=n,0===ht&&xt(Re)),a!==n)for(;a!==n;)t.push(a),a=s.charAt(nt),ne.test(a)?nt++:(a=n,0===ht&&xt(Re));else t=n;return t!==n&&(rt=e,t=st(t)),e=t}function ia(){var e,t,a;if(e=nt,t=[],a=s.charAt(nt),pe.test(a)?nt++:(a=n,0===ht&&xt(fs)),a!==n)for(;a!==n;)t.push(a),a=s.charAt(nt),pe.test(a)?nt++:(a=n,0===ht&&xt(fs));else t=n;return t!==n&&(rt=e,t=tt(t)),e=t}function oa(){var e,t;return e=nt,t=s.charAt(nt),he.test(t)?nt++:(t=n,0===ht&&xt(gs)),t!==n&&(rt=e,t=at(t)),e=t}function la(){var e;return(e=ha())===n&&(e=null),e}function ha(){var e;return(e=/^[\s\xa0*]+/.exec(s.substr(nt)))?(nt+=e[0].length,[]):n}if("punctuation_strategy"in t&&"eu"===t.punctuation_strategy&&(Dt=function(){var e,t,a;e=nt,t=la(),44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de));a!==n?e=t=[t,a,la()]:(nt=e,e=n);return e},oe=/^[;\/:&\-\u2013\u2014~]/),a=o(),t.peg$library)return{peg$result:a,peg$currPos:nt,peg$FAILED:n,peg$maxFailExpected:lt,peg$maxFailPos:ot};if(a!==n&&nt===s.length)return a;throw a!==n&&nt<s.length&&xt({type:"end"}),_t(lt,ot<s.length?s.charAt(ot):null,ot<s.length?gt(ot,ot+1):gt(ot,ot))}}}();
222
+ )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")}];if(!0===e&&"none"===s)return t;const a=[];for(const n of t)!1===e&&null!=n.apocrypha&&!0===n.apocrypha||("books"===s&&(n.regexp=new RegExp(n.regexp.source,"g")),a.push(n));return a},bcv_parser.prototype.regexps.books=bcv_parser.prototype.regexps.get_books(!1,"none"),function(){"use strict";function e(s,t,a,n){var r=Error.call(this,s);return Object.setPrototypeOf&&Object.setPrototypeOf(r,e.prototype),r.expected=t,r.found=a,r.location=n,r.name="SyntaxError",r}function s(e,s,t){return t=t||" ",e.length>s?e:(s-=e.length,e+(t+=t.repeat(s)).slice(0,s))}!function(e,s){function t(){this.constructor=e}t.prototype=s.prototype,e.prototype=new t}(e,Error),e.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var a,n=null;for(a=0;a<e.length;a++)if(e[a].source===this.location.source){n=e[a].text.split(/\r\n|\n|\r/g);break}var r=this.location.start,i=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(r):r,o=this.location.source+":"+i.line+":"+i.column;if(n){var l=this.location.end,h=s("",i.line.toString().length," "),c=n[r.line-1],p=(r.line===l.line?l.column:c.length+1)-r.column||1;t+="\n --\x3e "+o+"\n"+h+" |\n"+i.line+" | "+c+"\n"+h+" | "+s("",r.column-1," ")+s("",p,"^")}else t+="\n at "+o}return t},e.buildMessage=function(e,s){var t={literal:function(e){return'"'+n(e.text)+'"'},class:function(e){var s=e.parts.map((function(e){return Array.isArray(e)?r(e[0])+"-"+r(e[1]):r(e)}));return"["+(e.inverted?"^":"")+s.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function a(e){return e.charCodeAt(0).toString(16).toUpperCase()}function n(e){return e.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(e){return"\\x0"+a(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+a(e)}))}function r(e){return e.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(e){return"\\x0"+a(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+a(e)}))}function i(e){return t[e.type](e)}return"Expected "+function(e){var s,t,a=e.map(i);if(a.sort(),a.length>0){for(s=1,t=1;s<a.length;s++)a[s-1]!==a[s]&&(a[t]=a[s],t++);a.length=t}switch(a.length){case 1:return a[0];case 2:return a[0]+" or "+a[1];default:return a.slice(0,-1).join(", ")+", or "+a[a.length-1]}}(e)+" but "+function(e){return e?'"'+n(e)+'"':"end of input"}(s)+" found."},grammar={StartRules:["start"],SyntaxError:e,parse:function(s,t){var a,n={},r=(t=void 0!==t?t:{}).grammarSource,i={start:ft},o=ft,l="(",h=")",c="",p="/",u=",",g=".",x="-",_="th",f="nd",d="st",b="/1",v="ff",y="f",m="/9",k="/2",w=".1",S="ch",A="apters",$="apter",E="apts",C="pts",J="apt",M="aps",R="ap",P="p",I="s",z="a",T="v",K="erses",L="erse",N="er",j="ss",Z="and",Y="compare",H="cf",q="see",O="also",F="through",G="thru",B="to",D="title",W="from",V="of",U="in",X="the",Q="book",ee="",se=/^[1-8]/,te=/^[a-z0-9]/,ae=/^[a-z]/,ne=/^[0-9]/,re=/^[a-e]/,ie=/^["']/,oe=/^[,;\/:&\-\u2013\u2014~]/,le=/^[\-\u2013\u2014]/,he=/^[([]/,ce=/^[)\]]/,pe=/^[^\x1F\x1E([]/,ue=ct("(",!1),ge=ct(")",!1),xe=ct("",!1),_e=ct("/",!1),fe=pt([["1","8"]],!1,!1),de=ct(",",!1),be=ct(".",!1),ve=ct("-",!1),ye=ct("th",!1),me=ct("nd",!1),ke=ct("st",!1),we=ct("/1",!1),Se=ct("ff",!1),Ae=pt([["a","z"],["0","9"]],!1,!1),$e=ct("f",!1),Ee=pt([["a","z"]],!1,!1),Ce=ct("/9",!1),Je=ct("/2",!1),Me=ct(".1",!1),Re=pt([["0","9"]],!1,!1),Pe=pt([["a","e"]],!1,!1),Ie=ct("ch",!1),ze=ct("apters",!1),Te=ct("apter",!1),Ke=ct("apts",!1),Le=ct("pts",!1),Ne=ct("apt",!1),je=ct("aps",!1),Ze=ct("ap",!1),Ye=ct("p",!1),He=ct("s",!1),qe=ct("a",!1),Oe=ct("v",!1),Fe=ct("erses",!1),Ge=ct("erse",!1),Be=ct("er",!1),De=ct("ss",!1),We=ct(":",!1),Ve=pt(['"',"'"],!1,!1),Ue=pt([",",";","/",":","&","-","–","—","~"],!1,!1),Xe=ct("and",!1),Qe=ct("compare",!1),es=ct("cf",!1),ss=ct("see",!1),ts=ct("also",!1),as=pt(["-","–","—"],!1,!1),ns=ct("through",!1),rs=ct("thru",!1),is=ct("to",!1),os=ct("title",!1),ls=ct("from",!1),hs=ct("of",!1),cs=ct("in",!1),ps=ct("the",!1),us=ct("book",!1),gs=pt(["(","["],!1,!1),xs=pt([")","]"],!1,!1),_s=ct("",!1),fs=(ct(",000",!1),pt(["","","(","["],!0,!1)),ds=(pt([" ","\t","\r","\n"," ","*"],!1,!1),function(e,s){return s.unshift([e]),{type:"sequence",value:s,indices:[rt,nt-1]}}),bs=function(e,s){return void 0===s&&(s=[]),s.unshift([e]),{type:"sequence_post_enclosed",value:s,indices:[rt,nt-1]}},vs=function(e,s){return e.length&&2===e.length&&(e=e[0]),{type:"range",value:[e,s],indices:[rt,nt-1]}},ys=function(e){return{type:"b",value:e.value,indices:[rt,nt-1]}},ms=function(e,s){return{type:"bc",value:[e,s],indices:[rt,nt-1]}},ks=function(e,s){return{type:"bc",value:[e,s],indices:[rt,nt-1]}},ws=function(e,s){return{type:"bc_title",value:[e,s],indices:[rt,nt-1]}},Ss=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},As=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},$s=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},Es=function(e,s,t,a){return{type:"range",value:[{type:"bcv",value:[{type:"bc",value:[e,s],indices:[e.indices[0],s.indices[1]]},t],indices:[e.indices[0],t.indices[1]]},a],indices:[rt,nt-1]}},Cs=function(e,s){return{type:"bv",value:[e,s],indices:[rt,nt-1]}},Js=function(e,s){return{type:"bc",value:[s,e],indices:[rt,nt-1]}},Ms=function(e,s,t){return{type:"cb_range",value:[t,e,s],indices:[rt,nt-1]}},Rs=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},Ps=function(e,s){return{type:"bc",value:[s,e],indices:[rt,nt-1]}},Is=function(e,s){return{type:"bcv",value:[e,s],indices:[rt,nt-1]}},zs=function(e){return{type:"c_psalm",value:e.value,indices:[rt,nt-1]}},Ts=function(e,s){return{type:"cv_psalm",value:[e,s],indices:[rt,nt-1]}},Ks=function(e,s){return{type:"c_title",value:[e,s],indices:[rt,nt-1]}},Ls=function(e,s){return{type:"cv",value:[e,s],indices:[rt,nt-1]}},Ns=function(e,s){return{type:"cv",value:[e,s],indices:[rt,nt-1]}},js=function(e){return{type:"c",value:[e],indices:[rt,nt-1]}},Zs=function(e){return{type:"ff",value:[e],indices:[rt,nt-1]}},Ys=function(e,s){return{type:"integer_title",value:[e,s],indices:[rt,nt-1]}},Hs=function(e){return{type:"context",value:e.value,indices:[rt,nt-1]}},qs=function(e){return{type:"b",value:e.value,indices:[rt,nt-1]}},Os=function(e){return{type:"bc",value:[e,{type:"c",value:[{type:"integer",value:151,indices:[nt-2,nt-1]}],indices:[nt-2,nt-1]}],indices:[rt,nt-1]}},Fs=function(e,s){return{type:"bcv",value:[e,{type:"v",value:[s],indices:[s.indices[0],s.indices[1]]}],indices:[rt,nt-1]}},Gs=function(e){return{type:"v",value:[e],indices:[rt,nt-1]}},Bs=function(e){return{type:"v",value:[e],indices:[rt,nt-1]}},Ds=function(){return{type:"c_explicit"}},Ws=function(){return{type:"v_explicit"}},Vs=function(){return""},Us=function(e){return{type:"title",value:[e],indices:[rt,nt-1]}},Xs=function(e){return{type:"translation_sequence",value:e,indices:[rt,nt-1]}},Qs=function(e){return{type:"translation_sequence",value:e,indices:[rt,nt-1]}},et=function(e){return{type:"translation",value:e.value,indices:[rt,nt-1]}},st=function(e){return{type:"integer",value:parseInt(e.join(""),10),indices:[rt,nt-1]}},tt=function(e){return{type:"word",value:e.join(""),indices:[rt,nt-1]}},at=function(e){return{type:"stop",value:e,indices:[rt,nt-1]}},nt=0|t.peg$currPos,rt=nt,it=[{line:1,column:1}],ot=nt,lt=t.peg$maxFailExpected||[],ht=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in i))throw new Error("Can't start parsing from rule \""+t.startRule+'".');o=i[t.startRule]}function ct(e,s){return{type:"literal",text:e,ignoreCase:s}}function pt(e,s,t){return{type:"class",parts:e,inverted:s,ignoreCase:t}}function ut(e){var t,a=it[e];if(a)return a;if(e>=it.length)t=it.length-1;else for(t=e;!it[--t];);for(a={line:(a=it[t]).line,column:a.column};t<e;)10===s.charCodeAt(t)?(a.line++,a.column=1):a.column++,t++;return it[e]=a,a}function gt(e,s,t){var a=ut(e),n=ut(s),i={source:r,start:{offset:e,line:a.line,column:a.column},end:{offset:s,line:n.line,column:n.column}};return t&&r&&"function"==typeof r.offset&&(i.start=r.offset(i.start),i.end=r.offset(i.end)),i}function xt(e){nt<ot||(nt>ot&&(ot=nt,lt=[]),lt.push(e))}function _t(s,t,a){return new e(e.buildMessage(s,t),s,t,a)}function ft(){var e,s;if(e=[],(s=$t())===n&&(s=dt())===n&&(s=Jt())===n&&(s=vt())===n&&(s=jt())===n&&(s=At())===n&&(s=kt())===n&&(s=qt())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=It())===n&&(s=yt())===n&&(s=Mt())===n&&(s=Pt())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=sa())===n&&(s=ta())===n&&(s=Vt())===n&&(s=Tt())===n&&(s=Zt())===n&&(s=Kt())===n&&(s=Lt())===n&&(s=Ot())===n&&(s=na())===n&&(s=Nt())===n&&(s=Ft())===n&&(s=ia())===n&&(s=oa())===n&&(s=Yt()),s!==n)for(;s!==n;)e.push(s),(s=$t())===n&&(s=dt())===n&&(s=Jt())===n&&(s=vt())===n&&(s=jt())===n&&(s=At())===n&&(s=kt())===n&&(s=qt())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=It())===n&&(s=yt())===n&&(s=Mt())===n&&(s=Pt())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=sa())===n&&(s=ta())===n&&(s=Vt())===n&&(s=Tt())===n&&(s=Zt())===n&&(s=Kt())===n&&(s=Lt())===n&&(s=Ot())===n&&(s=na())===n&&(s=Nt())===n&&(s=Ft())===n&&(s=ia())===n&&(s=oa())===n&&(s=Yt());else e=n;return e}function dt(){var e,s,t,a,r,i;if(e=nt,(s=Jt())===n&&(s=$t())===n&&(s=vt())===n&&(s=jt())===n&&(s=At())===n&&(s=kt())===n&&(s=qt())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=It())===n&&(s=yt())===n&&(s=Mt())===n&&(s=Pt())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=Yt()),s!==n){if(t=[],a=nt,(r=Vt())===n&&(r=null),(i=bt())!==n?a=r=[r,i]:(nt=a,a=n),a!==n)for(;a!==n;)t.push(a),a=nt,(r=Vt())===n&&(r=null),(i=bt())!==n?a=r=[r,i]:(nt=a,a=n);else t=n;t!==n?(rt=e,e=ds(s,t)):(nt=e,e=n)}else nt=e,e=n;return e}function bt(){var e;return(e=function(){var e,t,a,r,i,o,c;if(e=nt,40===s.charCodeAt(nt)?(t=l,nt++):(t=n,0===ht&&xt(ue)),t!==n)if(la(),Vt(),(a=bt())!==n){for(r=[],i=nt,(o=Vt())===n&&(o=null),(c=bt())!==n?i=o=[o,c]:(nt=i,i=n);i!==n;)r.push(i),i=nt,(o=Vt())===n&&(o=null),(c=bt())!==n?i=o=[o,c]:(nt=i,i=n);i=la(),41===s.charCodeAt(nt)?(o=h,nt++):(o=n,0===ht&&xt(ge)),o!==n?(rt=e,e=bs(a,r)):(nt=e,e=n)}else nt=e,e=n;else nt=e,e=n;return e}())===n&&(e=Jt())===n&&(e=$t())===n&&(e=vt())===n&&(e=jt())===n&&(e=At())===n&&(e=kt())===n&&(e=qt())===n&&(e=wt())===n&&(e=St())===n&&(e=Ht())===n&&(e=mt())===n&&(e=zt())===n&&(e=Et())===n&&(e=It())===n&&(e=yt())===n&&(e=Mt())===n&&(e=Pt())===n&&(e=Ct())===n&&(e=Rt())===n&&(e=Tt())===n&&(e=Zt())===n&&(e=Kt())===n&&(e=Lt())===n&&(e=Ot())===n&&(e=na())===n&&(e=Nt())===n&&(e=Ft()),e}function vt(){var e,s,t,a,r,i,o;return e=nt,(s=At())===n&&(s=kt())===n&&(s=qt())===n&&(s=wt())===n&&(s=St())===n&&(s=Ht())===n&&(s=mt())===n&&(s=zt())===n&&(s=Et())===n&&(s=nt,(t=yt())!==n?(a=nt,ht++,r=nt,(i=Ut())!==n?((o=At())===n&&(o=kt())===n&&(o=qt())===n&&(o=wt())===n&&(o=St())===n&&(o=Ht())===n&&(o=mt())===n&&(o=Et())===n&&(o=yt()),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n),ht--,r!==n?(nt=a,a=void 0):a=n,a!==n?s=t=[t,a]:(nt=s,s=n)):(nt=s,s=n),s===n&&(s=Mt())===n&&(s=Pt())===n&&(s=It())===n&&(s=Ct())===n&&(s=Rt())===n&&(s=Tt())===n&&(s=Zt())===n&&(s=Kt())===n&&(s=Lt())===n&&(s=Ot())===n&&(s=na())===n&&(s=Nt())===n&&(s=Ft())),s!==n&&(t=Ut())!==n?((a=jt())===n&&(a=At())===n&&(a=kt())===n&&(a=qt())===n&&(a=wt())===n&&(a=St())===n&&(a=Ht())===n&&(a=mt())===n&&(a=zt())===n&&(a=Et())===n&&(a=yt())===n&&(a=Mt())===n&&(a=Pt())===n&&(a=It())===n&&(a=Ct())===n&&(a=Rt())===n&&(a=Tt())===n&&(a=Zt())===n&&(a=Kt())===n&&(a=Ot())===n&&(a=na())===n&&(a=Lt())===n&&(a=Nt())===n&&(a=Ft()),a!==n?(rt=e,e=vs(s,a)):(nt=e,e=n)):(nt=e,e=n),e}function yt(){var e,t,a,r,i,o;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(r=nt,47===s.charCodeAt(nt)?(i=p,nt++):(i=n,0===ht&&xt(_e)),i!==n?(o=s.charAt(nt),se.test(o)?nt++:(o=n,0===ht&&xt(fe)),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n),r===n&&(r=null),31===s.charCodeAt(nt)?(i=c,nt++):(i=n,0===ht&&xt(xe)),i!==n?(rt=e,e=ys(a)):(nt=e,e=n)):(nt=e,e=n),e}function mt(){var e,s,t,a,r,i,o,l,h;if(e=nt,(s=yt())!==n){if(t=nt,(a=Bt())!==n?(r=nt,ht++,i=nt,(o=Nt())!==n&&(l=Dt())!==n&&(h=Ft())!==n?i=o=[o,l,h]:(nt=i,i=n),ht--,i!==n?(nt=r,r=void 0):r=n,r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t===n){if(t=[],(a=Dt())!==n)for(;a!==n;)t.push(a),a=Dt();else t=n;if(t===n){if(t=[],(a=Wt())!==n)for(;a!==n;)t.push(a),a=Wt();else t=n;if(t===n){if(t=[],(a=Ut())!==n)for(;a!==n;)t.push(a),a=Ut();else t=n;t===n&&(t=la())}}}t!==n&&(a=Nt())!==n?(rt=e,e=ms(s,a)):(nt=e,e=n)}else nt=e,e=n;return e}function kt(){var e,s,t;return e=nt,(s=Ht())===n&&(s=mt()),s!==n&&(t=Xt())!==n?(rt=e,e=ws(s,t)):(nt=e,e=n),e}function wt(){var e,t,a,r,i,o,l;return e=nt,(t=Ht())===n&&(t=mt()),t!==n?(a=nt,ht++,r=nt,46===s.charCodeAt(nt)?(i=g,nt++):(i=n,0===ht&&xt(be)),i!==n&&(o=Bt())!==n&&(l=Ft())!==n?r=i=[i,o,l]:(nt=r,r=n),r===n&&(r=nt,(i=Vt())===n&&(i=null),(o=Bt())!==n&&(l=Kt())!==n?r=i=[i,o,l]:(nt=r,r=n)),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=nt,(i=Dt())===n&&(i=Vt()),i===n&&(i=null),(o=Bt())!==n?r=i=[i,o]:(nt=r,r=n),r===n&&(r=Dt()),r!==n?((i=Ot())===n&&(i=Ft()),i!==n?(rt=e,e=Ss(t,i)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function St(){var e,s,t,a,r,i,o;return e=nt,(s=Ht())===n&&(s=mt()),s!==n&&Wt()!==n?((t=Ot())===n&&(t=Ft()),t!==n?(a=nt,ht++,r=nt,(i=Dt())!==n&&(o=Ft())!==n?r=i=[i,o]:(nt=r,r=n),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(rt=e,e=As(s,t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function At(){var e,t,a,r,i,o,l,h;return e=nt,t=function(){var e,t,a,r;return e=nt,(t=yt())!==n?(la(),44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de)),a!==n?(la(),(r=Nt())!==n?(rt=e,e=ks(t,r)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}(),t!==n?(la(),44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de)),a!==n?(la(),(r=Ot())===n&&(r=Ft()),r!==n?(i=nt,ht++,o=nt,(l=Dt())!==n&&(h=Ft())!==n?o=l=[l,h]:(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?(rt=e,e=$s(t,r)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function $t(){var e,t,a,r,i,o,l,h;return e=nt,(t=yt())!==n?(45===s.charCodeAt(nt)?(a=x,nt++):(a=n,0===ht&&xt(ve)),a===n&&(a=ha()),a===n&&(a=null),(r=Nt())!==n?(45===s.charCodeAt(nt)?(i=x,nt++):(i=n,0===ht&&xt(ve)),i!==n&&(o=Ft())!==n?(45===s.charCodeAt(nt)?(l=x,nt++):(l=n,0===ht&&xt(ve)),l!==n&&(h=Ft())!==n?(rt=e,e=Es(t,r,o,h)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Et(){var e,s,t,a,r,i;if(e=nt,(s=yt())!==n){if(t=[],(a=Dt())!==n)for(;a!==n;)t.push(a),a=Dt();else t=n;if(t===n){if(t=[],(a=Wt())!==n)for(;a!==n;)t.push(a),a=Wt();else t=n;if(t===n){if(t=[],(a=Ut())!==n)for(;a!==n;)t.push(a),a=Ut();else t=n;if(t===n){if(t=nt,a=[],(r=Vt())!==n)for(;r!==n;)a.push(r),r=Vt();else a=n;a!==n?(r=nt,ht++,i=Bt(),ht--,i!==n?(nt=r,r=void 0):r=n,r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t===n&&(t=la())}}}t!==n?((a=Ot())===n&&(a=Ft()),a!==n?(rt=e,e=Cs(s,a)):(nt=e,e=n)):(nt=e,e=n)}else nt=e,e=n;return e}function Ct(){var e,s,t;return e=nt,Gt()!==n&&(s=Nt())!==n?(Qt()===n&&null,(t=yt())!==n?(rt=e,e=Js(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function Jt(){var e,s,t,a;return e=nt,Gt()!==n&&(s=Nt())!==n&&Ut()!==n&&(t=Nt())!==n?(Qt()===n&&null,(a=yt())!==n?(rt=e,e=Ms(s,t,a)):(nt=e,e=n)):(nt=e,e=n),e}function Mt(){var e,s,t;return e=nt,(s=Ct())!==n?(Vt()===n&&null,Bt()!==n&&(t=Ft())!==n?(rt=e,e=Rs(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function Rt(){var e,t,a,r;return e=nt,(t=Nt())!==n?(s.substr(nt,2)===_?(a=_,nt+=2):(a=n,0===ht&&xt(ye)),a===n&&(s.substr(nt,2)===f?(a=f,nt+=2):(a=n,0===ht&&xt(me)),a===n&&(s.substr(nt,2)===d?(a=d,nt+=2):(a=n,0===ht&&xt(ke)))),a!==n&&Gt()!==n?(Qt()===n&&null,(r=yt())!==n?(rt=e,e=Ps(t,r)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Pt(){var e,s,t;return e=nt,(s=Rt())!==n?(Vt()===n&&null,Bt()!==n&&(t=Ft())!==n?(rt=e,e=Is(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function It(){var e,t,a,r;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(s.substr(nt,3)===b?(r=b,nt+=3):(r=n,0===ht&&xt(we)),r!==n?(rt=e,e=zs(a)):(nt=e,e=n)):(nt=e,e=n),e}function zt(){var e,s,t;return e=nt,(s=It())!==n?(Vt()===n&&null,Bt()!==n&&(t=Ft())!==n?(rt=e,e=Ts(s,t)):(nt=e,e=n)):(nt=e,e=n),e}function Tt(){var e,s,t;return e=nt,Gt()!==n&&(s=Nt())!==n&&(t=Xt())!==n?(rt=e,e=Ks(s,t)):(nt=e,e=n),e}function Kt(){var e,t,a,r,i,o,l;return e=nt,Bt()===n&&null,(t=Nt())!==n?(a=nt,ht++,r=nt,46===s.charCodeAt(nt)?(i=g,nt++):(i=n,0===ht&&xt(be)),i!==n&&(o=Bt())!==n&&(l=Ft())!==n?r=i=[i,o,l]:(nt=r,r=n),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=nt,(i=Dt())===n&&(i=null),(o=Bt())!==n?r=i=[i,o]:(nt=r,r=n),r===n&&(r=Dt()),r!==n?((i=Ot())===n&&(i=Ft()),i!==n?(rt=e,e=Ls(t,i)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Lt(){var e,s,t,a,r,i,o;return e=nt,(s=Nt())!==n&&Wt()!==n?((t=Ot())===n&&(t=Ft()),t!==n?(a=nt,ht++,r=nt,(i=Dt())!==n&&(o=Ft())!==n?r=i=[i,o]:(nt=r,r=n),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(rt=e,e=Ns(s,t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Nt(){var e,s;return e=nt,Gt()===n&&null,(s=na())!==n?(rt=e,e=js(s)):(nt=e,e=n),e}function jt(){var e,t,a,r,i,o;return e=nt,(t=wt())===n&&(t=St())===n&&(t=mt())===n&&(t=Et())===n&&(t=Kt())===n&&(t=Lt())===n&&(t=na())===n&&(t=Nt())===n&&(t=Ft()),t!==n?(la(),a=nt,s.substr(nt,2)===v?(r=v,nt+=2):(r=n,0===ht&&xt(Se)),r!==n?(i=nt,ht++,o=s.charAt(nt),te.test(o)?nt++:(o=n,0===ht&&xt(Ae)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n),a===n&&(a=nt,102===s.charCodeAt(nt)?(r=y,nt++):(r=n,0===ht&&xt($e)),r!==n?(i=nt,ht++,o=s.charAt(nt),te.test(o)?nt++:(o=n,0===ht&&xt(Ae)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n)),a!==n?((r=ea())===n&&(r=null),i=nt,ht++,o=s.charAt(nt),ae.test(o)?nt++:(o=n,0===ht&&xt(Ee)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?(rt=e,e=Zs(t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Zt(){var e,s,t;return e=nt,(s=na())!==n&&(t=Xt())!==n?(rt=e,e=Ys(s,t)):(nt=e,e=n),e}function Yt(){var e,t,a,r;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(s.substr(nt,3)===m?(r=m,nt+=3):(r=n,0===ht&&xt(Ce)),r!==n?(rt=e,e=Hs(a)):(nt=e,e=n)):(nt=e,e=n),e}function Ht(){var e,t,a,r,i;return e=nt,t=function(){var e,t,a,r;return e=nt,31===s.charCodeAt(nt)?(t=c,nt++):(t=n,0===ht&&xt(xe)),t!==n&&(a=ra())!==n?(s.substr(nt,3)===k?(r=k,nt+=3):(r=n,0===ht&&xt(Je)),r!==n?(rt=e,e=qs(a)):(nt=e,e=n)):(nt=e,e=n),e}(),t!==n?(s.substr(nt,2)===w?(a=w,nt+=2):(a=n,0===ht&&xt(Me)),a!==n?(r=nt,ht++,i=s.charAt(nt),ne.test(i)?nt++:(i=n,0===ht&&xt(Re)),ht--,i===n?r=void 0:(nt=r,r=n),r!==n?(rt=e,e=Os(t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function qt(){var e,t,a,r;return e=nt,(t=Ht())!==n?(46===s.charCodeAt(nt)?(a=g,nt++):(a=n,0===ht&&xt(be)),a!==n&&(r=na())!==n?(rt=e,e=Fs(t,r)):(nt=e,e=n)):(nt=e,e=n),e}function Ot(){var e,t,a,r,i,o,l;return e=nt,Bt()===n&&null,(t=na())!==n?(la(),a=nt,ht++,r=nt,s.substr(nt,2)===v?(i=v,nt+=2):(i=n,0===ht&&xt(Se)),i!==n?(o=nt,ht++,l=s.charAt(nt),te.test(l)?nt++:(l=n,0===ht&&xt(Ae)),ht--,l===n?o=void 0:(nt=o,o=n),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n),r===n&&(r=nt,102===s.charCodeAt(nt)?(i=y,nt++):(i=n,0===ht&&xt($e)),i!==n?(o=nt,ht++,l=s.charAt(nt),te.test(l)?nt++:(l=n,0===ht&&xt(Ae)),ht--,l===n?o=void 0:(nt=o,o=n),o!==n?r=i=[i,o]:(nt=r,r=n)):(nt=r,r=n)),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=s.charAt(nt),re.test(r)?nt++:(r=n,0===ht&&xt(Pe)),r!==n?(i=nt,ht++,o=s.charAt(nt),ae.test(o)?nt++:(o=n,0===ht&&xt(Ee)),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?(rt=e,e=Gs(t)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n)):(nt=e,e=n),e}function Ft(){var e,s;return e=nt,Bt()===n&&null,(s=na())!==n?(rt=e,e=Bs(s)):(nt=e,e=n),e}function Gt(){var e,t,a,r,i,o;return e=nt,la(),t=nt,s.substr(nt,2)===S?(a=S,nt+=2):(a=n,0===ht&&xt(Ie)),a!==n?(s.substr(nt,6)===A?(r=A,nt+=6):(r=n,0===ht&&xt(ze)),r===n&&(s.substr(nt,5)===$?(r=$,nt+=5):(r=n,0===ht&&xt(Te)),r===n&&(r=nt,s.substr(nt,4)===E?(i=E,nt+=4):(i=n,0===ht&&xt(Ke)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,3)===C?(i=C,nt+=3):(i=n,0===ht&&xt(Le)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,3)===J?(i=J,nt+=3):(i=n,0===ht&&xt(Ne)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,3)===M?(i=M,nt+=3):(i=n,0===ht&&xt(je)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===R?(i=R,nt+=2):(i=n,0===ht&&xt(Ze)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,112===s.charCodeAt(nt)?(i=P,nt++):(i=n,0===ht&&xt(Ye)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,115===s.charCodeAt(nt)?(i=I,nt++):(i=n,0===ht&&xt(He)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,97===s.charCodeAt(nt)?(i=z,nt++):(i=n,0===ht&&xt(qe)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=ea())===n&&(r=null)))))))))),r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t!==n?(a=la(),rt=e,e=Ds()):(nt=e,e=n),e}function Bt(){var e,t,a,r,i,o;return e=nt,la(),t=nt,118===s.charCodeAt(nt)?(a=T,nt++):(a=n,0===ht&&xt(Oe)),a!==n?(s.substr(nt,5)===K?(r=K,nt+=5):(r=n,0===ht&&xt(Fe)),r===n&&(s.substr(nt,4)===L?(r=L,nt+=4):(r=n,0===ht&&xt(Ge)),r===n&&(r=nt,s.substr(nt,2)===N?(i=N,nt+=2):(i=n,0===ht&&xt(Be)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===j?(i=j,nt+=2):(i=n,0===ht&&xt(De)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,115===s.charCodeAt(nt)?(i=I,nt++):(i=n,0===ht&&xt(He)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=nt,118===s.charCodeAt(nt)?(i=T,nt++):(i=n,0===ht&&xt(Oe)),i!==n?((o=ea())===n&&(o=null),r=i=[i,o]):(nt=r,r=n),r===n&&(r=ea())===n&&(r=null)))))),r!==n?t=a=[a,r]:(nt=t,t=n)):(nt=t,t=n),t!==n?(a=nt,ht++,r=s.charAt(nt),ae.test(r)?nt++:(r=n,0===ht&&xt(Ee)),ht--,r===n?a=void 0:(nt=a,a=n),a!==n?(r=la(),rt=e,e=Ws()):(nt=e,e=n)):(nt=e,e=n),e}function Dt(){var e,t,a,r,i,o,l,h,c,p;if(e=nt,t=la(),a=[],58===s.charCodeAt(nt)?(r=":",nt++):(r=n,0===ht&&xt(We)),r!==n)for(;r!==n;)a.push(r),58===s.charCodeAt(nt)?(r=":",nt++):(r=n,0===ht&&xt(We));else a=n;return a===n&&(a=nt,46===s.charCodeAt(nt)?(r=g,nt++):(r=n,0===ht&&xt(be)),r!==n?(i=nt,ht++,o=nt,l=la(),46===s.charCodeAt(nt)?(h=g,nt++):(h=n,0===ht&&xt(be)),h!==n?(c=la(),46===s.charCodeAt(nt)?(p=g,nt++):(p=n,0===ht&&xt(be)),p!==n?o=l=[l,h,c,p]:(nt=o,o=n)):(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n)),a!==n?e=t=[t,a,r=la()]:(nt=e,e=n),e}function Wt(){var e,t,a;return e=nt,t=la(),a=s.charAt(nt),ie.test(a)?nt++:(a=n,0===ht&&xt(Ve)),a!==n?e=t=[t,a,la()]:(nt=e,e=n),e===n&&(e=ha()),e}function Vt(){var e,t,a,r,i,o,l,h,c,p;if(e=nt,t=[],a=s.charAt(nt),oe.test(a)?nt++:(a=n,0===ht&&xt(Ue)),a===n&&(a=nt,46===s.charCodeAt(nt)?(r=g,nt++):(r=n,0===ht&&xt(be)),r!==n?(i=nt,ht++,o=nt,l=la(),46===s.charCodeAt(nt)?(h=g,nt++):(h=n,0===ht&&xt(be)),h!==n?(c=la(),46===s.charCodeAt(nt)?(p=g,nt++):(p=n,0===ht&&xt(be)),p!==n?o=l=[l,h,c,p]:(nt=o,o=n)):(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,3)===Z?(a=Z,nt+=3):(a=n,0===ht&&xt(Xe)),a===n&&(s.substr(nt,7)===Y?(a=Y,nt+=7):(a=n,0===ht&&xt(Qe)),a===n&&(a=nt,s.substr(nt,2)===H?(r=H,nt+=2):(r=n,0===ht&&xt(es)),r!==n?((i=ea())===n&&(i=null),a=r=[r,i]):(nt=a,a=n),a===n&&(a=nt,s.substr(nt,3)===q?(r=q,nt+=3):(r=n,0===ht&&xt(ss)),r!==n&&(i=ha())!==n?(s.substr(nt,4)===O?(o=O,nt+=4):(o=n,0===ht&&xt(ts)),o!==n?a=r=[r,i,o]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,4)===O?(a=O,nt+=4):(a=n,0===ht&&xt(ts)),a===n&&(s.substr(nt,3)===q?(a=q,nt+=3):(a=n,0===ht&&xt(ss)),a===n&&(a=ha())))))))),a!==n)for(;a!==n;)t.push(a),a=s.charAt(nt),oe.test(a)?nt++:(a=n,0===ht&&xt(Ue)),a===n&&(a=nt,46===s.charCodeAt(nt)?(r=g,nt++):(r=n,0===ht&&xt(be)),r!==n?(i=nt,ht++,o=nt,l=la(),46===s.charCodeAt(nt)?(h=g,nt++):(h=n,0===ht&&xt(be)),h!==n?(c=la(),46===s.charCodeAt(nt)?(p=g,nt++):(p=n,0===ht&&xt(be)),p!==n?o=l=[l,h,c,p]:(nt=o,o=n)):(nt=o,o=n),ht--,o===n?i=void 0:(nt=i,i=n),i!==n?a=r=[r,i]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,3)===Z?(a=Z,nt+=3):(a=n,0===ht&&xt(Xe)),a===n&&(s.substr(nt,7)===Y?(a=Y,nt+=7):(a=n,0===ht&&xt(Qe)),a===n&&(a=nt,s.substr(nt,2)===H?(r=H,nt+=2):(r=n,0===ht&&xt(es)),r!==n?((i=ea())===n&&(i=null),a=r=[r,i]):(nt=a,a=n),a===n&&(a=nt,s.substr(nt,3)===q?(r=q,nt+=3):(r=n,0===ht&&xt(ss)),r!==n&&(i=ha())!==n?(s.substr(nt,4)===O?(o=O,nt+=4):(o=n,0===ht&&xt(ts)),o!==n?a=r=[r,i,o]:(nt=a,a=n)):(nt=a,a=n),a===n&&(s.substr(nt,4)===O?(a=O,nt+=4):(a=n,0===ht&&xt(ts)),a===n&&(s.substr(nt,3)===q?(a=q,nt+=3):(a=n,0===ht&&xt(ss)),a===n&&(a=ha()))))))));else t=n;return t!==n&&(rt=e,t=Vs()),e=t}function Ut(){var e,t,a,r,i;if(e=nt,t=la(),a=[],r=nt,i=s.charAt(nt),le.test(i)?nt++:(i=n,0===ht&&xt(as)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,7)===F?(i=F,nt+=7):(i=n,0===ht&&xt(ns)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,4)===G?(i=G,nt+=4):(i=n,0===ht&&xt(rs)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===B?(i=B,nt+=2):(i=n,0===ht&&xt(is)),i!==n?r=i=[i,la()]:(nt=r,r=n)))),r!==n)for(;r!==n;)a.push(r),r=nt,i=s.charAt(nt),le.test(i)?nt++:(i=n,0===ht&&xt(as)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,7)===F?(i=F,nt+=7):(i=n,0===ht&&xt(ns)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,4)===G?(i=G,nt+=4):(i=n,0===ht&&xt(rs)),i!==n?r=i=[i,la()]:(nt=r,r=n),r===n&&(r=nt,s.substr(nt,2)===B?(i=B,nt+=2):(i=n,0===ht&&xt(is)),i!==n?r=i=[i,la()]:(nt=r,r=n))));else a=n;return a!==n?e=t=[t,a]:(nt=e,e=n),e}function Xt(){var e,t,a;return e=nt,(t=Dt())===n&&(t=Vt()),t===n&&(t=null),s.substr(nt,5)===D?(a=D,nt+=5):(a=n,0===ht&&xt(os)),a!==n?(rt=e,e=Us(a)):(nt=e,e=n),e}function Qt(){var e,t,a,r,i,o,l,h,c,p;return e=nt,t=la(),s.substr(nt,4)===W?(a=W,nt+=4):(a=n,0===ht&&xt(ls)),a===n&&(s.substr(nt,2)===V?(a=V,nt+=2):(a=n,0===ht&&xt(hs)),a===n&&(s.substr(nt,2)===U?(a=U,nt+=2):(a=n,0===ht&&xt(cs)))),a!==n?(r=la(),i=nt,s.substr(nt,3)===X?(o=X,nt+=3):(o=n,0===ht&&xt(ps)),o!==n?(l=la(),s.substr(nt,4)===Q?(h=Q,nt+=4):(h=n,0===ht&&xt(us)),h!==n?(c=la(),s.substr(nt,2)===V?(p=V,nt+=2):(p=n,0===ht&&xt(hs)),p!==n?i=o=[o,l,h,c,p,la()]:(nt=i,i=n)):(nt=i,i=n)):(nt=i,i=n),i===n&&(i=null),e=t=[t,a,r,i]):(nt=e,e=n),e}function ea(){var e,t,a,r,i,o,l,h,c;return e=nt,t=la(),46===s.charCodeAt(nt)?(a=g,nt++):(a=n,0===ht&&xt(be)),a!==n?(r=nt,ht++,i=nt,o=la(),46===s.charCodeAt(nt)?(l=g,nt++):(l=n,0===ht&&xt(be)),l!==n?(h=la(),46===s.charCodeAt(nt)?(c=g,nt++):(c=n,0===ht&&xt(be)),c!==n?i=o=[o,l,h,c]:(nt=i,i=n)):(nt=i,i=n),ht--,i===n?r=void 0:(nt=r,r=n),r!==n?e=t=[t,a,r]:(nt=e,e=n)):(nt=e,e=n),e}function sa(){var e,t,a,r,i,o,l,h;if(e=nt,la(),t=s.charAt(nt),he.test(t)?nt++:(t=n,0===ht&&xt(gs)),t!==n){if(la(),a=nt,(r=aa())!==n){for(i=[],o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);o!==n;)i.push(o),o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);a=r=[r,i]}else nt=a,a=n;a!==n?(r=la(),i=s.charAt(nt),ce.test(i)?nt++:(i=n,0===ht&&xt(xs)),i!==n?(rt=e,e=Xs(a)):(nt=e,e=n)):(nt=e,e=n)}else nt=e,e=n;return e}function ta(){var e,t,a,r,i,o,l,h;if(e=nt,la(),t=nt,44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de)),a!==n?t=a=[a,r=la()]:(nt=t,t=n),t===n&&(t=null),a=nt,(r=aa())!==n){for(i=[],o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);o!==n;)i.push(o),o=nt,(l=Vt())!==n&&(h=aa())!==n?o=l=[l,h]:(nt=o,o=n);a=r=[r,i]}else nt=a,a=n;return a!==n?(rt=e,e=Qs(a)):(nt=e,e=n),e}function aa(){var e,t,a,r;return e=nt,30===s.charCodeAt(nt)?(t=ee,nt++):(t=n,0===ht&&xt(_s)),t!==n&&(a=ra())!==n?(30===s.charCodeAt(nt)?(r=ee,nt++):(r=n,0===ht&&xt(_s)),r!==n?(rt=e,e=et(a)):(nt=e,e=n)):(nt=e,e=n),e}function na(){var e;return(e=/^[0-9]{1,3}(?!\d|,000)/.exec(s.substr(nt)))?(rt=nt,nt+=e[0].length,{type:"integer",value:parseInt(e[0],10),indices:[rt,nt-1]}):n}function ra(){var e,t,a;if(e=nt,t=[],a=s.charAt(nt),ne.test(a)?nt++:(a=n,0===ht&&xt(Re)),a!==n)for(;a!==n;)t.push(a),a=s.charAt(nt),ne.test(a)?nt++:(a=n,0===ht&&xt(Re));else t=n;return t!==n&&(rt=e,t=st(t)),e=t}function ia(){var e,t,a;if(e=nt,t=[],a=s.charAt(nt),pe.test(a)?nt++:(a=n,0===ht&&xt(fs)),a!==n)for(;a!==n;)t.push(a),a=s.charAt(nt),pe.test(a)?nt++:(a=n,0===ht&&xt(fs));else t=n;return t!==n&&(rt=e,t=tt(t)),e=t}function oa(){var e,t;return e=nt,t=s.charAt(nt),he.test(t)?nt++:(t=n,0===ht&&xt(gs)),t!==n&&(rt=e,t=at(t)),e=t}function la(){var e;return(e=ha())===n&&(e=null),e}function ha(){var e;return(e=/^[\s\xa0*]+/.exec(s.substr(nt)))?(nt+=e[0].length,[]):n}if("punctuation_strategy"in t&&"eu"===t.punctuation_strategy&&(Dt=function(){var e,t,a;e=nt,t=la(),44===s.charCodeAt(nt)?(a=u,nt++):(a=n,0===ht&&xt(de));a!==n?e=t=[t,a,la()]:(nt=e,e=n);return e},oe=/^[;\/:&\-\u2013\u2014~]/),a=o(),t.peg$library)return{peg$result:a,peg$currPos:nt,peg$FAILED:n,peg$maxFailExpected:lt,peg$maxFailPos:ot};if(a!==n&&nt===s.length)return a;throw a!==n&&nt<s.length&&xt({type:"end"}),_t(lt,ot<s.length?s.charAt(ot):null,ot<s.length?gt(ot,ot+1):gt(ot,ot))}}}();