/*! * * # Bibi | EPUB Reader on your website. (℠) * * * © Satoru Matsushima - https://bibi.epub.link or https://github.com/satorumurmur/bibi * * Open source under the MIT License - https://github.com/satorumurmur/bibi/blob/master/LICENSE * * * Including: * - sML.js : © Satoru Matsushima - https://github.com/satorumurmur/sML / Licensed under the MIT License - https://github.com/satorumurmur/sML/blob/master/LICENSE * */!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=47)}({0:function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(i=window)}e.exports=i},2:function(e,t,n){(function(t){var n=this;function i(e){throw new Error('"'+e+'" is read-only')}function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(i){e.exports?e.exports=i:(void 0!==t?t:void 0!==n?n:self).sML=i}(function(){"use strict";var e,t,n,o,a,s,c,l,u,d,p,f,g={version:"1.0.28"},h=navigator.userAgent,b=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"$1";return e?(t=new RegExp("^.*"+e+"[ :\\/]?(\\d+([\\._]\\d+)*).*$")).test(h)?h.replace(t,n).replace(/_/g,".").split(".").map((function(e){return parseInt(e)||0})):[]:[]};return g.OperatingSystem=(e={},/Mac OS X/.test(h)?/\(iP(hone|ad|od touch);/.test(h)?e.iOS=b("CPU (iPhone )?OS","$2"):void 0!==document.ontouchend?e.iOS=e.iPadOS=b():/Mac OS X 10[\._]\d/.test(h)&&(e.macOS=b("Mac OS X ")):/Windows( NT)? \d/.test(h)?e.Windows=6!=(t=b("Windows( NT)?","$2"))[0]?t:t[1]>=3?[8,1]:t[1]>=2?[8]:t[1]>=1?[7]:t:/Android \d/.test(h)?e.Android=b("Android"):/CrOS/.test(h)?e.Chrome=b():/X11;/.test(h)?e.Linux=b():/Firefox/.test(h)&&(e.Firefox=b()),e),g.UserAgent=(n={},/ Gecko\/\d/.test(h)?(n.Gecko=b("rv"),/ Waterfox\/\d/.test(h)?n.Waterfox=b("Waterfox"):/ Firefox\/\d/.test(h)&&(n.Firefox=b("Firefox"))):/ Edge\/\d/.test(h)?n.EdgeHTML=n.Edge=b("Edge"):/ Chrom(ium|e)\/\d/.test(h)?(n.Blink=n.Chromium=function(e){return e[0]?e:b("Chrome")}(b("Chromium")),/ EdgA?\/\d/.test(h)?n.Edge=function(e){return e[0]?e:b("Edg")}(b("EdgA")):/ OPR\/\d/.test(h)?n.Opera=b("OPR"):/ Silk\/\d/.test(h)?n.Silk=b("Silk"):/ Vivaldi\/\d/.test(h)?n.Vivaldi=b("Vivaldi"):/ Phoebe\/\d/.test(h)?n.Phoebe=b("Phoebe"):n.Chrome=function(e){return e[0]?e:n.Chromium}(b("Chrome"))):/ AppleWebKit\/\d/.test(h)?(n.WebKit=b("AppleWebKit"),/ CriOS \d/.test(h)?n.Chrome=b("CriOS"):/ FxiOS \d/.test(h)?n.Firefox=b("FxiOS"):/ EdgiOS\/\d/.test(h)?n.Edge=b("EdgiOS"):/ Version\/\d/.test(h)&&(n.Safari=b("Version"))):/ Trident\/\d/.test(h)&&(n.Trident=b("Trident"),n.InternetExplorer=function(e){return e[0]?e:b("MSIE")}(b("rv"))),/[\[; ]FB(AN|_IAB)\//.test(h)&&(n.Facebook=b("FBAV")),/ Line\/\d/.test(h)&&(n.LINE=b("Line")),n),g.Environments=[g.OperatingSystem,g.UserAgent].reduce((function(e,t){for(var n in t)t[n]&&e.push(n);return e}),[]),Object.defineProperties(g,{OS:{get:function(){return g.OperatingSystem}},UA:{get:function(){return g.UserAgent}}}),g.forEach=function(e){return function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window||self,i=e.length,r=0;r1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(e.From&&e.To)if(t)for(var n in e.From)"function"!=typeof e.To[n]&&"function"!=typeof e.From[n]&&(e.To[n]=e.From[n]);else for(var i in e.From)e.To[i]=e.From[i];return e.To},g.applyLtR=function(e,t,n){return g.apply({From:e,To:t},n)},g.applyRtL=function(e,t,n){return g.apply({From:t,To:e},n)},g.replaceClass=function(e,t,n){return e.classList.contains(t)&&e.classList.remove(t),e.classList.add(n)},g.CSS={_get_sMLStyle_sheet:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;return e.sMLStyle||(e.sMLStyle=e.createElement("style"),e.sMLStyle.appendChild(e.createTextNode("")),e.head.appendChild(e.sMLStyle)),e.sMLStyle.sheet},appendRule:function(e,t){var n=document;"string"!=typeof arguments[0]&&(n=arguments[0],e=arguments[1],t=arguments[2]);var i=this._get_sMLStyle_sheet(n);return i.insertRule((e instanceof Array?e.join(", "):e)+" { "+(t instanceof Array?t.join(" "):t)+" }",i.cssRules.length)},deleteRule:function(e){var t=document;"number"!=typeof arguments[0]&&(t=arguments[0],e=arguments[1]);var n=this._get_sMLStyle_sheet(t);if(n)return n.deleteRule(e)},setStyle:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i1?n-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:"sml",t=e+"EventListener",n=e+"BindedEventListeners",i=new RegExp("^"+e+":[\\w\\d\\-:]+$");return this.add=function(e,n){var o=this,a=document;return arguments.length>2&&(a=arguments[0],e=arguments[1],n=arguments[2]),a instanceof Array?a.forEach((function(t){return o.add(t,e,n)}))||n:e instanceof Array?e.forEach((function(e){return o.add(a,e,n)}))||n:n instanceof Array?n.forEach((function(t){return o.add(a,e,t)}))||n:!("object"!=r(a)||!i.test(e)||"function"!=typeof n)&&(n[t]||(n[t]=function(e){return n.call(a,e.detail)}),a.addEventListener(e,n[t],!1),n)},this.remove=function(e,n){var o=this,a=document;return arguments.length>2&&(a=arguments[0],e=arguments[1],n=arguments[2]),a instanceof Array?a.forEach((function(t){return o.remove(t,e,n)}))||n:e instanceof Array?e.forEach((function(e){return o.remove(a,e,n)}))||n:n instanceof Array?n.forEach((function(t){return o.remove(a,e,t)}))||n:!("object"!=r(a)||!i.test(e)||"function"!=typeof n)&&(a.removeEventListener(e,n[t]),n)},this.bind=function(e,t){var o=this,a=document;return arguments.length>2&&(a=arguments[0],e=arguments[1],t=arguments[2]),a instanceof Array?a.forEach((function(n){return o.bind(n,e,t)}))||t:e instanceof Array?e.forEach((function(e){return o.bind(a,e,t)}))||t:t instanceof Array?t.forEach((function(t){return o.bind(a,e,t)}))||t:!("object"!=r(a)||!i.test(e)||"function"!=typeof t)&&(a[n]||(a[n]={}),a[n][e]instanceof Array||(a[n][e]=[]),a[n][e]=a[n][e].filter((function(e){return e!=t})),a[n][e].push(t),t)},this.unbind=function(e,t){var o=this,a=document;return arguments.length>2&&(a=arguments[0],e=arguments[1],t=arguments[2]),a instanceof Array?a.forEach((function(n){return o.unbind(n,e,t)}))||t:e instanceof Array?e.forEach((function(e){return o.unbind(a,e,t)}))||t:t instanceof Array?t.forEach((function(t){return o.unbind(a,e,t)}))||t:!("object"!=r(a)||!i.test(e)||"function"!=typeof t)&&(!!(a[n]&&a[n][e]instanceof Array)&&(a[n][e]=a[n][e].filter((function(e){return e!=t})),t))},this.dispatch=function(e,t){var o=this,a=document;return arguments.length>2&&(a=arguments[0],e=arguments[1],t=arguments[2]),a instanceof Array?a.forEach((function(n){return o.dispatch(n,e,t)}))||t:e instanceof Array?e.forEach((function(e){return o.dispatch(a,e,t)}))||t:!("object"!=r(a)||!i.test(e))&&(a[n]&&a[n][e]instanceof Array&&a[n][e].forEach((function(e){return"function"==typeof e&&e.call(a,t)})),a.dispatchEvent(new CustomEvent(e,{detail:t})),t)},this},g.Scroller={scrollTo:function(e){var t,n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.Frame&&e.Frame instanceof HTMLElement?e.Frame:window,a={};if(o.sMLScrollerSetting?(a=o.sMLScrollerSetting).cancel():((a=o.sMLScrollerSetting={Frame:o}).scrollTo=a.Frame===window?function(e,t){return window.scrollTo(e,t)}:function(e,t){a.Frame.scrollLeft=e,a.Frame.scrollTop=t},a.cancel=function(){a.removeScrollCancelation(),a.oncanceled&&a.oncanceled()},a.addScrollCancelation=function(){return["keydown","mousedown","touchstart","wheel"].forEach((function(e){return a.Frame.addEventListener(e,a.cancel)}))},a.removeScrollCancelation=function(){return["keydown","mousedown","touchstart","wheel"].forEach((function(e){return a.Frame.removeEventListener(e,a.cancel)}))},a.preventUserScrolling=function(){return["keydown","mousedown","touchstart","wheel"].forEach((function(e){return a.Frame.addEventListener(e,g.preventDefault)}))},a.allowUserScrolling=function(){return["keydown","mousedown","touchstart","wheel"].forEach((function(e){return a.Frame.removeEventListener(e,g.preventDefault)}))}),e instanceof HTMLElement?a.Target=g.Coord.getElementCoord(e):a.Target="number"==typeof e?{Y:e}:e?{X:e.X,Y:e.Y}:{},a.Start=g.Coords.getScrollCoord(a.Frame),a.StartedOn=(new Date).getTime(),"number"!=typeof a.Target.X&&(a.Target.X=a.Start.X),"number"!=typeof a.Target.Y&&(a.Target.Y=a.Start.Y),a.Duration="number"==typeof i.Duration&&i.Duration>=0?i.Duration:100,!a.Duration)return a.scrollTo(a.Target.X,a.Target.Y),Promise.resolve();switch(r(i.ease)){case"function":a.ease=i.ease;break;case"string":a.ease=g.Easing[i.ease]?g.Easing[i.ease]:g.Easing.linear;break;default:a.ease=g.Easing.linear}return a.ForceScroll=i.ForceScroll,a.ForceScroll?(a.preventUserScrolling(),t=function(){return a.allowUserScrolling()}):(a.addScrollCancelation(),t=function(){return a.removeScrollCancelation()}),a.after=function(){clearTimeout(a.Timer),delete a.oncanceled,delete n.Scrolling,t()},new Promise((function(e,t){a.oncanceled=function(){a.after(),t()},a.resolve=function(){return e()},n.Scrolling=a,n.scrollInProgress()})).then((function(){a.scrollTo(a.Target.X,a.Target.Y),a.after()}))},scrollInProgress:function(){var e=this,t=this.Scrolling,n=(new Date).getTime()-t.StartedOn;if(t.Duration<=n)return t.resolve();var i=t.ease(n/t.Duration);t.scrollTo(Math.round(t.Start.X+(t.Target.X-t.Start.X)*i),Math.round(t.Start.Y+(t.Target.Y-t.Start.Y)*i)),t.Timer=setTimeout((function(){return e.scrollInProgress()}),g.limitMax(10,t.Duration-n))}},g.scrollTo=function(){return g.Scroller.scrollTo.apply(g.Scroller,arguments)},g.Easing=(o=Math.pow,a=Math.sqrt,s=Math.sin,c=Math.cos,l=Math.PI,d=(u=2*l/3)/1.5,f=function(e){return(e*=2.75)<1?o(e,2):e<2?o(e-1.5,2)+.75:e<2.5?o(e-2.25,2)+.9375:o(e-2.625,2)+.984375},{linear:function(e){return e},easeInSine:function(e){return 1-c(e*l/2)},easeOutSine:function(e){return s(e*l/2)},easeInOutSine:function(e){return(1-c(e*l))/2},easeInQuad:(p=function(e,t){switch(e){case"i":return function(e){return o(e,t)};case"o":return function(e){return 1-o(1-e,t)};case"io":return function(e){return((e*=2)<1?o(e,t):1-o(1-e,t))/2}}})("i",2),easeOutQuad:p("o",2),easeInOutQuad:p("io",2),easeInCubic:p("i",3),easeOutCubic:p("o",3),easeInOutCubic:p("io",3),easeInQuart:p("i",4),easeOutQuart:p("o",4),easeInOutQuart:p("io",4),easeInQuint:p("i",5),easeOutQuint:p("o",5),easeInOutQuint:p("io",5),easeInExpo:function(e){return e?o(2,10*--e):0},easeOutExpo:function(e){return 1==e?1:1-o(2,-10*e)},easeInOutExpo:function(e){return e?1==e?1:((e*=2)<1?o(2,10*--e):2-o(2,-10*--e))/2:0},easeInCirc:function(e){return 1-a(1-o(e,2))},easeOutCirc:function(e){return a(1-o(e-1,2))},easeInOutCirc:function(e){return((e*=2)<1?1-a(1-o(e,2)):1+a(1-o(e-2,2)))/2},easeInBack:function(e){return 2.70158*o(e,3)-1.70158*o(e,2)},easeOutBack:function(e){return 1+2.70158*o(e-1,3)+1.70158*o(e-1,2)},easeInOutBack:function(e){return((e*=2)<1?3.5949095*o(e,3)-2.5949095*o(e,2):2+3.5949095*o(e-2,3)+2.5949095*o(e-2,2))/2},easeInElastic:function(e){return e?1==e?1:-1*o(2,10*--e)*s((10*e-.75)*u):0},easeOutElastic:function(e){return e?1==e?1:1+o(2,-10*e)*s((10*e-.75)*u):0},easeInOutElastic:function(e){return e?1==e?1:((e*=2)<1?-1*o(2,10*--e)*s((10*e-1.125)*d):2+o(2,-10*--e)*s((10*e-1.125)*d))/2:0},easeInBounce:function(e){return 1-f(1-e)},easeOutBounce:function(e){return f(e)},easeInOutBounce:function(e){return((e*=2)<1?1-f(1-e):1+f(e-1))/2}}),g.Cookies={read:function(e){if("string"!=typeof e||!e)return"";e=encodeURIComponent(e);for(var t=document.cookie.split("; "),n="",i=t.length,r=0;r=0)return this._searchSidesOfText(e,t.childNodes[c]);n.push(t.childNodes[c].textContent)}for(s=this._distill(n,o+1,a);s&&this._flat(s).indexOf(e)>=0;)o++,s=this._distill(n,o+1,a);var l=t.childNodes[o],u=0,d="",p=l.textContent.length-1;for(s=this._distill(l.textContent,u,p);this._flat(s)&&!new RegExp("^"+this._escape(this._flat(s))).test(e);)u++,s=this._distill(l.textContent,u,p);for(d=this._flat(s);3!=l.nodeType;)i("F"),l=(r=this._find(d,l)).Start.Node,d=r.Start.Text;for(s=this._distill(n,o,a-1);s&&this._flat(s).indexOf(e)>=0;)a--,s=this._distill(n,o,a-1);var f=t.childNodes[a],g="",h=f.textContent.length-1;for(s=this._distill(f.textContent,0,h);this._flat(s)&&!new RegExp(this._escape(this._flat(s))+"$").test(e);)h--,s=this._distill(f.textContent,0,h);for(g=this._flat(s);3!=f.nodeType;)i("F"),f=(r=this._searchSidesOfText(g,f)).End.Node,g=r.End.Text;return{Start:{Node:l,Text:d},End:{Node:f,Text:g}}},_flat:function(e){return e.replace(/[\r\n]/g,"")},_escape:function(e){return e.replace(/([\(\)\{\}\[\]\,\.\-\+\*\?\!\:\^\$\/\\])/g,"\\$1")},_distill:function(e,t,n){for(var i="",r=t;r<=n;r++)i+=e[r];return i}},g.Fullscreen={polyfill:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window||self,t=e.document,n=e.Element.prototype;if(void 0===t.fullscreenEnabled){if("function"!=typeof Promise)throw new Error("sML.Fullscreen.polyfill requires Promise.");var i=t.webkitFullscreenEnabled?"webkit":t.msFullscreenEnabled?"ms":"";switch(i){case"webkit":t.addEventListener("webkitfullscreenchange",(function(){return t.dispatchEvent(new Event("fullscreenchange",{bubbles:!0,cancelable:!1}))}));break;case"ms":t.onmsfullscreenchange=function(){return t.dispatchEvent((e=t.createEvent("Event")).initEvent("fullscreenchange",!0,!1)||e);var e};break;default:return t.fullscreenEnabled=!1,t.fullscreenElement=null,void(t.exitFullscreen=n.requestFullscreen=function(){return Promise.reject()})}Object.defineProperties(t,{fullscreenEnabled:{get:function(){return t[i+"FullscreenEnabled"]}},fullscreenElement:{get:function(){return t[i+"FullscreenElement"]}}}),t.exitFullscreen=function(){var e=arguments,n=this;return new Promise((function(r,o){if(!t.fullscreenElement)return o();t.addEventListener("fullscreenchange",(function e(n){r(n),t.removeEventListener("fullscreenchange",e)})),n[i+"ExitFullscreen"].apply(n,e)}))},n.requestFullscreen=function(){var e=arguments,n=this;return new Promise((function(r,o){if(t.fullscreenElement)return o();t.addEventListener("fullscreenchange",(function e(n){r(n),t.removeEventListener("fullscreenchange",e)})),n[i+"RequestFullscreen"].apply(n,e)}))}}}},g}())}).call(this,n(0))},29:function(e,t,n){var i=n(3),r=n(30);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);var o={insert:"head",singleton:!1};i(r,o);e.exports=r.locals||{}},3:function(e,t,n){"use strict";var i,r=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function s(e){for(var t=-1,n=0;nhead{display:block}html.bibi-with-gutters>head>:not(bibi-neck){display:none}html.bibi-with-gutters>head>bibi-neck{display:block;position:relative;z-index:-99999999999;margin:0;border:0;padding:0}html.bibi-with-gutters>head>bibi-neck>bibi-throat{display:block;float:left;margin:0;border:0;padding:0}",""]),e.exports=t},4:function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var r=(a=i,s=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(c," */")),o=i.sources.map((function(e){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(e," */")}));return[n].concat(o).concat([r]).join("\n")}var a,s,c;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,i){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(i)for(var o=0;oe.length)&&(t=e.length);for(var n=0,i=new Array(t);n=0?t:n?0:void 0},array:function(e,t,n){if(Array.isArray(t)){switch(e){case"content-draggable":t.length=2;for(var i=0;i<2;i++)t[i]=!1!==t[i]&&"false"!==t[i]&&"0"!==t[i]&&0!==t[i];return t;case"extensions":return t.filter((function(e){return"string"==typeof e.src&&(e.src=e.src.trim())}));case"extract-if-necessary":return(t=t.map((function(e){return"string"==typeof e?e.trim().toLowerCase():""}))).includes("*")?["*"]:t.filter((function(e){return/^(\.[\w\d]+)*$/.test(e)}));case"orthogonal-arrow-keys":case"orthogonal-edges":case"orthogonal-touch-moves":case"orthogonal-wheelings":t.length=2;for(var r=0;r<2;r++)t[r]="string"==typeof t[r]?t[r]:"";return t;case"trustworthy-origins":return t.reduce((function(e,t){return!("string"!=typeof t||!/^https?:\/\/[^\/]+$/.test(t=t.trim().replace(/\/$/,""))||e.includes(t))&&(e.push(t)&&e)}),[])}return t.filter((function(e){return"function"!=typeof e}))}if(n)return[]}}),x.applyFilteredSettingsTo=function(e,t,n,i){return n.forEach((function(n){var r=function(r){n[r].forEach((function(n){var o=x.verifySettingValue[r](n,t[n]);i?(e[n]=x.verifySettingValue[r](n,e[n]),void 0===o&&void 0!==e[n]||(e[n]=x.verifySettingValue[r](n,t[n],!0))):t.hasOwnProperty(n)&&void 0!==o&&(e[n]=o)}))};for(var o in n)r(o)})),e},x.ErrorMessages={Canceled:"Fetch Canceled",CORSBlocked:"Probably CORS Blocked",DataInvalid:"Data Invalid",NotFound:"404 Not Found"},x.at1st=function(){return x.at1st.List.forEach((function(e){return"function"!=typeof e||e()}))},x.at1st.List=[],x.hello=function(){return new Promise((function(e){x.at1st(),U.log.initialize(),U.log("Hello!",""),U.log("[ja] ".concat(x.href)),U.log("[en] https://github.com/satorumurmur/bibi"),e()})).then(x.initialize).then(x.loadExtensions).then(x.ready).then(x.getBookData).then(x.loadBook).then(x.bindBook).then(x.openBook).catch(U.error)},x.initialize=function(){var e,t;if(U.Origin=location.origin||location.protocol+"//"+(location.host||location.hostname+(location.port?":"+location.port:"")),U.Local="file:"==location.protocol,U.RequestedURL=location.href,U.contentWindow=window,U.contentDocument=document,U.HTML=document.documentElement,U.Head=document.head,U.Body=document.body,U.Info=document.getElementById("bibi-info"),U.Title=document.getElementsByTagName("title")[0],(e=U.HTML.classList).add.apply(e,T(sML.Environments).concat(["Bibi","welcome"])),(U.TouchOS=!(!sML.OS.iOS&&!sML.OS.Android))&&(U.HTML.classList.add("touch"),sML.OS.iOS&&(U.Head.appendChild(sML.create("meta",{name:"apple-mobile-web-app-capable",content:"yes"})),U.Head.appendChild(sML.create("meta",{name:"apple-mobile-web-app-status-bar-style",content:"white"})))),x.Dev&&U.HTML.classList.add("dev"),x.Debug&&U.HTML.classList.add("debug"),U.HTML.classList.add("default-lang-"+(U.Language=function(e){Array.isArray(navigator.languages)&&(e=e.concat(navigator.languages)),navigator.language&&navigator.language!=e[0]&&e.unshift(navigator.language);for(var t=e.length,n=0;n=7))throw H.note("Your Browser Is Not Compatible",99999999999,"ErrorOccured"),H.Veil.byebye({en:"Sorry.... Your Browser Is Not Compatible.",ja:"大変申し訳ありません。 お使いのブラウザでは、動作しません。"});H.note('Welcome!'),U.WritingModeProperty=(n=getComputedStyle(U.HTML),/^(vertical|horizontal)-/.test(n["writing-mode"])||sML.UA.Trident?"writing-mode":/^(vertical|horizontal)-/.test(n["-webkit-writing-mode"])?"-webkit-writing-mode":/^(vertical|horizontal)-/.test(n["-epub-writing-mode"])?"-epub-writing-mode":void 0);var n,i=U.Body.appendChild(sML.create("div",{id:"bibi-style-checker",innerHTML:" aAaAあ亜 ",style:{width:"auto",height:"auto",left:"-1em",top:"-1em"}}));U.VerticalTextEnabled=i.offsetWidth1?"s":"","..."),"");!function t(n){X.load(F.extensions[n]).then((function(e){})).catch((function(e){U.log(e)})).then((function(){F.extensions[n+1]?t(n+1):e()}))}(0)}))})).then((function(){U.log("Extensions: %O",X.Extensions),U.log(X.Extensions.length?"Loaded. (".concat(X.Extensions.length," Extension").concat(X.Extensions.length>1?"s":"",")"):"No Extension.","")})).catch((function(){return!1}))},x.ready=function(){return new Promise((function(e){U.HTML.classList.add("ready"),U.ReadiedURL=location.href,W.add("bibi:readied",e),setTimeout((function(){return W.dispatch("bibi:readied",x.Status=x.Readied="Readied")}),U.TouchOS&&!U.Embedded?1234:0)})).then((function(){U.HTML.classList.remove("ready")}))},x.getBookData=function(){return F["book-data"]?Promise.resolve({BookData:F["book-data"],BookDataMIMEType:F["book-data-mimetype"]}):F.book?Promise.resolve({Book:F.book}):F["accept-local-file"]?new Promise((function(e){x.getBookData.resolve=function(t){e(t),U.HTML.classList.remove("waiting-file")},U.HTML.classList.add("waiting-file")})):Promise.reject("Tell me EPUB name via ".concat(U.Embedded?"embedding tag":"URI","."))},x.setBookData=function(e){return x.getBookData.resolve?x.getBookData.resolve(e):Promise.reject(e)},x.busyHerself=function(){return new Promise((function(e){U.Busy=!0,U.HTML.classList.add("busy"),U.HTML.classList.add("loading"),window.addEventListener(W.resize,_.resetBibiHeight),x.busyHerself.resolve=function(){e(),delete x.busyHerself}})).then((function(){window.removeEventListener(W.resize,_.resetBibiHeight),U.Busy=!1,U.HTML.classList.remove("busy"),U.HTML.classList.remove("loading")}))},x.loadBook=function(e){return Promise.resolve().then((function(){return x.busyHerself(),H.note("Loading..."),U.log("Initializing Book...",""),k.initializeBook(e).then((function(e){U.log("".concat(e,": %O"),A),U.log("Initialized. (as ".concat(/^[aiueo]/i.test(e)?"an":"a"," ").concat(e,")"),"")}))})).then((function(){F.update(),_.updateOrientation(),_.resetStage()})).then((function(){return U.log("Creating Cover...",""),A.CoverImage.Source?(U.log("Cover Image: %O",A.CoverImage.Source),U.log("Will Be Created.","")):U.log("Will Be Created. (w/o Image)",""),k.createCover()})).then((function(){return A.Nav.Source?(U.log("Loading Navigation...",""),k.loadNavigation().then((function(e){U.log("".concat(A.Nav.Type,": %O"),A.Nav.Source),U.log("Loaded.",""),W.dispatch("bibi:loaded-navigation",A.Nav.Source)}))):U.log("No Navigation.")})).then((function(){if(W.dispatch("bibi:prepared",x.Status=x.Prepared="Prepared"),!F.autostart&&!k.Played)return k.wait()})).then((function(){return k.preprocessResources()})).then((function(){U.log("Loading Items in Spreads...","");var e=[],t={TargetSpreadIndex:0,Destination:{Edge:"head"},resetter:function(){t.Reset=!0,t.removeResetter()},addResetter:function(){window.addEventListener("resize",t.resetter)},removeResetter:function(){window.removeEventListener("resize",t.resetter)}};if("object"==I(_.StartOn)){var n="object"==I(_.StartOn.Item)?_.StartOn.Item:function(){if("number"==typeof _.StartOn.ItemIndex){var e=_.StartOn.ItemIndex;return e<0?_.StartOn={ItemIndex:0}:e>=_.Items.length&&(_.StartOn={ItemIndex:_.Items.length-1}),_.Items[_.StartOn.ItemIndex]}if("number"==typeof _.StartOn.ItemIndexInSpine){var t=_.StartOn.ItemIndexInSpine;t<0?t=0:t>=A.Package.Spine.length&&(t=A.Package.Spine.length-1);var n=A.Package.Spine[_.StartOn.ItemIndexInSpine];return n.Spread||(_.StartOn={ItemIndex:0},n=_.Items[0]),n}if("string"==typeof _.StartOn.P){var i=1*_.StartOn.P.split(".").shift()-1;return i<0?(i=0,_.StartOn={P:String(i+1)}):i>=_.Items.length&&(i=_.Items.length-1,_.StartOn={P:String(i+1)}),_.Items[i]}if("number"==typeof _.StartOn.IIPP){var r=Math.floor(_.StartOn.IIPP);return r<0?(r=0,_.StartOn={IIPP:r}):r>=_.Items.length&&(r=_.Items.length-1,_.StartOn={IIPP:r}),_.Items[r]}if("string"==typeof _.StartOn.Edge)switch(_.StartOn="foot"!=_.StartOn.Edge?{Edge:"head"}:{Edge:"foot"},_.StartOn.Edge){case"head":return _.Items[0];case"foot":return _.Items[_.Items.length-1]}}();t.TargetSpreadIndex=n&&n.Spread?n.Spread.Index:0,t.Destination=_.StartOn}t.addResetter();var i=0;return _.Spreads.forEach((function(n){return e.push(new Promise((function(e){return k.loadSpread(n,{AllowPlaceholderItems:F["allow-placeholders"]&&n.Index!=t.TargetSpreadIndex}).then((function(){i+=n.Items.length,H.note("Loading... (".concat(i,"/").concat(_.Items.length," Items Loaded.)")),t.Reset?e():_.layOutSpreadAndItsItems(n).then(e)}))})))})),Promise.all(e).then((function(){return U.log("Loaded. (".concat(_.Items.length," in ").concat(_.Spreads.length,")"),""),t}))}))},x.bindBook=function(e){return e.Reset||(_.organizePages(),_.layOutStage()),_.layOutBook(e).then((function(){return e.removeResetter(),W.dispatch("bibi:laid-out-for-the-first-time",e),e}))},x.openBook=function(e){return new Promise((function(e){x.busyHerself.resolve(),H.Veil.close(),k.Opened=!0,document.body.click(),H.note(""),U.log("Enjoy Readings!",""),W.dispatch("bibi:opened",x.Status=x.Opened="Opened"),W.dispatch("bibi:scrolled"),e()})).then((function(){var t=_.hatchPage(e.Destination)||_.Pages[0];H.History.List.length||(H.History.List=[{UI:x,Item:t.Item,PageProgressInItem:t.IndexInItem/t.Item.Pages.length}],H.History.update()),F["allow-placeholders"]&&W.add("bibi:scrolled",(function(){return H.PageObserver.turnItems()})),F["resume-from-last-position"]&&W.add("bibi:changed-intersection",(function(){try{U.Biscuits&&U.Biscuits.memorize("Book",{Position:{IIPP:H.PageObserver.getIIPP()}})}catch(e){}})),W.add("bibi:commands:move-by",_.moveBy),W.add("bibi:commands:scroll-by",_.scrollBy),W.add("bibi:commands:focus-on",_.focusOn),W.add("bibi:commands:change-view",_.changeView),x.Dev&&"localhost"!=location.hostname?x.createDevNote():delete x.createDevNote}))},x.createDevNote=function(){var e=x.IsDevMode=U.Body.appendChild(sML.create("div",{id:"bibi-is-dev-mode"}));x.createDevNote.logBorderLine(),x.createDevNote.appendParagraph("This Bibi seems to be a Development Version"),x.createDevNote.appendParagraph("Please don't forget to create a production version before publishing on the Internet."),x.createDevNote.appendParagraph('(To create a production version, run it on terminal: `npm run build`)'),x.createDevNote.appendParagraph("Close","NoLog").addEventListener("click",(function(){return e.className="hide"})),x.createDevNote.logBorderLine(),[W.pointerdown,W.pointerup,W.pointermove,W.pointerover,W.pointerout,"click"].forEach((function(t){return e.addEventListener(t,(function(e){return e.preventDefault(),e.stopPropagation(),!1}))})),setTimeout((function(){return e.className="show"}),0),delete x.createDevNote},x.createDevNote.logBorderLine=function(e,t){U.log("========================","<*/>")},x.createDevNote.appendParagraph=function(e,t){var n=x.IsDevMode.appendChild(sML.create("p",{innerHTML:e}));return t||U.log(e.replace(/<[^<>]*>/g,""),"<*/>"),n},x.createElement=function(){for(var e,t=arguments.length,n=new Array(t),i=0;i ",DataElement:null,Container:{Source:{Path:"META-INF/container.xml"}},Package:{Source:{},Metadata:{},Manifest:{},Spine:[]},Nav:{},CoverImage:{},FileDigit:0},k={Opened:!1,wait:function(){return k.Waiting=!0,U.Busy=!1,U.HTML.classList.remove("busy"),U.HTML.classList.add("waiting"),W.dispatch("bibi:waits"),U.log("(Waiting...)",""),H.note(""),new Promise((function(e){return k.wait.resolve=e})).then((function(){return k.Waiting=!1,U.Busy=!0,U.HTML.classList.add("busy"),U.HTML.classList.remove("waiting"),H.note("Loading..."),new Promise((function(e){return setTimeout(e,99)}))}))},openNewWindow:function(e){var t=window.open(e);return t||(location.href=e)},play:function(){if(F["start-in-new-window"])return k.openNewWindow(location.href);k.Played=!0,_.resetStage(),k.wait.resolve(),W.dispatch("bibi:played")},initializeBook:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise((function(t,n){var i=function(e){return n("Failed to open the book (".concat(e,")"))};if(!e.Book&&!e.BookData)return i(x.ErrorMessages.DataInvalid);var r="string"==typeof e.Book?"URI":"string"==typeof e.BookData?"Base64":"object"==I(e.BookData)&&e.BookData.size&&e.BookData.type?e.BookData.name?"File":"Blob":"";if(!r)return i(x.ErrorMessages.DataInvalid);if(A.Type=F.book?F.zine?"Zine":"EPUB":"","EPUB"!=A.Type&&(A.ZineData={Source:{Path:"zine.yaml"}}),"URI"==r){if(U.Local)return n("Bibi can't open books via ".concat(N.book?"data-bibi-book":"URL"," on local mode"));A.Path=e.Book;var o=("Zine"==A.Type?A.ZineData:A.Container).Source,a=[],s=function(e){return{Promised:("folder"==e?U.download(o).then((function(){return(A.PathDelimiter="/")&&""})):U.RangeLoader?U.extract(o).then((function(){return"on-the-fly"})):U.loadZippedBookData(A.Path).then((function(){return"at-once"}))).then((function(n){A.ExtractionPolicy=n,t("".concat(A.Type," ").concat(e))})).catch((function(t){return a.push(t=/404/.test(String(t))?x.ErrorMessages.NotFound:String(t).replace(/^Error: /,"")),U.log("Failed as ".concat(/^[aiueo]/i.test(A.Type)?"an":"a"," ").concat(A.Type," ").concat(e,": ")+t),Promise.reject()})),or:function(e){return this.Promised.catch(e)},or_reject:function(e){return this.or((function(){return i(a.length<2||a[0]==a[1]?a[0]:"as a file: ".concat(a[0]," / as a folder: ").concat(a[1]))}))}}};U.isToBeExtractedIfNecessary(A.Path)?s("file").or((function(){return s("folder").or_reject()})):s("folder").or_reject()}else{var c,l=e.BookData,u={EPUB:/^application\/epub\+zip$/,Zine:/^application\/(zip|x-zip(-compressed)?)$/};if("File"==r){if(!F["accept-local-file"])return n("Local file is set to unacceptable");if(!l.name)return n("File without a name is unacceptable");if(!/\.[\w\d]+$/.test(l.name))return n("Local file without extension is set to unacceptable");if(!U.isToBeExtractedIfNecessary(l.name))return n("File with this extension is set to unacceptable");if(l.type&&(/\.epub$/i.test(l.name)?!u.EPUB.test(l.type):!/\.zip$/i.test(l.name)||!u.Zine.test(l.type)))return n("File of this type is unacceptable");c="file",A.Path="[Local File] "+l.name}else{if("Base64"==r){if(!F["accept-base64-encoded-data"])return n("Base64 encoded data is set to unacceptable");try{for(var d=atob(l.replace(/^.*,/,"")),p=new Uint8Array(d.length),f=d.length,g=0;g0){var d=_.Items[r.Index-1];"pre-paginated"==r["rendition:layout"]&&d["rendition:page-spread"]==h&&(d.SpreadPair=r,r.SpreadPair=d,(u=r.Spread=d.Spread).Box.classList.remove("single-item-spread-before","single-item-spread-"+h),u.Box.classList.add(r["rendition:layout"]))}if(!u){if((u=r.Spread=sML.create("div",{className:"spread",Items:[],Pages:[],Index:_.Spreads.length})).Box=sML.create("div",{className:"spread-box "+r["rendition:layout"],Inside:u,Spread:u}),r["rendition:page-spread"])switch(u.Box.classList.add("single-item-spread-"+r["rendition:page-spread"]),r["rendition:page-spread"]){case h:u.Box.classList.add("single-item-spread-before");break;case b:u.Box.classList.add("single-item-spread-after")}_.Spreads.push(v.appendChild(u.Box).appendChild(u))}if(r.IndexInSpread=u.Items.push(r)-1,r.Box=u.appendChild(sML.create("div",{className:"item-box "+r["rendition:layout"],Inside:r,Item:r})),r.Pages=[],"pre-paginated"==r["rendition:layout"]){r.PrePaginated=!0,0==r.IndexInSpread&&(u.PrePaginated=!0);var p=sML.create("span",{className:"page",Spread:u,Item:r,IndexInItem:0});r.Pages.push(r.Box.appendChild(p)),H.PageObserver.observePageIntersection(p)}else r.PrePaginated=u.PrePaginated=!1}})),_.createSpine(v),A.FileDigit=String(s.length).length,A.ID=i["unique-identifier"]||i.identifier[0]||"",A.Language=i.language[0].split("-")[0],A.Title=i.title.join(", "),A.Creator=i.creator?i.creator.join(", "):"",A.Publisher=i.publisher?i.publisher.join(", "):"";var S=[A.Title];A.Creator&&S.push(A.Creator),A.Publisher&&S.push(A.Publisher),A.FullTitle=S.join(" - ").replace(/&?/gi,"&").replace(/<?/gi,"<").replace(/>?/gi,">"),U.Title.innerHTML="",U.Title.appendChild(document.createTextNode(A.FullTitle+" | "+(F["website-name-in-title"]?F["website-name-in-title"]:"Published with Bibi")));try{U.Info.querySelector("h1").innerHTML=document.title}catch(e){}A.WritingMode=/^(zho?|chi|kor?|ja|jpn)$/.test(A.Language)?"rtl"==A.PPD?"tb-rl":"lr-tb":/^(aze?|ara?|ui?g|urd?|kk|kaz|ka?s|ky|kir|kur?|sn?d|ta?t|pu?s|bal|pan?|fas?|per|ber|msa?|may|yid?|heb?|arc|syr|di?v)$/.test(A.Language)?"rl-tb":/^(mo?n)$/.test(A.Language)?"tb-lr":"lr-tb",A.AllowPlaceholderItems="at-once"!=A.ExtractionPolicy&&"pre-paginated"==i["rendition:layout"],W.dispatch("bibi:processed-package")},k.createCover=function(){var e,t=H.Veil.Cover,n=H.Panel.BookInfo.Cover;return t.Info.innerHTML=n.Info.innerHTML=(e=[],A.Title&&e.push("".concat(k.createCover.optimizeString(A.Title),"")),A.Creator&&e.push("".concat(k.createCover.optimizeString(A.Creator),"")),A.Publisher&&e.push("".concat(k.createCover.optimizeString(A.Publisher),"")),e.join(" ")),Promise.resolve(new Promise((function(e,t){if(!A.CoverImage.Source||!A.CoverImage.Source.Path)return t();var n=!1,i=setTimeout((function(){n=!0,t()}),5e3);U.file(A.CoverImage.Source,{URI:!0}).then((function(t){n||e(t.URI)})).catch((function(){n||t()})).then((function(){return clearTimeout(i)}))})).then((function(e){t.className=n.className="with-cover-image",sML.style(t,{"background-image":"url("+e+")"}),n.insertBefore(sML.create("img",{src:e}),n.Info)})).catch((function(){t.className=n.className="without-cover-image",t.insertBefore(H.getBookIcon(),t.Info),n.insertBefore(H.getBookIcon(),n.Info)})))},k.createCover.optimizeString=function(e){return""+e.replace(/([  ・/]+)/g,"$1")+""},k.loadNavigation=function(){return U.openDocument(A.Nav.Source).then((function(e){var t=H.Panel.BookInfo.Navigation=H.Panel.BookInfo.insertBefore(sML.create("div",{id:"bibi-panel-bookinfo-navigation"}),H.Panel.BookInfo.firstElementChild);t.innerHTML="";var n=document.createDocumentFragment();if("Navigation Document"==A.Nav.Type)sML.forEach(e.querySelectorAll("nav"))((function(e){switch(e.getAttribute("epub:type")){case"toc":e.classList.add("bibi-nav-toc");break;case"landmarks":e.classList.add("bibi-nav-landmarks");break;case"page-list":e.classList.add("bibi-nav-page-list")}sML.forEach(e.getElementsByTagName("*"))((function(e){return e.removeAttribute("style")})),n.appendChild(e)}));else{var i=function e(t){for(var n=t.childNodes,i=void 0,r=n.length,o=0;oこのリンクの利用には EPUBCFI エクステンションが必要です":'"EPUBCFI" extension is required to use this link.'),!1}))),n&&_.StartOn&&_.StartOn.Nav==r+1&&o.Destination&&(_.StartOn=o.Destination)},o=i.length,a=0;a"),n(r,!0))}return Promise.all(e).then((function(){t.length&&(U.log("Preprocessed: %O",t),U.log("Preprocessed. (".concat(t.length," Resource").concat(t.length>1?"s":"",")"),"")),W.dispatch("bibi:preprocessed-resources")}))},k.loadSpread=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,i){e.AllowPlaceholderItems=F["allow-placeholders"]&&t.AllowPlaceholderItems;var r=0,o=0;e.Items.forEach((function(i){k.loadItem(i,{IsPlaceholder:t.AllowPlaceholderItems}).then((function(){return r++})).catch((function(){return o++})).then((function(){r+o==e.Items.length&&n(e)}))}))}))},k.loadItem=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=F["allow-placeholders"]&&"pre-paginated"==e["rendition:layout"]&&t.IsPlaceholder;if(n===e.IsPlaceholder)return e.Loading?e.Loading:Promise.resolve(e);e.IsPlaceholder=n;var i=e.Box;return i.classList.remove("loaded"),i.classList.toggle("placeholder",e.IsPlaceholder),e.Loading=(e.IsPlaceholder?Promise.reject():e.ContentURL?Promise.resolve():/\.(html?|xht(ml)?|xml)$/i.test(e.Source.Path)?U.file(e.Source,{Preprocess:A.ExtractionPolicy||sML.UA.Gecko,initialize:function(){F["allow-scripts-in-content"]||(e.Source.Content=e.Source.Content.replace(//gi,""),U.sanitizeItemSource(e.Source,{As:"HTML"}))}}).then((function(e){return e.Content})):/\.(gif|jpe?g|png)$/i.test(e.Source.Path)?U.file(e.Source,{URI:!0}).then((function(t){return["pre-paginated"==e["rendition:layout"]&&A.ICBViewport?''):"",'')]})):/\.(svg)$/i.test(e.Source.Path)?U.file(e.Source,{Preprocess:!!A.ExtractionPolicy,initialize:function(){var t=/<\?xml-stylesheet\s*(.+?)\s*\?>/g,n=e.Source.Content.match(t);F["allow-scripts-in-content"]||U.sanitizeItemSource(e.Source,{As:"SVG"}),e.Source.Content=(n?n.map((function(e){return e.replace(t,'')})).join(""):"")+""+e.Source.Content}}).then((function(e){return e.Content.split("")})):e.Skipped=Promise.resolve([])).then((function(t){return new Promise((function(n){if(!e.ContentURL){var r="string"==typeof t?t:["","","",'',"".concat(A.FullTitle," - #").concat(e.Index+1,"/").concat(_.Items.length,""),(t[0]?t[0]+"\n":"")+"","",(t[1]?t[1]+"\n":"")+"",""].join("\n");if(r=r.replace(/(]+)?>)/i,'$1\n')+(A.ExtractionPolicy||e.Source.Preprocessed?"":'\n'))),U.Local||sML.UA.LINE||sML.UA.Trident||sML.UA.EdgeHTML)return r=r.replace(/^<\?.+?\?>/,"").replace("","