meeting-schedules-parser
Version:
This tool will help you to parse and extract the needed meeting schedules from Meeting Workbook and Watchtower Study EPUB and JWPUB files.
3 lines (2 loc) • 37.5 kB
JavaScript
import*as a from"path";import{readFile as e}from"fs/promises";import i from"sql.js";import r from"jszip";import{parse as t}from"node-html-parser";import{inflate as n}from"pako";var o={januaryVariations:"1月",februaryVariations:"2月",marchVariations:"3月",aprilVariations:"4 月",mayVariations:"5 月",juneVariations:"6 月",julyVariations:"7 月",augustVariations:"8 月",septemberVariations:"9 月",octoberVariations:"10 月",novemberVariations:"11 月",decemberVariations:"12 月",partMinutesSeparatorVariations:"分鐘"},s={januaryVariations:"一月",februaryVariations:"二月",marchVariations:"三月",aprilVariations:"四月",mayVariations:"五月",juneVariations:"六月",julyVariations:"七月",augustVariations:"八月",septemberVariations:"九月",octoberVariations:"十月",novemberVariations:"十一月",decemberVariations:"十二月",partMinutesSeparatorVariations:"分钟"},u={januaryVariations:"Janvye",februaryVariations:"Fevriye",marchVariations:"Mas",aprilVariations:"Avril",mayVariations:"Me",juneVariations:"Jen",julyVariations:"Jiyè",augustVariations:"Out",septemberVariations:"Septanm",octoberVariations:"Oktòb",novemberVariations:"Novanm",decemberVariations:"Desanm",partMinutesSeparatorVariations:"min."},c={januaryVariations:"January",februaryVariations:"February",marchVariations:"March",aprilVariations:"April",mayVariations:"May",juneVariations:"June",julyVariations:"July",augustVariations:"August",septemberVariations:"September",octoberVariations:"October",novemberVariations:"November",decemberVariations:"December",partMinutesSeparatorVariations:"min."},l={januaryVariations:"January",februaryVariations:"February",marchVariations:"March",aprilVariations:"April",mayVariations:"May",juneVariations:"June",julyVariations:"July",augustVariations:"August",septemberVariations:"September",octoberVariations:"October",novemberVariations:"November",decemberVariations:"December",partMinutesSeparatorVariations:"min."},m={januaryVariations:"janvier",februaryVariations:"février",marchVariations:"mars",aprilVariations:"avril",mayVariations:"mai",juneVariations:"juin",julyVariations:"juillet",augustVariations:"août",septemberVariations:"septembre",octoberVariations:"octobre",novemberVariations:"novembre",decemberVariations:"décembre",partMinutesSeparatorVariations:"min"},V={januaryVariations:"tammikuuta",februaryVariations:"helmikuuta",marchVariations:"maaliskuuta",aprilVariations:"huhtikuuta",mayVariations:"toukokuuta",juneVariations:"kesäkuuta",julyVariations:"heinäkuuta",augustVariations:"elokuuta",septemberVariations:"syyskuuta",octoberVariations:"lokakuuta",novemberVariations:"marraskuuta",decemberVariations:"joulukuuta",partMinutesSeparatorVariations:"min"},b={januaryVariations:"ΙΑΝΟΥΑΡΙΟΥ|Ιανουαρίου|Ιανουάριος",februaryVariations:"ΦΕΒΡΟΥΑΡΙΟΥ|Φεβρουαρίου|Φεβρουάριος",marchVariations:"ΜΑΡΤΙΟΥ|Μαρτίου|Μάρτιος",aprilVariations:"ΑΠΡΙΛΙΟΥ|Απριλίου|Απρίλιος",mayVariations:"ΜΑΪΟΥ|Μαΐου|Μάιος",juneVariations:"ΙΟΥΝΙΟΥ|Ιουνίου|ούνιος",julyVariations:"ΙΟΥΛΙΟΥ|Ιουλίου|Ιούλιος",augustVariations:"ΑΥΓΟΥΣΤΟΥ|Αυγούστου|Αύγουστος",septemberVariations:"ΣΕΠΤΕΜΒΡΙΟΥ|Σεπτεμβρίου|Σεπτέμβριος",octoberVariations:"ΟΚΤΩΒΡΙΟΥ|Οκτωβρίου|Οκτώβριος",novemberVariations:"ΝΟΕΜΒΡΙΟΥ|Νοεμβρίου|Νοέμβριος",decemberVariations:"ΔΕΚΕΜΒΡΙΟΥ|Δεκεμβρίου|Δεκέμβριος",partMinutesSeparatorVariations:"λεπτό|λεπτά"},d={januaryVariations:"Gennaio",februaryVariations:"Febbraio",marchVariations:"Marzo",aprilVariations:"Aprile",mayVariations:"Maggio",juneVariations:"Giugno",julyVariations:"Luglio",augustVariations:"Agosto",septemberVariations:"Settembre",octoberVariations:"Ottobre",novemberVariations:"Novembre",decemberVariations:"Dicembre",partMinutesSeparatorVariations:"min"},p={januaryVariations:"Enero",februaryVariations:"Pebrero",marchVariations:"Marso",aprilVariations:"Abril",mayVariations:"Mayo",juneVariations:"Hunio",julyVariations:"Hulio",augustVariations:"Agosto",septemberVariations:"Septiembre",octoberVariations:"Oktubre",novemberVariations:"Nobyembre|Nobiembre",decemberVariations:"Disiembre",partMinutesSeparatorVariations:"min."},y={januaryVariations:"1月",februaryVariations:"2月",marchVariations:"3月",aprilVariations:"4月",mayVariations:"5月",juneVariations:"6月",julyVariations:"7月",augustVariations:"8月",septemberVariations:"9月",octoberVariations:"10月",novemberVariations:"11月",decemberVariations:"12月",partMinutesSeparatorVariations:"分"},g={januaryVariations:"Січень|січень|січня",februaryVariations:"Лютий|лютий|лютого",marchVariations:"Березень|березень|березня",aprilVariations:"Квітень|квітень|квітня",mayVariations:"Травень|травень|травня",juneVariations:"Червень|червень|червня",julyVariations:"Липень|липень|липня",augustVariations:"Серпень|серпень|серпня",septemberVariations:"Вересень|вересень|вересня",octoberVariations:"Жовтень|жовтень|жовтня",novemberVariations:"Листопад|листопад|листопада",decemberVariations:"Грудень|грудень|грудня",partMinutesSeparatorVariations:"хв"},w={januaryVariations:"January",februaryVariations:"February",marchVariations:"March",aprilVariations:"April",mayVariations:"May",juneVariations:"June",julyVariations:"July",augustVariations:"August",septemberVariations:"September",octoberVariations:"October",novemberVariations:"November",decemberVariations:"December",partMinutesSeparatorVariations:"분"},f={januaryVariations:"Enero",februaryVariations:"Febrero",marchVariations:"Marzo",aprilVariations:"Abril",mayVariations:"Mayo",juneVariations:"Junio",julyVariations:"Julio",augustVariations:"Agosto",septemberVariations:"Septiembre",octoberVariations:"Octubre",novemberVariations:"Noviembre",decemberVariations:"Diciembre",partMinutesSeparatorVariations:"mins.|min."},h={januaryVariations:"Ianuarie",februaryVariations:"Februarie",marchVariations:"Martie",aprilVariations:"Aprilie",mayVariations:"Mai",juneVariations:"Iunie",julyVariations:"Iulie",augustVariations:"August",septemberVariations:"Septembrie",octoberVariations:"Octombrie",novemberVariations:"Noiembrie",decemberVariations:"Decembrie",partMinutesSeparatorVariations:"min."},j={januaryVariations:"Janoary",februaryVariations:"Febroary",marchVariations:"Martsa",aprilVariations:"Aprily",mayVariations:"Mey",juneVariations:"Jona",julyVariations:"Jolay",augustVariations:"Aogositra",septemberVariations:"Septambra",octoberVariations:"Oktobra",novemberVariations:"Novambra",decemberVariations:"Desambra",partMinutesSeparatorVariations:"min."},S={januaryVariations:"Januari",februaryVariations:"Februari",marchVariations:"Mac",aprilVariations:"April",mayVariations:"Mei",juneVariations:"Jun",julyVariations:"Julai",augustVariations:"Ogos",septemberVariations:"September",octoberVariations:"Oktober",novemberVariations:"November",decemberVariations:"Disember",partMinutesSeparatorVariations:"min."},_={januaryVariations:"januari",februaryVariations:"februari",marchVariations:"maart",aprilVariations:"april",mayVariations:"mei",juneVariations:"juni",julyVariations:"juli",augustVariations:"augustus",septemberVariations:"september",octoberVariations:"oktober",novemberVariations:"november",decemberVariations:"december",partMinutesSeparatorVariations:"min."},$={januaryVariations:"Styczeń|stycznia",februaryVariations:"Luty|lutego",marchVariations:"Marzec|marca",aprilVariations:"Kwiecień|kwietnia",mayVariations:"maja|Maj",juneVariations:"Czerwiec|czerwca",julyVariations:"Lipiec|lipca",augustVariations:"Sierpień|sierpnia",septemberVariations:"Wrzesień|września",octoberVariations:"października|Październik",novemberVariations:"listopada|Listopad",decemberVariations:"Grudzień|grudnia",partMinutesSeparatorVariations:"min|min."},M={januaryVariations:"January",februaryVariations:"February",marchVariations:"March",aprilVariations:"April",mayVariations:"May",juneVariations:"June",julyVariations:"July",augustVariations:"August",septemberVariations:"September",octoberVariations:"October",novemberVariations:"November",decemberVariations:"December",partMinutesSeparatorVariations:"min."},E={januaryVariations:"Enero",februaryVariations:"Febrero",marchVariations:"Marzo",aprilVariations:"Abril",mayVariations:"Mayo",juneVariations:"Junio",julyVariations:"Julio",augustVariations:"Agosto",septemberVariations:"Septiembre",octoberVariations:"Octubre",novemberVariations:"Noviembre",decemberVariations:"Diciembre",partMinutesSeparatorVariations:"mins.|min."},v={januaryVariations:"Jaanuar|jaanuarini|jaanuarist",februaryVariations:"Veebruar|veebruarini|veebruarist",marchVariations:"Märts|märtsini|märtsist",aprilVariations:"Aprill|aprillini|aprillist",mayVariations:"Mai|maini|maist",juneVariations:"Juuni|juunini",julyVariations:"Juuli|juulini|juulist",augustVariations:"August|augustini|augustist",septemberVariations:"September|septembrini|septembrist",octoberVariations:"Oktoober|oktoobrini|oktoobrist",novemberVariations:"November|novembrini|novembrist",decemberVariations:"Detsember|detsembrini|detsembrist",partMinutesSeparatorVariations:"min"},x={januaryVariations:"januar|januarja",februaryVariations:"februar|februarja",marchVariations:"marec|marca",aprilVariations:"april|aprila",mayVariations:"maj|maja",juneVariations:"junij|junija",julyVariations:"julij|julija",augustVariations:"avgust|avgusta",septemberVariations:"september|septembra",octoberVariations:"oktober|oktobra",novemberVariations:"november|novembra",decemberVariations:"december|decembra",partMinutesSeparatorVariations:"min."},A={januaryVariations:"Januari",februaryVariations:"Februari",marchVariations:"Machi",aprilVariations:"Aprili",mayVariations:"Mei",juneVariations:"Juni",julyVariations:"Julai",augustVariations:"Agosti",septemberVariations:"Septemba",octoberVariations:"Oktoba",novemberVariations:"Novemba",decemberVariations:"Desemba",partMinutesSeparatorVariations:"Dak."},k={januaryVariations:"de janeiro|janeiro",februaryVariations:"de fevereiro|fevereiro",marchVariations:"de março|março",aprilVariations:"de abril|abril",mayVariations:"de maio|maio",juneVariations:"de junho|junho",julyVariations:"de julho|julho",augustVariations:"de agosto|agosto",septemberVariations:"de setembro|setembro",octoberVariations:"de outubro|outubro",novemberVariations:"de novembro|novembro",decemberVariations:"de dezembro|dezembro",partMinutesSeparatorVariations:"min|min."},T={januaryVariations:"Enero",februaryVariations:"Pebrero",marchVariations:"Marso",aprilVariations:"Abril",mayVariations:"Mayo",juneVariations:"Hunyo",julyVariations:"Hulyo",augustVariations:"Agosto",septemberVariations:"Setyembre",octoberVariations:"Oktubre",novemberVariations:"Nobyembre",decemberVariations:"Disyembre",partMinutesSeparatorVariations:"min."},R={januaryVariations:"Ocak",februaryVariations:"Şubat",marchVariations:"Mart",aprilVariations:"Nisan|NİSAN",mayVariations:"MAYIS|Mayıs",juneVariations:"HAZİRAN|Haziran",julyVariations:"Temmuz",augustVariations:"Ağustos",septemberVariations:"Eylül",octoberVariations:"Ekim|EKİM",novemberVariations:"Kasım|KASIM",decemberVariations:"Aralık|ARALIK",partMinutesSeparatorVariations:"dk.|dk"},O={januaryVariations:"Janvie",februaryVariations:"Fevrie",marchVariations:"Marsa",aprilVariations:"Avrily",mayVariations:"Mey",juneVariations:"Jona",julyVariations:"Jolay",augustVariations:"Aogositra",septemberVariations:"Septambra",octoberVariations:"Oktobra|Okotobra",novemberVariations:"Novambra",decemberVariations:"Desambra",partMinutesSeparatorVariations:"min.|min"},N={januaryVariations:"Zanvie",februaryVariations:"Fevrie",marchVariations:"Marsy",aprilVariations:"Avrily",mayVariations:"May",juneVariations:"Ziain",julyVariations:"Zie|ZIE",augustVariations:"Aoty",septemberVariations:"Septambra",octoberVariations:"Oktobra",novemberVariations:"Novambra",decemberVariations:"Desambra",partMinutesSeparatorVariations:"min.|min"},J={januaryVariations:"de janeiro|janeiro",februaryVariations:"de fevereiro|fevereiro",marchVariations:"de março|março",aprilVariations:"de abril|abril",mayVariations:"de maio|maio",juneVariations:"de junho|junho",julyVariations:"de julho|julho",augustVariations:"de agosto|agosto",septemberVariations:"de setembro|setembro",octoberVariations:"de outubro|outubro",novemberVariations:"de novembro|novembro",decemberVariations:"de dezembro|dezembro",partMinutesSeparatorVariations:"min."},W={januaryVariations:"Janoary",februaryVariations:"Febroary",marchVariations:"Martsa",aprilVariations:"Aprily",mayVariations:"Mey",juneVariations:"Jona",julyVariations:"Jolay",augustVariations:"Aogositra",septemberVariations:"Septambra",octoberVariations:"Oktobra",novemberVariations:"Novambra",decemberVariations:"Desambra",partMinutesSeparatorVariations:"min."},L={januaryVariations:"January",februaryVariations:"February",marchVariations:"March",aprilVariations:"April",mayVariations:"May",juneVariations:"June",julyVariations:"July",augustVariations:"August",septemberVariations:"September",octoberVariations:"October",novemberVariations:"November",decemberVariations:"December",partMinutesSeparatorVariations:"Simma"},C={januaryVariations:"Январь|января",februaryVariations:"Февраль|февраля",marchVariations:"Март|марта",aprilVariations:"Апрель|апреля",mayVariations:"Май|мая",juneVariations:"Июнь|июня",julyVariations:"Июль|июля",augustVariations:"Август|августа",septemberVariations:"Сентябрь|сентября",octoberVariations:"Октябрь|октября",novemberVariations:"Ноябрь|ноября",decemberVariations:"Декабрь|декабря",partMinutesSeparatorVariations:"мин."},D={januaryVariations:"tháng 1",februaryVariations:"tháng 2",marchVariations:"tháng 3",aprilVariations:"tháng 4",mayVariations:"tháng 5",juneVariations:"tháng 6",julyVariations:"tháng 7",augustVariations:"tháng 8",septemberVariations:"tháng 9",octoberVariations:"tháng 10",novemberVariations:"tháng 11",decemberVariations:"tháng 12",partMinutesSeparatorVariations:"phút"},I={januaryVariations:"Zanviè",februaryVariations:"Fevriè|Feviè",marchVariations:"Marsa",aprilVariations:"Avrily",mayVariations:"Mey",juneVariations:"Ziein",julyVariations:"Ziè",augustVariations:"Oòh",septemberVariations:"Septambra",octoberVariations:"Oktobra",novemberVariations:"Novambra",decemberVariations:"Desambra",partMinutesSeparatorVariations:"min.|min"},P={januaryVariations:"Januar",februaryVariations:"Februar",marchVariations:"März",aprilVariations:"April",mayVariations:"Mai",juneVariations:"Juni",julyVariations:"Juli",augustVariations:"August",septemberVariations:"September",octoberVariations:"Oktober",novemberVariations:"November",decemberVariations:"Dezember",partMinutesSeparatorVariations:"Min|Min."},F={januaryVariations:"Mutarama",februaryVariations:"Gashyantare",marchVariations:"Werurwe",aprilVariations:"Mata",mayVariations:"Gicurasi",juneVariations:"Kamena",julyVariations:"Nyakanga",augustVariations:"Kanama",septemberVariations:"Nzeri",octoberVariations:"Ukwakira",novemberVariations:"Ugushyingo",decemberVariations:"Ukuboza",partMinutesSeparatorVariations:"Imin.|Umun."},z={januaryVariations:"januari",februaryVariations:"februari",marchVariations:"mars",aprilVariations:"april",mayVariations:"maj",juneVariations:"juni",julyVariations:"juli",augustVariations:"augusti",septemberVariations:"september",octoberVariations:"oktober",novemberVariations:"november",decemberVariations:"december",partMinutesSeparatorVariations:"min."};global.meeting_schedules_parser={languages:{CH:o,CHS:s,CR:u,E:c,ELI:l,F:m,FI:V,G:b,I:d,IL:p,J:y,K:g,KO:w,LSE:f,M:h,MG:j,ML:S,O:_,P:$,PGW:M,S:E,ST:v,SV:x,SW:A,T:k,TG:T,TK:R,TND:O,TNK:N,TPO:J,TTM:W,TW:L,U:C,VT:D,VZ:I,X:P,YW:F,Z:z},path:a,readFile:e,loadSQL:async()=>await i()};const q=a=>/^mwb_[A-Z]{1,3}_20[2-9]\d(0[1-9]|1[0-2]).(jwpub|epub)$/i.test(a),G=a=>/^w_[A-Z]{1,3}_20[2-9]\d(0[1-9]|1[0-2]).(jwpub|epub)$/i.test(a),U=a=>{let e;return e="object"==typeof a&&"url"in a?a.url:a instanceof Blob&&"name"in a?a.name:a,meeting_schedules_parser.path.basename(e)},H=a=>+U(a).split("_")[2].substring(0,4),K=a=>U(a).split("_")[1],Z=a=>{let e=!1;if(a.startsWith("OEBPS")&&a.endsWith(".xhtml")&&-1===a.indexOf("-extracted")){const i=a.split("/")[1].split(".")[0];isNaN(parseFloat(i))||(e=!0)}return e},B=async(a,e)=>await a.file(e).async("string"),Y=a=>{let e=!1,i=!1,r=!1,t=!1;return i=!!a.querySelector("[class*=treasures]"),i&&(r=!!a.querySelector("[class*=ministry]"),t=!!a.querySelector("[class*=christianLiving]")),i||(i=!!a.querySelector(".du-color--teal-700"),i&&(r=!!a.querySelector(".du-color--gold-700"),t=!!a.querySelector(".du-color--maroon-600"))),!0===i&&!0===r&&!0===t&&(e=!0),e},X=a=>t(a),Q=a=>!!a.querySelector(".groupTOC");var aa=[{locale:"en",code:"E"},{locale:"fr-FR",code:"F"},{locale:"it-IT",code:"I"},{locale:"ja-JP",code:"J"},{locale:"uk-UA",code:"K"},{locale:"ko-KR",code:"KO"},{locale:"ro-RO",code:"M"},{locale:"mg-MG",code:"MG"},{locale:"pl-PL",code:"P"},{locale:"es-ES",code:"S"},{locale:"pt-POR",code:"T"},{locale:"pt-TPO",code:"TPO"},{locale:"tl-PH",code:"TG"},{locale:"tr-TR",code:"TK"},{locale:"mg-TND",code:"TND"},{locale:"mg-TNK",code:"TNK"},{locale:"mg-TTM",code:"TTM"},{locale:"tw-TW",code:"TW"},{locale:"uk-UA",code:"U"},{locale:"mg-VZ",code:"VZ"},{locale:"de-DE",code:"X"},{locale:"cmn-Hant",code:"CH"},{locale:"ch-CHS",code:"CHS"},{locale:"fi-FI",code:"FI"},{locale:"sv-SE",code:"Z"},{locale:"nl-NL",code:"O"},{locale:"wes-PGW",code:"PGW"},{locale:"sl-SI",code:"SV"},{locale:"sw-KE",code:"SW"},{locale:"et-EE",code:"ST"},{locale:"ht-HT",code:"CR"},{locale:"ilo-PH",code:"IL"},{locale:"en-LR",code:"ELI"},{locale:"rw-RW",code:"YW"},{locale:"vi-VN",code:"VT"},{locale:"ms-MY",code:"ML"},{locale:"el-GR",code:"G"},{locale:"es-LSE",code:"LSE"}];class ea extends Error{code;constructor(a,e){super(e),this.code=`meeting-schedules-parser/failed-${a}`}}const ia=meeting_schedules_parser.languages,ra=a=>[{index:0,name:ia[a].januaryVariations},{index:1,name:ia[a].februaryVariations},{index:2,name:ia[a].marchVariations},{index:3,name:ia[a].aprilVariations},{index:4,name:ia[a].mayVariations},{index:5,name:ia[a].juneVariations},{index:6,name:ia[a].julyVariations},{index:7,name:ia[a].augustVariations},{index:8,name:ia[a].septemberVariations},{index:9,name:ia[a].octoberVariations},{index:10,name:ia[a].novemberVariations},{index:11,name:ia[a].decemberVariations}],ta={ELI:{"Study Article 23: July 31–August 6 20":"Study Article 23: July 31, 2023–August 6, 2023"},PGW:{"Fine-Fine Things Wey You See for Bible":"Fine-Fine Things Wey You See for Bible: (10 min.)"},ST:{"Seda artiklit uuritakse vahemikus 28. oktoobrist 3.novembrini 2024.":"Seda artiklit uuritakse vahemikus 28. oktoobrist 3. novembrini 2024."},SW:{"7. Video ya Machi ya Mambo Yaliyotimizwa na Tengenezo (10 min.) Onyesha VIDEO.":"7. Video ya Machi ya Mambo Yaliyotimizwa na Tengenezo (Dak. 10) Onyesha VIDEO."},YW:{"4. Gutangiza ikiganiro (Umun. 1) KUBWIRIZA KU NZU N’INZU. Umubwiriza asange umuntu avuga urundi rurimi. (lmd isomo rya 2 ingingo ya 5)":"4. Gutangiza ikiganiro (Imin. 1) KUBWIRIZA KU NZU N’INZU. Umubwiriza asange umuntu avuga urundi rurimi. (lmd isomo rya 2 ingingo ya 5)"}},na=a=>{const e=a.match(/(\d+)/);if(e&&e.length>0){const a=+e[0];if(a<=161)return a}return a},oa=(a,e)=>{a=a.replace(/(\u200B)*(\d+)(\u200B)*/g,"$2");const i=(a=>ia[a].partMinutesSeparatorVariations)(e);let r=a;const t=ta[e];if(t){const e=t[a];e&&(r=e)}const n=new RegExp(`(.+?)(?:: )?[((](\\d+)(?: | | )?(?:${i})[))](?: : | |. )?(.+?)?$`,"giu"),o=new RegExp(`(.+?)(?:: )?[((](\\d+)(?: | )?(?:${i})[))]?(?: : | |. )?(.+?)?$`,"giu"),s=new RegExp(`(.+?)(?: )?\\((?:${i})(?: | )?(\\d+).?\\)(?: |.)?(.+?)?$`,"giu"),u={common:n,PGW:o,SW:s,TW:s,YW:s},c=u[e]||u.common;if(!r.match(c))throw new ea("meeting-schedules-parser",`Parsing failed. The input was: ${r}`);const l=Array.from(c.exec(r)),m=l.at(1).trim(),V=+l.at(2).trim(),b=l.at(3)?.trim(),d=/^(:?\d+)(?:.|.\s)(.+?)$/giu,p=m.match(d);let y=m;if(p){y=Array.from(d.exec(m)).at(2).trim()}return{type:y,src:b,time:V,fulltitle:m}},sa="\\s? bis |[-–—]| do | — | – \\s?",ua="\\p{L}+\\p{M}*";let ca,la,ma;ca=`(\\d{1,2})(?:er|º)?(?:${sa})(?:\\d{1,2}) (${ua})`,la=`(\\d{1,2})(?:er|º)? (${ua})(?:${sa})(?:\\d{1,2})(?:er|º)?(?: )?(?:${ua})`,ma=`(\\d{1,2}) (${ua}) (\\d{4})`;const Va=`${ca}|${la}|${ma}`;ca=`(${ua}) (\\d{1,2})[-–](?:\\d{1,2})`,la=`(${ua}) (\\d{1,2})[-–](?:${ua}) (?:\\d{1,2})`,ma=`(${ua}) (\\d{1,2}), (\\d{4})`;const ba=`${ca}|${la}|${ma}`;ca="(\\d{1,2})月(\\d{1,2})[-–](?:\\d{1,2})日",la="(\\d{1,2})月(\\d{1,2})日",ma="(?:\\d{4})年(\\d{1,2})月(\\d{1,2})日";const da=`${ca}|${la}|${ma}`;ca="(\\d{1,2})월 (\\d{1,2})[-–](?:\\d{1,2})일",la="(\\d{1,2})월 (\\d{1,2})일",ma="(?:\\d{4})년 (\\d{1,2})월 (\\d{1,2})일";const pa=`${ca}|${la}|${ma}`;ca=`(\\d{1,2})[-–](?:\\d{1,2}) (${ua})`,la=`(\\d{1,2}) (${ua}) do (?:\\d{1,2}) (?:${ua})`,ma=`(\\d{1,2}) (${ua}) (\\d{4})`;const ya=`${ca}|${la}|${ma}`;ca=`(\\d{1,2})[-–](?:\\d{1,2}) de (${ua})`,la=`(\\d{1,2}) de (${ua}) a (?:\\d{1,2}) de (?:${ua})`,ma=`(\\d{1,2}) de (${ua}) de (\\d{4})`;const ga=`${ca}|${la}|${ma}`;ca=`(\\d{1,2})[-–](?:\\d{1,2}) de (${ua})`,la=`(\\d{1,2}) de (${ua})[-–](?:\\d{1,2})(?:.º)? de (?:${ua})`,ma=`(\\d{1,2}) de (${ua}) de (\\d{4})`;const wa=`${ca}|${la}|${ma}`;ca=`(\\d{1,2}) a (?:\\d{1,2}) de (${ua})`,la=`(\\d{1,2}) de (${ua}) a (?:\\d{1,2}) de (?:${ua})`,ma=`(\\d{1,2}) de (${ua}) de (\\d{4})`;const fa=`${ca}|${la}|${ma}`;ca="(\\d{1,2})[-](?:\\d{1,2}) (\\p{L}+\\p{M}*\\s\\d{1,2})",la="(\\d{1,2}) (\\p{L}+\\p{M}*\\s\\d{1,2})[–]NGÀY (?:\\d{1,2}) (?:\\p{L}+\\p{M}*\\s\\d{1,2})",ma="(\\d{1,2}) (\\p{L}+\\p{M}*\\s\\d{1,2}) năm (\\d{4})";const ha=`${ca}|${la}|${ma}`;ca=`(\\d{1,2}).[-–](?:\\d{1,2}). (${ua})`,la=`(\\d{1,2}). (${ua}) ?[-–] ?(?:\\d{1,2}). (?:${ua})`,ma=`(\\d{1,2}). (${ua}) (\\d{4})`;const ja=`${ca}|${la}|${ma}`,Sa={common:new RegExp(Va,"giu"),CH:new RegExp(da,"giu"),CHS:new RegExp(da,"giu"),E:new RegExp(ba,"giu"),ELI:new RegExp(ba,"giu"),FI:new RegExp(ja,"giu"),IL:new RegExp(ba,"giu"),J:new RegExp(da,"giu"),KO:new RegExp(pa,"giu"),LSE:new RegExp(ga,"giu"),P:new RegExp(ya,"giu"),PGW:new RegExp(ba,"giu"),S:new RegExp(ga,"giu"),ST:new RegExp(ja,"giu"),SV:new RegExp(ja,"giu"),SW:new RegExp(ba,"giu"),T:new RegExp(wa,"giu"),TG:new RegExp(ba,"giu"),TPO:new RegExp(fa,"giu"),TW:new RegExp(ba,"giu"),VT:new RegExp(ha,"giu"),X:new RegExp(ja,"giu")},_a=a=>{let e,i;return a[1]?(i=a[1],e=a[2]):a[3]?(i=a[3],e=a[4]):(i=a[5],e=a[6]),[i,e]},$a={common:a=>{let e,i;return a[1]?(e=a[1],i=a[2]):a[3]?(e=a[3],i=a[4]):(e=a[5],i=a[6]),[i,e]},CH:_a,CHS:_a,E:_a,ELI:_a,IL:_a,J:_a,KO:_a,PGW:_a,SW:_a,TG:_a,TW:_a};ca=`(\\d{1,2})(?:${sa})(?:\\d{1,2})? (${ua})(?:,)? (\\d{4})`,la=`(\\d{1,2}) (${ua})(?:${sa})(?:\\d{1,2}) (?:${ua}) (\\d{4})`,ma=`(\\d{1,2}) (${ua})(?:,)? (\\d{4})`;const Ma=`${ca}|${la}|${ma}`;ca=`(${ua}) (\\d{1,2})[-–](?:\\d{1,2})?, (\\d{4})`,la=`(${ua}) (\\d{1,2})[-–](?:${ua}) (?:\\d{1,2}), (\\d{4})`,ma=`(${ua}) (\\d{1,2}), (\\d{4})`;const Ea=`${ca}|${la}|${ma}`;ca="(\\d{4})年(?:nián)?(\\d{1,2})月(?:yuè)?(\\d{1,2})[-–~](\\d{1,2})日",la="(\\d{4})年(?:nián)?(\\d{1,2})月(?:yuè)?(\\d{1,2})日";const va=`${ca}|${la}`;ca="(\\d{4})년 (\\d{1,2})월 (\\d{1,2})[-–](\\d{1,2})일",la="(\\d{4})년 (\\d{1,2})월 (\\d{1,2})일";const xa=`${ca}|${la}`;ca=`(\\d{1,2}) do (?:\\d{1,2})? (${ua}) (\\d{4})`,la=`(\\d{1,2}) (${ua}) do (?:\\d{1,2}) (?:${ua}) (\\d{4})`,ma=`(\\d{1,2}) (${ua}) (\\d{4})`;const Aa=`${ca}|${la}|${ma}`;ca=`(\\d{1,2}) al (?:\\d{1,2})? de (${ua}) de (\\d{4})`,la=`(\\d{1,2}) de (${ua}) de (\\d{4})`;const ka=`${ca}|${la}`;ca=`(\\d{1,2})[-](?:\\d{1,2})? de (${ua}) de (\\d{4})`,la=`(\\d{1,2}) de (${ua})[-](?:\\d{1,2})?(?:.º)? de (?:${ua}) de (\\d{4})`,ma=`(\\d{1,2}) de (${ua}) de (\\d{4})`;const Ta=`${ca}|${la}|${ma}`;ca=`(\\d{1,2}) a (?:\\d{1,2})? de (${ua}) de (\\d{4})`,la=`(\\d{1,2}) de (${ua}) de (\\d{4})`;const Ra=`${ca}|${la}`;ca=`(\\d{1,2}) ka hatramin’ny (?:\\d{1,2})? (${ua}) (\\d{4})`,la=`(\\d{1,2}) (${ua}) ka hatramin’ny (?:\\d{1,2}) (?:${ua}) (\\d{4})`,ma=`(\\d{1,2}) (${ua}) (\\d{4})`;const Oa=`${ca}|${la}|${ma}`;ca=`(${ua}) (\\d{1,2})[-–](?:\\d{1,2})?, (\\d{4})`,la=`(${ua}) (\\d{1,2})[-–](?:${ua}) (?:\\d{1,2}), (\\d{4})`,ma=`(${ua}) (\\d{1,2}), (\\d{4})`;const Na=`${ca}|${la}|${ma}`;ca="(\\d{1,2})[-](?:\\d{1,2})? (\\p{L}+\\p{M}*\\s\\d{1,2}) năm (\\d{4})",la="(\\d{1,2}) (\\p{L}+\\p{M}*\\s\\d{1,2}) năm (\\d{4})";const Ja=`${ca}|${la}`;ca=`(\\d{1,2}).(?:${sa})(?:\\d{1,2}).? (${ua}) (\\d{4})`,la=`(\\d{1,2}). (${ua})(?:${sa})(?:\\d{1,2}).? (?:${ua}) (\\d{4})`,ma=`(\\d{1,2}). (${ua}) (\\d{4})`;const Wa=`${ca}|${la}|${ma}`;ca="(\\d{1,2}).[–](?:\\d{1,2}).(\\d{1,2}).(\\d{4})",la="(\\d{1,2}).(\\d{1,2}).[–](?:\\d{1,2}).(?:\\d{1,2}).(\\d{4})",ma="(\\d{1,2}).(\\d{1,2}).(\\d{4})";const La=`${ca}|${la}|${ma}`,Ca={common:new RegExp(Ma,"giu"),CH:new RegExp(va,"giu"),CHS:new RegExp(va,"giu"),E:new RegExp(Ea,"giu"),ELI:new RegExp(Ea,"giu"),FI:new RegExp(La,"giu"),IL:new RegExp(Ea,"giu"),J:new RegExp(va,"giu"),KO:new RegExp(xa,"giu"),LSE:new RegExp(ka,"giu"),P:new RegExp(Aa,"giu"),PGW:new RegExp(Ea,"giu"),S:new RegExp(ka,"giu"),ST:new RegExp(Wa,"giu"),SV:new RegExp(Wa,"giu"),SW:new RegExp(Ea,"giu"),T:new RegExp(Ta,"giu"),TPO:new RegExp(Ra,"giu"),TG:new RegExp(Ea,"giu"),TTM:new RegExp(Oa,"giu"),TW:new RegExp(Na,"giu"),VT:new RegExp(Ja,"giu"),X:new RegExp(Wa,"giu")},Da=a=>{let e,i,r;return a[1]?(i=a[1],e=a[2],r=a[3]):a[4]?(i=a[4],e=a[5],r=a[6]):(i=a[7],e=a[8],r=a[9]),[r,i,e]},Ia=a=>{let e,i,r;return a[1]?(r=a[1],i=a[2],e=a[3]):(r=a[5],i=a[6],e=a[7]),[r,i,e]},Pa={common:a=>{let e,i,r;return a[1]?(e=a[1],i=a[2],r=a[3]):a[4]?(e=a[4],i=a[5],r=a[6]):(e=a[7],i=a[8],r=a[9]),[r,i,e]},CH:Ia,CHS:Ia,E:Da,ELI:Da,IL:Da,J:Ia,KO:Ia,PGW:Da,SW:Da,TG:Da,TW:Da},Fa=a=>a.querySelectorAll("h3"),za=(a,e,i)=>{const r=aa.find((a=>a.code===i)),t={},n=(a=>a.querySelector("h1").textContent.replace(/\u00A0/g," "))(a);if(r){const a=((a,e,i)=>{const r=a.trim().replace(" "," ").replace("","").replace("","").replace(/\u200F/g,"").replace(/\u200B/g,""),t=Sa[i]||Sa.common;if(!r.match(t))throw new ea("mwb",`Parsing failed for Meeting Workbook Date. The input was: ${a}`);const n=Array.from(t.exec(r)),o=$a[i]||$a.common;let[s,u]=o(n);if(isNaN(+s)){const a=ra(i).find((a=>a.name.toLocaleLowerCase().includes(s.toLowerCase()))).index;s=String(a+1)}return`${e}/${String(s).padStart(2,"0")}/${String(u).padStart(2,"0")}`})(n,e,i);t.mwb_week_date=a,t.mwb_week_date_locale=n}else t.mwb_week_date=n;t.mwb_weekly_bible_reading=(a=>a.querySelector("h2").textContent.replace(/\u00A0/g," "))(a);const o=(a=>{let e="";const i=a.querySelectorAll(".pGroup");for(const a of i){const i=a.querySelectorAll("li");for(const a of i)e+="@"+a.querySelector("p").textContent}if(0===e.length){const i=a.querySelectorAll("h3");let r=0;for(const a of i){let i=a.classList.contains("dc-icon--music");const t=!1===a.parentNode.classList.contains("boxContent");if(i||(i=!!a.querySelector(".dc-icon--music")),i&&r++,i||t){let t="";t=a.textContent,i&&(t=t.replace("|","@")),e+="@"+t;const n=a.nextElementSibling;if(n){const a=n.querySelector("p");if(a){if(i&&2===r&&"DIV"===n.tagName){e+="@"+a.textContent;const i=n.nextElementSibling?.querySelector("p");i&&(e+=" "+i.textContent);continue}e+=" "+a.textContent}}}}const t=e.split("@",5).join("@").length;e=e.substring(0,t)+"@junk@junk"+e.substring(t)}return e=e.replace(/\u00A0/g," "),e})(a);let s=o.split("@"),u="";if(t.mwb_song_first=na(s[1]),u=s[3].trim(),r){const a=oa(u,i);t.mwb_tgw_talk=a.type,t.mwb_tgw_talk_title=a.fulltitle}else t.mwb_tgw_talk=u;if(u=s[4].trim(),r){const a=oa(u,i);t.mwb_tgw_gems_title=a.fulltitle}else t.mwb_tgw_gems_title=u;if(u=s[7].trim(),r){const a=oa(u,i);t.mwb_tgw_bread=a.src,t.mwb_tgw_bread_title=a.fulltitle}else t.mwb_tgw_bread=u;const c=(a=>{let e=1;const i=a.querySelector("#section3");return i&&(e=i.querySelectorAll("li").length),i||(e=a.querySelectorAll(".du-color--gold-700").length-1),e})(a);if(t.mwb_ayf_count=c,u=s[8].trim(),r){const a=oa(u,i);t.mwb_ayf_part1=a.src,t.mwb_ayf_part1_time=a.time,t.mwb_ayf_part1_type=a.type,t.mwb_ayf_part1_title=a.fulltitle}else t.mwb_ayf_part1=u;if(c>1)if(u=s[9].trim(),r){const a=oa(u,i);t.mwb_ayf_part2=a.src,t.mwb_ayf_part2_time=a.time,t.mwb_ayf_part2_type=a.type,t.mwb_ayf_part2_title=a.fulltitle}else t.mwb_ayf_part2=u;if(c>2)if(u=s[10].trim(),r){const a=oa(u,i);t.mwb_ayf_part3=a.src,t.mwb_ayf_part3_time=a.time,t.mwb_ayf_part3_type=a.type,t.mwb_ayf_part3_title=a.fulltitle}else t.mwb_ayf_part3=u;if(c>3)if(u=s[11].trim(),r){const a=oa(u,i);t.mwb_ayf_part4=a.src,t.mwb_ayf_part4_time=a.time,t.mwb_ayf_part4_type=a.type,t.mwb_ayf_part4_title=a.fulltitle}else t.mwb_ayf_part4=u;let l=c>3?12:c>2?11:c>1?10:9;t.mwb_song_middle=na(s[l]);const m=(a=>{let e=1;const i=a.querySelector("#section4");return i&&(e=i.querySelectorAll("li").length,e=6===e?2:1),null===i&&(e=a.querySelectorAll(".du-color--maroon-600.du-margin-top--8.du-margin-bottom--0").length-1),e})(a);if(t.mwb_lc_count=m,l++,u=s[l].trim(),r){const a=oa(u,i);t.mwb_lc_part1=a.type,t.mwb_lc_part1_time=a.time,t.mwb_lc_part1_title=a.fulltitle,a.src&&""!==a.src&&(t.mwb_lc_part1_content=a.src)}else t.mwb_lc_part1=u;if(2===m)if(l++,u=s[l].trim(),r){const a=oa(u,i);t.mwb_lc_part2=a.type,t.mwb_lc_part2_time=a.time,t.mwb_lc_part2_title=a.fulltitle,a.src&&""!==a.src&&(t.mwb_lc_part2_content=a.src)}else t.mwb_lc_part2=u;if(l++,u=s[l].trim(),r){const a=oa(u,i);t.mwb_lc_cbs=a.src,t.mwb_lc_cbs_title=a.fulltitle}else t.mwb_lc_cbs=u;return l++,l++,u=s[l].trim(),t.mwb_song_conclude=na(u),t},qa=(a,e,i)=>{const r=aa.find((a=>a.code===i)),t={},n=(a=>{let e;const i=a.querySelector(".desc");return null===i&&(e=a.textContent.replace(/\u00A0/g," ")),null!==i&&(e=i.textContent.replace(/\u00A0/g," ")),e})(a);if(n.length>0)if(r){const a=((a,e)=>{let i=a=a.trim().replace(" "," ").replace("","").replace("","").replace(/\u200F/g,"").replace(/\u200B/g,"");const r=ta[e];if(r){const e=r[a];e&&(i=e)}const t=Ca[e]||Ca.common;if(!i.match(t))throw new ea("wtstudy",`Parsing failed for Watchtower Study Date. The input was: ${i}`);const n=Array.from(t.exec(i)),o=Pa[e]||Pa.common;let[s,u,c]=o(n);if(isNaN(+u)){const a=ra(e).find((a=>a.name.toLocaleLowerCase().includes(u.toLowerCase()))).index;u=String(a+1)}return`${s}/${String(u).padStart(2,"0")}/${String(c).padStart(2,"0")}`})(n,i);t.w_study_date=a,t.w_study_date_locale=n}else t.w_study_date=n;const o=(a=>{let e;const i=a.querySelector("h2");null===i&&(e=a.nextElementSibling.querySelector("a").textContent.replace(/\u00A0/g," "));return null!==i&&(e=i.textContent.trim().replace(/\u00A0/g," ")),e})(a);t.w_study_title=o;const s=(a=>{const e=a.querySelectorAll(".pubRefs"),i=e.at(0),r=na(i.textContent);let t=e.at(-1);2===e.length&&(t=a.querySelector(".blockTeach").nextElementSibling);return{w_study_opening_song:r,w_study_concluding_song:na(t.textContent)}})(e);return t.w_study_opening_song=s.w_study_opening_song,t.w_study_concluding_song=s.w_study_concluding_song,t},Ga=async({htmlDocs:a,year:e,lang:i})=>{const r=[];for(const t of a){const a=za(t,e,i);r.push(a)}return r},Ua=async a=>{const e=new r;return await e.loadAsync(a)},Ha=async(a,e)=>{let i;for(let[r]of Object.entries(a.files)){if(meeting_schedules_parser.path.basename(r)===e){const e=await B(a,r);i=X(e);break}}return i},Ka=async(a,e)=>{let i=[];const r=q(a),t=G(a),n=await Ua(e),o=await(async(a,e,i)=>{const r=[];for(let[t]of Object.entries(a.files))if(Z(t)){const n=await B(a,t),o=X(n);(e?Y(o):i&&Q(o))&&r.push(o)}return r})(n,r,t);if(0===o.length)throw new Error(`The file you provided is not a valid ${r?"Meeting Workbook":"Watchtower Study"} EPUB file. Please make sure that the file is correct.`);if(t&&o.length>1)throw new Error("The file you provided is not a valid Watchtower Study EPUB file. Please make sure that the file is correct.");const s=H(a),u=K(a);return r&&(i=await Ga({htmlDocs:o,year:s,lang:u})),t&&(i=await(async({htmlItem:a,epubLang:e,epubContents:i})=>{const r=[],t=Fa(a);for(const[a,n]of t.entries()){const a=n.nextElementSibling.querySelector("a").getAttribute("href"),t=await Ha(i,a),o=qa(n,t,e);r.push(o)}return r})({htmlItem:o[0],epubLang:u,epubContents:n})),i},Za=a=>{const e=a.replace(/[^a-fA-F0-9]/g,""),i=new Uint8Array(e.length/2);for(let a=0;a<i.length;a++)i[a]=parseInt(e.slice(2*a,2*a+2),16);return i},Ba=async a=>{const e=(new TextEncoder).encode(a);return(a=>{const e=new Uint8Array(a);return Array.from(e).map((a=>a.toString(16).padStart(2,"0"))).join("")})(await crypto.subtle.digest("SHA-256",e))},Ya=async(a,e)=>{const i=await Ba(a),r=((a,e)=>{if(a.length!==e.length)throw new Error("Buffers must be same length");return a.map(((a,i)=>a^e[i%e.length]))})(Za(i),Za(e));return t=r,[...t].map((a=>a.toString(16).padStart(2,"0"))).join("");var t},Xa=async(a,e,i)=>{const r=await(async(a,e,i)=>{const r=await crypto.subtle.importKey("raw",Za(e),{name:"AES-CBC"},!1,["decrypt"]);return await crypto.subtle.decrypt({name:"AES-CBC",iv:Za(i)},r,a)})(a,e,i),t=new Uint8Array(r),o=n(t);return(new TextDecoder).decode(o)},Qa=async(a,e,i)=>{const r=await(async a=>{const e=await meeting_schedules_parser.loadSQL(),i=await a.files.contents.async("uint8array"),r=await Ua(i),t=Object.keys(r.files).find((a=>a.endsWith(".db")));if(!t)throw new Error("Database file not found in the JWPUB file.");const n=await r.files[t].async("uint8array");return new e.Database(n)})(a),t=(a=>{const e=a.exec("SELECT MepsLanguageIndex, Symbol, Year, IssueTagNumber FROM Publication");if(0===e.length)throw new Error("The file selected is not a valid JWPUB file.");return e[0].values[0].join("_")})(r),{key:n,iv:o}=await(async a=>{const e=atob("MTFjYmI1NTg3ZTMyODQ2ZDRjMjY3OTBjNjMzZGEyODlmNjZmZTU4NDJhM2E1ODVjZTFiYzNhMjk0YWY1YWRhNw=="),i=await Ya(a,e);return{key:i.slice(0,32),iv:i.slice(32)}})(t);if(e){const a=await(async(a,e,i)=>{const r=[],t=a.exec("SELECT Content FROM Document WHERE Class='106'");for(const a of t.at(0).values){const t=a.at(0),n=await Xa(t,e,i),o=X(n);o.querySelectorAll("rt").forEach((a=>a.remove())),r.push(o)}return r})(r,n,o);return a}if(i){const a=await(async(a,e,i)=>{const r=[];let t=a.exec("SELECT Content FROM Document WHERE Class='68'");const n=t.at(0).values.at(0).at(0),o=await Xa(n,e,i),s=X(o);s.querySelectorAll("rt").forEach((a=>a.remove())),t=a.exec("SELECT MepsDocumentId, Content FROM Document WHERE Class='40'");for(const a of t.at(0).values){const t=+a.at(0),n=a.at(1),o=await Xa(n,e,i),s=X(o);s.querySelectorAll("rt").forEach((a=>a.remove())),r.push({id:t,article:s})}return{toc:s,articles:r}})(r,n,o);return a}},ae=async(a,e)=>e.find((e=>e.id===a)).article,ee=async(a,e)=>{let i=[];const r=q(a),t=G(a),n=await Ua(e);if(2!==Object.keys(n.files).length)throw new Error(`The file you provided is not a valid ${r?"Meeting Workbook":"Watchtower Study"} JWPUB file. Please make sure that the file is correct.`);const o=H(a),s=K(a),u=await Qa(n,r,t);if(r&&(i=await Ga({htmlDocs:u,year:o,lang:s})),t){const a=u;i=await(async({htmlItem:a,htmlDocs:e,lang:i})=>{const r=[],t=Fa(a);for(const[a,n]of t.entries()){const a=n.nextElementSibling.querySelector("a").getAttribute("href"),t=+Array.from(/.+:(\w+)\/$/.exec(a))[1],o=await ae(+t,e),s=qa(n,o,i);r.push(s)}return r})({htmlItem:a.toc,htmlDocs:a.articles,lang:s})}return i},ie=async a=>{let e=[];if(!(a=>{const e=U(a),i=q(e),r=G(e);return i||r})(a))throw new Error("The selected file has an incorrect naming.");if(!(a=>{let e=!0;const i=U(a),r=q(i),t=G(i),n=r?"mwb":t?"w":void 0,o=+i.split("_")[2].split(".epub")[0];return"mwb"===n&&o<202207&&(e=!1),"w"===n&&o<202304&&(e=!1),e})(a))throw new Error("Parsing is only supported for Meeting Workbook starting on July 2022, and for Watchtower Study starting on April 2023.");const i=await(async a=>{let e;if(a instanceof Blob&&(e=a),"object"==typeof a&&"url"in a){const i=await fetch(a.url);if(200!==i.status)throw new Error("Publication could not be downloaded. Check the URL you provided.");const r=await i.blob();e=await r.arrayBuffer()}"string"==typeof a&&(e=await meeting_schedules_parser.readFile(a));return e})(a),t=await(async a=>{let e=0,i=0,t="archive_tmp";const n={isBig:!1,isMore:!1,isSuspicious:!1},o=new r,s=await o.loadAsync(a);for(let[a]of Object.entries(s.files))e++,e>300&&(n.isMore=!0),meeting_schedules_parser.path.join(t,a).startsWith(t)||(n.isSuspicious=!0),i+=(await o.file(a).async("arraybuffer")).byteLength,i>2e7&&(n.isBig=!0);return e=0,i=0,n})(i);if(t.isBig)throw new Error("Publication size seems to be large. Parsing aborted.");if(t.isMore)throw new Error("Publication seems to contain more files than expected. Parsing aborted.");if(t.isSuspicious)throw new Error("Publication seems to be suspicious. Parsing aborted.");const n=U(a),o=(s=n,meeting_schedules_parser.path.extname(s));var s;return".jwpub"===o&&(e=await ee(n,i)),".epub"===o&&(e=await Ka(n,i)),e},re=async a=>{try{(a=>{if(!a)throw new Error("You did not pass anything to the loadPub function.")})(a);return await ie(a)}catch(a){throw console.error(a),new Error(a?.message)}};export{re as loadPub};
//# sourceMappingURL=index.js.map