UNPKG

epubjs

Version:
1 lines 129 kB
(function(s,u){'object'==typeof exports&&'object'==typeof module?module.exports=u(require('xmldom'),function(){try{return require('JSZip')}catch(f){}}()):'function'==typeof define&&define.amd?define(['xmldom','JSZip'],u):'object'==typeof exports?exports.ePub=u(require('xmldom'),function(){try{return require('JSZip')}catch(f){}}()):s.ePub=u(s.xmldom,s.JSZip)})(this,function(t,s){return function(u){function p(v){if(f[v])return f[v].exports;var k=f[v]={i:v,l:!1,exports:{}};return u[v].call(k.exports,k,k.exports,p),k.l=!0,k.exports}var f={};return p.m=u,p.c=f,p.i=function(v){return v},p.d=function(v,k,_){p.o(v,k)||Object.defineProperty(v,k,{configurable:!1,enumerable:!0,get:_})},p.n=function(v){var k=v&&v.__esModule?function(){return v['default']}:function(){return v};return p.d(k,'a',k),k},p.o=function(v,k){return Object.prototype.hasOwnProperty.call(v,k)},p.p='/dist/',p(p.s=49)}([function(u,p,f){'use strict';function k(){var ne=new Date().getTime(),ae='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(ie){var se=0|(ne+16*Math.random())%16;return ne=Math.floor(ne/16),('x'==ie?se:8|7&se).toString(16)});return ae}function C(ne){return!isNaN(parseFloat(ne))&&isFinite(ne)}function z(ne,ae,ie,se,re){var ue,le=se||0,oe=re||ae.length,de=parseInt(le+(oe-le)/2);return(ie||(ie=function(pe,ge){return pe>ge?1:pe<ge?-1:pe==ge?0:void 0}),0>=oe-le)?de:(ue=ie(ae[de],ne),1==oe-le?0<ue?de:de+1:0===ue?de:-1===ue?z(ne,ae,ie,de,oe):z(ne,ae,ie,le,de))}function N(ne,ae,ie,se,re){var ue,le=se||0,oe=re||ae.length,de=parseInt(le+(oe-le)/2);return(ie||(ie=function(pe,ge){return pe>ge?1:pe<ge?-1:pe==ge?0:void 0}),0>=oe-le)?-1:(ue=ie(ae[de],ne),1==oe-le?0===ue?de:-1:0===ue?de:-1===ue?N(ne,ae,ie,de,oe):N(ne,ae,ie,le,de))}function X(ne,ae){return'undefined'==typeof ne.querySelector?ne.getElementsByTagName(ae):ne.querySelectorAll(ae)}function Z(ne,ae,ie){for(var re,se=document.createTreeWalker(ne,ie,null,!1);re=se.nextNode();)ae(re)}function Q(ne,ae){if(ae(ne))return!0;if(ne=ne.firstChild,ne)do{var ie=Q(ne,ae);if(ie)return!0;ne=ne.nextSibling}while(ne)}Object.defineProperty(p,'__esModule',{value:!0}),p.isElement=function(ne){return!!(ne&&1==ne.nodeType)},p.uuid=k,p.documentHeight=function(){return Math.max(document.documentElement.clientHeight,document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight)},p.isNumber=C,p.isFloat=function(ne){return C(ne)&&Math.floor(ne)!==ne},p.prefixed=function(ne){var ae=['-Webkit-','-moz-','-o-','-ms-'],ie=ne[0].toUpperCase()+ne.slice(1),se=ae.length;if('undefined'==typeof document||'undefined'!=typeof document.body.style[ne])return ne;for(var re=0;re<se;re++)if('undefined'!=typeof document.body.style[ae[re]+ie])return ae[re]+ie;return ne},p.defaults=function(ne){for(var se,ae=1,ie=arguments.length;ae<ie;ae++)for(var re in se=arguments[ae],se)void 0===ne[re]&&(ne[re]=se[re]);return ne},p.extend=function(ne){var ae=[].slice.call(arguments,1);return ae.forEach(function(ie){ie&&Object.getOwnPropertyNames(ie).forEach(function(se){Object.defineProperty(ne,se,Object.getOwnPropertyDescriptor(ie,se))})}),ne},p.insert=function(ne,ae,ie){var se=z(ne,ae,ie);return ae.splice(se,0,ne),se},p.locationOf=z,p.indexOfSorted=N,p.bounds=function(ne){var ae=window.getComputedStyle(ne),re=0,le=0;return['width','paddingRight','paddingLeft','marginRight','marginLeft','borderRightWidth','borderLeftWidth'].forEach(function(oe){re+=parseFloat(ae[oe])||0}),['height','paddingTop','paddingBottom','marginTop','marginBottom','borderTopWidth','borderBottomWidth'].forEach(function(oe){le+=parseFloat(ae[oe])||0}),{height:le,width:re}},p.borders=function(ne){var ae=window.getComputedStyle(ne),re=0,le=0;return['paddingRight','paddingLeft','marginRight','marginLeft','borderRightWidth','borderLeftWidth'].forEach(function(oe){re+=parseFloat(ae[oe])||0}),['paddingTop','paddingBottom','marginTop','marginBottom','borderTopWidth','borderBottomWidth'].forEach(function(oe){le+=parseFloat(ae[oe])||0}),{height:le,width:re}},p.windowBounds=function(){var ne=window.innerWidth,ae=window.innerHeight;return{top:0,left:0,right:ne,bottom:ae,width:ne,height:ae}},p.cleanStringForXpath=function(ne){var ae=ne.match(/[^'"]+|['"]/g);return ae=ae.map(function(ie){return'\''===ie?'"\'"':'"'===ie?'\'"\'':'\''+ie+'\''}),'concat(\'\','+ae.join(',')+')'},p.indexOfTextNode=function(ne){for(var se,ae=ne.parentNode,ie=ae.childNodes,re=-1,le=0;le<ie.length&&(se=ie[le],se.nodeType===Node.TEXT_NODE&&re++,se!=ne);le++);return re},p.isXml=function(ne){return-1<['xml','opf','ncx'].indexOf(ne)},p.createBlob=function(ne,ae){return new Blob([ne],{type:ae})},p.createBlobUrl=function(ne,ae){var se,ie=window.URL||window.webkitURL||window.mozURL,re=this.createBlob(ne,ae);return se=ie.createObjectURL(re),se},p.createBase64Url=function(ne,ae){var ie,se;if('string'==typeof ne)return ie=btoa(ne),se='data:'+ae+';base64,'+ie,se},p.type=function(ne){return Object.prototype.toString.call(ne).slice(8,-1)},p.parse=function(ne,ae,ie){var se,re;return re='undefined'==typeof DOMParser||ie?f(15).DOMParser:DOMParser,se=new re().parseFromString(ne,ae),se},p.qs=function(ne,ae){var ie;if(!ne)throw new Error('No Element Provided');return'undefined'==typeof ne.querySelector?(ie=ne.getElementsByTagName(ae),ie.length)?ie[0]:void 0:ne.querySelector(ae)},p.qsa=X,p.qsp=function(ne,ae,ie){var se,re;if('undefined'!=typeof ne.querySelector){for(var le in ae+='[',ie)ae+=le+'=\''+ie[le]+'\'';return ae+=']',ne.querySelector(ae)}return(se=ne.getElementsByTagName(ae),re=Array.prototype.slice.call(se,0).filter(function(oe){for(var de in ie)if(oe.getAttribute(de)===ie[de])return!0;return!1}),re)?re[0]:void 0},p.sprint=function(ne,ae){var ie=ne.ownerDocument||ne;'undefined'==typeof ie.createTreeWalker?Q(ne,function(se){se&&3===se.nodeType&&ae(se)},!0):Z(ne,ae,NodeFilter.SHOW_TEXT)},p.treeWalker=Z,p.walk=Q,p.blob2base64=function(ne){return new Promise(function(ae){var se=new FileReader;se.readAsDataURL(ne),se.onloadend=function(){ae(se.result)}})},p.defer=function(){var ne=this;this.resolve=null,this.reject=null,this.id=k(),this.promise=new Promise(function(ae,ie){ne.resolve=ae,ne.reject=ie}),Object.freeze(this)},p.querySelectorByType=function(ne,ae,ie){var se;if('undefined'!=typeof ne.querySelector&&(se=ne.querySelector(ae+'[*|type="'+ie+'"]')),!se||0===se.length){se=X(ne,ae);for(var re=0;re<se.length;re++)if(se[re].getAttributeNS('http://www.idpf.org/2007/ops','type')===ie)return se[re]}else return se},p.findChildren=function(ne){for(var re,ae=[],ie=ne.parentNode.childNodes,se=0;se<ie.length;se++)re=ie[se],1===re.nodeType&&ae.push(re);return ae};p.requestAnimationFrame='undefined'!=typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame)},function(u,p,f){'use strict';function v(E,z){if(!(E instanceof z))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0});var k='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},_=function(){function E(z,N){for(var B,R=0;R<N.length;R++)B=N[R],B.enumerable=B.enumerable||!1,B.configurable=!0,'value'in B&&(B.writable=!0),Object.defineProperty(z,B.key,B)}return function(z,N,R){return N&&E(z.prototype,N),R&&E(z,R),z}}(),C=f(0),S=1,P=3,T=function(){function E(z,N,R){v(this,E);var B;if(this.str='',this.base={},this.spinePos=0,this.range=!1,this.path={},this.start=null,this.end=null,!(this instanceof E))return new E(z,N,R);if('string'==typeof N?this.base=this.parseComponent(N):'object'===('undefined'==typeof N?'undefined':k(N))&&N.steps&&(this.base=N),B=this.checkType(z),'string'===B)return this.str=z,(0,C.extend)(this,this.parse(z));if('range'===B)return(0,C.extend)(this,this.fromRange(z,this.base,R));if('node'===B)return(0,C.extend)(this,this.fromNode(z,this.base,R));if('EpubCFI'===B&&z.path)return z;if(!z)return this;throw new TypeError('not a valid argument for EpubCFI')}return _(E,[{key:'checkType',value:function(N){return this.isCfiString(N)?'string':'object'===('undefined'==typeof N?'undefined':k(N))&&('Range'===(0,C.type)(N)||'undefined'!=typeof N.startContainer)?'range':'object'===('undefined'==typeof N?'undefined':k(N))&&'undefined'!=typeof N.nodeType?'node':'object'===('undefined'==typeof N?'undefined':k(N))&&N instanceof E&&'EpubCFI'}},{key:'parse',value:function(N){var B,O,A,R={spinePos:-1,range:!1,base:{},path:{},start:null,end:null};return'string'==typeof N?(0===N.indexOf('epubcfi(')&&')'===N[N.length-1]&&(N=N.slice(8,N.length-1)),B=this.getChapterComponent(N),!B)?{spinePos:-1}:(R.base=this.parseComponent(B),O=this.getPathComponent(N),R.path=this.parseComponent(O),A=this.getRange(N),A&&(R.range=!0,R.start=this.parseComponent(A[0]),R.end=this.parseComponent(A[1])),R.spinePos=R.base.steps[1].index,R):{spinePos:-1}}},{key:'parseComponent',value:function(N){var A,R={steps:[],terminal:{offset:null,assertion:null}},B=N.split(':'),O=B[0].split('/');return 1<B.length&&(A=B[1],R.terminal=this.parseTerminal(A)),''===O[0]&&O.shift(),R.steps=O.map(function(M){return this.parseStep(M)}.bind(this)),R}},{key:'parseStep',value:function(N){var R,B,O,A,M;if(A=N.match(/\[(.*)\]/),A&&A[1]&&(M=A[1]),B=parseInt(N),!isNaN(B))return 0==B%2?(R='element',O=B/2-1):(R='text',O=(B-1)/2),{type:R,index:O,id:M||null}}},{key:'parseTerminal',value:function(N){var R,B,O=N.match(/\[(.*)\]/);return O&&O[1]?(R=parseInt(N.split('[')[0])||null,B=O[1]):R=parseInt(N)||null,{offset:R,assertion:B}}},{key:'getChapterComponent',value:function(N){var R=N.split('!');return R[0]}},{key:'getPathComponent',value:function(N){var R=N.split('!');if(R[1]){var B=R[1].split(',');return B[0]}}},{key:'getRange',value:function(N){var R=N.split(',');return 3===R.length&&[R[1],R[2]]}},{key:'getCharecterOffsetComponent',value:function(N){var R=N.split(':');return R[1]||''}},{key:'joinSteps',value:function(N){return N?N.map(function(R){var B='';return'element'===R.type&&(B+=2*(R.index+1)),'text'===R.type&&(B+=1+2*R.index),R.id&&(B+='['+R.id+']'),B}).join('/'):''}},{key:'segmentString',value:function(N){var z='/';return z+=this.joinSteps(N.steps),N.terminal&&null!=N.terminal.offset&&(z+=':'+N.terminal.offset),N.terminal&&null!=N.terminal.assertion&&(z+='['+N.terminal.assertion+']'),z}},{key:'toString',value:function(){var N='epubcfi(';return N+=this.segmentString(this.base),N+='!',N+=this.segmentString(this.path),this.start&&(N+=',',N+=this.segmentString(this.start)),this.end&&(N+=',',N+=this.segmentString(this.end)),N+=')',N}},{key:'compare',value:function(N,R){var B,O,A,M;if('string'==typeof N&&(N=new E(N)),'string'==typeof R&&(R=new E(R)),N.spinePos>R.spinePos)return 1;if(N.spinePos<R.spinePos)return-1;N.range?(B=N.path.steps.concat(N.start.steps),A=N.start.terminal):(B=N.path.steps,A=N.path.terminal),R.range?(O=R.path.steps.concat(R.start.steps),M=R.start.terminal):(O=R.path.steps,M=R.path.terminal);for(var W=0;W<B.length;W++){if(!B[W])return-1;if(!O[W])return 1;if(B[W].index>O[W].index)return 1;if(B[W].index<O[W].index)return-1}return B.length<O.length?1:A.offset>M.offset?1:A.offset<M.offset?-1:0}},{key:'step',value:function(N){var R=N.nodeType===P?'text':'element';return{id:N.id,tagName:N.tagName,type:R,index:this.position(N)}}},{key:'filteredStep',value:function(N,R){var O,B=this.filter(N,R);if(B)return O=B.nodeType===P?'text':'element',{id:B.id,tagName:B.tagName,type:O,index:this.filteredPosition(B,R)}}},{key:'pathTo',value:function(N,R,B){for(var M,O={steps:[],terminal:{offset:null,assertion:null}},A=N;A&&A.parentNode&&A.parentNode.nodeType!=9;)M=B?this.filteredStep(A,B):this.step(A),M&&O.steps.unshift(M),A=A.parentNode;return null!=R&&0<=R&&(O.terminal.offset=R,'text'!=O.steps[O.steps.length-1].type&&O.steps.push({type:'text',index:0})),O}},{key:'equalStep',value:function(N,R){return N&&R&&N.index===R.index&&N.id===R.id&&N.type===R.type}},{key:'fromRange',value:function(N,R,B){var O={range:!1,base:{},path:{},start:null,end:null},A=N.startContainer,M=N.endContainer,W=N.startOffset,I=N.endOffset,U=!1;if(B&&(U=null!=A.ownerDocument.querySelector('.'+B)),'string'==typeof R?(O.base=this.parseComponent(R),O.spinePos=O.base.steps[1].index):'object'===('undefined'==typeof R?'undefined':k(R))&&(O.base=R),N.collapsed)U&&(W=this.patchOffset(A,W,B)),O.path=this.pathTo(A,W,B);else{O.range=!0,U&&(W=this.patchOffset(A,W,B)),O.start=this.pathTo(A,W,B),U&&(I=this.patchOffset(M,I,B)),O.end=this.pathTo(M,I,B),O.path={steps:[],terminal:null};var D,F=O.start.steps.length;for(D=0;D<F&&this.equalStep(O.start.steps[D],O.end.steps[D]);D++)D===F-1?O.start.terminal===O.end.terminal&&(O.path.steps.push(O.start.steps[D]),O.range=!1):O.path.steps.push(O.start.steps[D]);O.start.steps=O.start.steps.slice(O.path.steps.length),O.end.steps=O.end.steps.slice(O.path.steps.length)}return O}},{key:'fromNode',value:function(N,R,B){var O={range:!1,base:{},path:{},start:null,end:null};return'string'==typeof R?(O.base=this.parseComponent(R),O.spinePos=O.base.steps[1].index):'object'===('undefined'==typeof R?'undefined':k(R))&&(O.base=R),O.path=this.pathTo(N,null,B),O}},{key:'filter',value:function(N,R){var B,O,A,M,W,I=!1;return N.nodeType===P?(I=!0,A=N.parentNode,B=N.parentNode.classList.contains(R)):(I=!1,B=N.classList.contains(R)),B&&I?(M=A.previousSibling,W=A.nextSibling,M&&M.nodeType===P?O=M:W&&W.nodeType===P&&(O=W),O?O:N):B&&!I?!1:N}},{key:'patchOffset',value:function(N,R,B){if(N.nodeType!=P)throw new Error('Anchor must be a text node');var O=N,A=R;for(N.parentNode.classList.contains(B)&&(O=N.parentNode);O.previousSibling;){if(O.previousSibling.nodeType!==S)A+=O.previousSibling.textContent.length;else if(O.previousSibling.classList.contains(B))A+=O.previousSibling.textContent.length;else break;O=O.previousSibling}return A}},{key:'normalizedMap',value:function(N,R,B){var M,I,U,O={},A=-1,W=N.length;for(M=0;M<W;M++)I=N[M].nodeType,I===S&&N[M].classList.contains(B)&&(I=P),0<M&&I===P&&U===P?O[M]=A:R===I&&(++A,O[M]=A),U=I;return O}},{key:'position',value:function(N){var R,B;return N.nodeType===S?(R=N.parentNode.children,!R&&(R=(0,C.findChildren)(N.parentNode)),B=Array.prototype.indexOf.call(R,N)):(R=this.textNodes(N.parentNode),B=R.indexOf(N)),B}},{key:'filteredPosition',value:function(N,R){var B,O,A;return N.nodeType===S?(B=N.parentNode.children,A=this.normalizedMap(B,S,R)):(B=N.parentNode.childNodes,N.parentNode.classList.contains(R)&&(N=N.parentNode,B=N.parentNode.childNodes),A=this.normalizedMap(B,P,R)),O=Array.prototype.indexOf.call(B,N),A[O]}},{key:'stepsToXpath',value:function(N){var R=['.','*'];return N.forEach(function(B){var O=B.index+1;B.id?R.push('*[position()='+O+' and @id=\''+B.id+'\']'):'text'===B.type?R.push('text()['+O+']'):R.push('*['+O+']')}),R.join('/')}},{key:'stepsToQuerySelector',value:function(N){var R=['html'];return N.forEach(function(B){var O=B.index+1;B.id?R.push('#'+B.id):'text'===B.type||R.push('*:nth-child('+O+')')}),R.join('>')}},{key:'textNodes',value:function(N,R){return Array.prototype.slice.call(N.childNodes).filter(function(B){return B.nodeType===P||R&&B.classList.contains(R)})}},{key:'walkToNode',value:function(N,R,B){var M,I,O=R||document,A=O.documentElement,W=N.length;for(I=0;I<W&&(M=N[I],'element'===M.type?M.id?A=O.getElementById(M.id):A=A.children[M.index]:'text'===M.type&&(A=this.textNodes(A,B)[M.index]),!!A);I++);return A}},{key:'findNode',value:function(N,R,B){var A,M,O=R||document;return B||'undefined'==typeof O.evaluate?B?A=this.walkToNode(N,O,B):A=this.walkToNode(N,O):(M=this.stepsToXpath(N),A=O.evaluate(M,O,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue),A}},{key:'fixMiss',value:function(N,R,B,O){var I,U,A=this.findNode(N.slice(0,-1),B,O),M=A.childNodes,W=this.normalizedMap(M,P,O),F=N[N.length-1].index;for(var D in W){if(!W.hasOwnProperty(D))return;if(W[D]===F)if(I=M[D],U=I.textContent.length,R>U)R-=U;else{A=I.nodeType===S?I.childNodes[0]:I;break}}return{container:A,offset:R}}},{key:'toRange',value:function(N,R){var A,M,W,I,F,D,V,B=N||document,O=B.createRange(),U=this,H=!!R&&null!=B.querySelector('.'+R);if(U.range?(A=U.start,F=U.path.steps.concat(A.steps),W=this.findNode(F,B,H?R:null),M=U.end,D=U.path.steps.concat(M.steps),I=this.findNode(D,B,H?R:null)):(A=U.path,F=U.path.steps,W=this.findNode(U.path.steps,B,H?R:null)),W)try{null==A.terminal.offset?O.setStart(W,0):O.setStart(W,A.terminal.offset)}catch(X){V=this.fixMiss(F,A.terminal.offset,B,H?R:null),O.setStart(V.container,V.offset)}else return null;if(I)try{null==M.terminal.offset?O.setEnd(I,0):O.setEnd(I,M.terminal.offset)}catch(X){V=this.fixMiss(D,U.end.terminal.offset,B,H?R:null),O.setEnd(V.container,V.offset)}return O}},{key:'isCfiString',value:function(N){return'string'==typeof N&&0===N.indexOf('epubcfi(')&&')'===N[N.length-1]}},{key:'generateChapterComponent',value:function(N,R,B){var O=parseInt(R),M='/'+(N+1)+'/';return M+=2*(O+1),B&&(M+='['+B+']'),M}}]),E}();p.default=T,u.exports=p['default']},function(u,p,f){'use strict';var z,N,R,B,O,A,M,v=f(33),k=f(42),_=Function.prototype.apply,C=Function.prototype.call,S=Object.create,P=Object.defineProperty,L=Object.defineProperties,T=Object.prototype.hasOwnProperty,E={configurable:!0,enumerable:!1,writable:!0};z=function(W,I){var U;return k(I),T.call(this,'__ee__')?U=this.__ee__:(U=E.value=S(null),P(this,'__ee__',E),E.value=null),U[W]?'object'==typeof U[W]?U[W].push(I):U[W]=[U[W],I]:U[W]=I,this},N=function(W,I){var U,F;return k(I),F=this,z.call(this,W,U=function(){R.call(F,W,U),_.call(I,this,arguments)}),U.__eeOnceListener__=I,this},R=function(W,I){var U,F,D,H;if(k(I),!T.call(this,'__ee__'))return this;if(U=this.__ee__,!U[W])return this;if(F=U[W],'object'==typeof F)for(H=0;D=F[H];++H)(D===I||D.__eeOnceListener__===I)&&(2===F.length?U[W]=F[H?0:1]:F.splice(H,1));else(F===I||F.__eeOnceListener__===I)&&delete U[W];return this},B=function(W){var I,U,F,D,H;if(T.call(this,'__ee__')&&(D=this.__ee__[W],!!D))if('object'==typeof D){for(U=arguments.length,H=Array(U-1),I=1;I<U;++I)H[I-1]=arguments[I];for(D=D.slice(),I=0;F=D[I];++I)_.call(F,this,H)}else switch(arguments.length){case 1:C.call(D,this);break;case 2:C.call(D,this,arguments[1]);break;case 3:C.call(D,this,arguments[1],arguments[2]);break;default:for(U=arguments.length,H=Array(U-1),I=1;I<U;++I)H[I-1]=arguments[I];_.call(D,this,H);}},O={on:z,once:N,off:R,emit:B},A={on:v(z),once:v(N),off:v(R),emit:v(B)},M=L({},A),u.exports=p=function(W){return null==W?S(M):L(Object(W),A)},p.methods=O},function(u,p,f){'use strict';function k(L,T){if(!(L instanceof T))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0});var _=function(){function L(T,E){for(var N,z=0;z<E.length;z++)N=E[z],N.enumerable=N.enumerable||!1,N.configurable=!0,'value'in N&&(N.writable=!0),Object.defineProperty(T,N.key,N)}return function(T,E,z){return E&&L(T.prototype,E),z&&L(T,z),T}}(),C=f(6),S=function(L){return L&&L.__esModule?L:{default:L}}(C),P=function(){function L(T){k(this,L);var E,z;E=T.indexOf('://'),-1<E&&(T=new URL(T).pathname),z=this.parse(T),this.path=T,this.directory=this.isDirectory(T)?T:z.dir+'/',this.filename=z.base,this.extension=z.ext.slice(1)}return _(L,[{key:'parse',value:function(E){return S.default.parse(E)}},{key:'isAbsolute',value:function(E){return S.default.isAbsolute(E||this.path)}},{key:'isDirectory',value:function(E){return'/'===E.charAt(E.length-1)}},{key:'resolve',value:function(E){return S.default.resolve(this.directory,E)}},{key:'relative',value:function(E){return S.default.relative(this.directory,E)}},{key:'splitPath',value:function(E){return this.splitPathRe.exec(E).slice(1)}},{key:'toString',value:function(){return this.path}}]),L}();p.default=P,u.exports=p['default']},function(u,p,f){'use strict';Object.defineProperty(p,'__esModule',{value:!0}),p.replaceBase=function(E,z){var N,R;E&&(R=(0,P.qs)(E,'head'),N=(0,P.qs)(R,'base'),!N&&(N=E.createElement('base'),R.insertBefore(N,R.firstChild)),N.setAttribute('href',z.url))},p.replaceCanonical=function(E,z){var N,R,B=z.url;E&&(N=(0,P.qs)(E,'head'),R=(0,P.qs)(N,'link[rel=\'canonical\']'),R?R.setAttribute('href',B):(R=E.createElement('link'),R.setAttribute('rel','canonical'),R.setAttribute('href',B),N.appendChild(R)))},p.replaceLinks=function(E,z){for(var N=E.querySelectorAll('a[href]'),R=(0,P.qs)(E.ownerDocument,'base'),B=R?R.href:void 0,O=function(M){var W=M.getAttribute('href');if(0!==W.indexOf('mailto:')){var I=-1<W.indexOf('://'),U=new T.default(W,B);I?M.setAttribute('target','_blank'):M.onclick=function(){return U&&U.hash?z(U.Path.path+U.hash):U?z(U.Path.path):z(W),!1}}}.bind(this),A=0;A<N.length;A++)O(N[A])},p.substitute=function(E,z,N){return z.forEach(function(R,B){R&&N[B]&&(E=E.replace(new RegExp(R,'g'),N[B]))}),E};var P=f(0),L=f(5),T=function(E){return E&&E.__esModule?E:{default:E}}(L)},function(u,p,f){'use strict';function v(E){return E&&E.__esModule?E:{default:E}}function k(E,z){if(!(E instanceof z))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0});var _=function(){function E(z,N){for(var B,R=0;R<N.length;R++)B=N[R],B.enumerable=B.enumerable||!1,B.configurable=!0,'value'in B&&(B.writable=!0),Object.defineProperty(z,B.key,B)}return function(z,N,R){return N&&E(z.prototype,N),R&&E(z,R),z}}(),C=f(3),S=v(C),P=f(6),L=v(P),T=function(){function E(z,N){k(this,E);var R=-1<z.indexOf('://'),B=z;if(this.Url=void 0,this.href=z,this.protocol='',this.origin='',this.hash='',this.hash='',this.search='',this.base=N,!R&&!1!==N&&'string'!=typeof N&&window&&window.location&&(this.base=window.location.href),R||this.base)try{this.Url=this.base?new URL(z,this.base):new URL(z),this.href=this.Url.href,this.protocol=this.Url.protocol,this.origin=this.Url.origin,this.hash=this.Url.hash,this.search=this.Url.search,B=this.Url.pathname}catch(O){this.Url=void 0}this.Path=new S.default(B),this.directory=this.Path.directory,this.filename=this.Path.filename,this.extension=this.Path.extension}return _(E,[{key:'path',value:function(){return this.Path}},{key:'resolve',value:function(N){var B,R=-1<N.indexOf('://');return R?N:(B=L.default.resolve(this.directory,N),this.origin+B)}},{key:'relative',value:function(N){return L.default.relative(N,this.directory)}},{key:'toString',value:function(){return this.href}}]),E}();p.default=T,u.exports=p['default']},function(u,p,f){'use strict';(function(v){function k(P){if('string'!=typeof P)throw new TypeError('Path must be a string. Received '+P)}function _(P,L){for(var N,T='',E=-1,z=0,R=0;R<=P.length;++R){if(R<P.length)N=P.charCodeAt(R);else if(47===N)break;else N=47;if(47===N){if(E==R-1||1==z);else if(E!=R-1&&2==z){if(2>T.length||46!==T.charCodeAt(T.length-1)||46!==T.charCodeAt(T.length-2))if(2<T.length){for(var B=T.length-1,O=B;0<=O&&47!==T.charCodeAt(O);--O);if(O!=B){T=-1==O?'':T.slice(0,O),E=R,z=0;continue}}else if(2===T.length||1===T.length){T='',E=R,z=0;continue}L&&(0<T.length?T+='/..':T='..')}else 0<T.length?T+='/'+P.slice(E+1,R):T=P.slice(E+1,R);E=R,z=0}else 46===N&&-1!=z?++z:z=-1}return T}function C(P,L){var T=L.dir||L.root,E=L.base||(L.name||'')+(L.ext||'');return T?T===L.root?T+E:T+P+E:E}var S={resolve:function(){for(var E,L='',T=!1,z=arguments.length-1;-1<=z&&!T;z--){var N;(0<=z?N=arguments[z]:(void 0==E&&(E=v.cwd()),N=E),k(N),0!==N.length)&&(L=N+'/'+L,T=47===N.charCodeAt(0))}return L=_(L,!T),T?0<L.length?'/'+L:'/':0<L.length?L:'.'},normalize:function(L){if(k(L),0===L.length)return'.';var T=47===L.charCodeAt(0),E=47===L.charCodeAt(L.length-1);return L=_(L,!T),0!==L.length||T||(L='.'),0<L.length&&E&&(L+='/'),T?'/'+L:L},isAbsolute:function(L){return k(L),0<L.length&&47===L.charCodeAt(0)},join:function(){if(0===arguments.length)return'.';for(var L,E,T=0;T<arguments.length;++T)E=arguments[T],k(E),0<E.length&&(void 0==L?L=E:L+='/'+E);return void 0===L?'.':S.normalize(L)},relative:function(L,T){if(k(L),k(T),L===T)return'';if(L=S.resolve(L),T=S.resolve(T),L===T)return'';for(var E=1;E<L.length&&47===L.charCodeAt(E);++E);for(var z=L.length,N=z-E,R=1;R<T.length&&47===T.charCodeAt(R);++R);for(var B=T.length,O=B-R,A=N<O?N:O,M=-1,W=0;W<=A;++W){if(W==A){if(O>A){if(47===T.charCodeAt(R+W))return T.slice(R+W+1);if(0==W)return T.slice(R+W)}else N>A&&(47===L.charCodeAt(E+W)?M=W:0==W&&(M=0));break}var I=L.charCodeAt(E+W),U=T.charCodeAt(R+W);if(I!==U)break;else 47===I&&(M=W)}var F='';for(W=E+M+1;W<=z;++W)(W===z||47===L.charCodeAt(W))&&(F+=0===F.length?'..':'/..');return 0<F.length?F+T.slice(R+M):(R+=M,47===T.charCodeAt(R)&&++R,T.slice(R))},_makeLong:function(L){return L},dirname:function(L){if(k(L),0===L.length)return'.';for(var T=L.charCodeAt(0),E=47===T,z=-1,N=!0,R=L.length-1;1<=R;--R)if(T=L.charCodeAt(R),47!==T)N=!1;else if(!N){z=R;break}return-1===z?E?'/':'.':E&&1===z?'//':L.slice(0,z)},basename:function(L,T){if(T!==void 0&&'string'!=typeof T)throw new TypeError('"ext" argument must be a string');k(L);var E=0,z=-1,N=!0,R;if(void 0!==T&&0<T.length&&T.length<=L.length){if(T.length===L.length&&T===L)return'';var B=T.length-1,O=-1;for(R=L.length-1;0<=R;--R){var A=L.charCodeAt(R);if(47!==A)-1==O&&(N=!1,O=R+1),0<=B&&(A===T.charCodeAt(B)?-1==--B&&(z=R):(B=-1,z=O));else if(!N){E=R+1;break}}return E===z?z=O:-1===z&&(z=L.length),L.slice(E,z)}for(R=L.length-1;0<=R;--R)if(47!==L.charCodeAt(R))-1==z&&(N=!1,z=R+1);else if(!N){E=R+1;break}return-1===z?'':L.slice(E,z)},extname:function(L){k(L);for(var O,T=-1,E=0,z=-1,N=!0,R=0,B=L.length-1;0<=B;--B){if(O=L.charCodeAt(B),47===O){if(!N){E=B+1;break}continue}-1==z&&(N=!1,z=B+1),46===O?-1==T?T=B:1!=R&&(R=1):-1!==T&&(R=-1)}return-1===T||-1===z||0==R||1==R&&T===z-1&&T===E+1?'':L.slice(T,z)},format:function(L){if(null===L||'object'!=typeof L)throw new TypeError('Parameter "pathObject" must be an object, not '+typeof L);return C('/',L)},parse:function(L){k(L);var T={root:'',dir:'',base:'',ext:'',name:''};if(0===L.length)return T;var N,E=L.charCodeAt(0),z=47===E;z?(T.root='/',N=1):N=0;for(var R=-1,B=0,O=-1,A=!0,M=L.length-1,W=0;M>=N;--M){if(E=L.charCodeAt(M),47===E){if(!A){B=M+1;break}continue}-1==O&&(A=!1,O=M+1),46===E?-1==R?R=M:1!=W&&(W=1):-1!=R&&(W=-1)}return-1==R||-1==O||0==W||1==W&&R==O-1&&R==B+1?-1!=O&&(0==B&&z?T.base=T.name=L.slice(1,O):T.base=T.name=L.slice(B,O)):(0==B&&z?(T.name=L.slice(1,R),T.base=L.slice(1,O)):(T.name=L.slice(B,R),T.base=L.slice(B,O)),T.ext=L.slice(R,O)),0<B?T.dir=L.slice(0,B-1):z&&(T.dir='/'),T},sep:'/',delimiter:':',posix:null};u.exports=S}).call(p,f(47))},function(u,p,f){'use strict';function v(O){return O&&O.__esModule?O:{default:O}}function k(O,A){if(!(O instanceof A))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0});var _=function(){function O(A,M){for(var I,W=0;W<M.length;W++)I=M[W],I.enumerable=I.enumerable||!1,I.configurable=!0,'value'in I&&(I.writable=!0),Object.defineProperty(A,I.key,I)}return function(A,M,W){return M&&O(A.prototype,M),W&&O(A,W),A}}(),C=f(2),S=v(C),P=f(0),L=f(1),T=v(L),E=f(8),z=v(E),N=f(4),R=['keydown','keyup','keypressed','mouseup','mousedown','click','touchend','touchstart'],B=function(){function O(A,M,W){k(this,O),this.epubcfi=new T.default,this.document=A,this.documentElement=this.document.documentElement,this.content=M||this.document.body,this.window=this.document.defaultView,this._size={width:0,height:0},this.cfiBase=W||'',this.listeners()}return _(O,[{key:'width',value:function(M){var W=this.content;return M&&(0,P.isNumber)(M)&&(M+='px'),M&&(W.style.width=M),this.window.getComputedStyle(W).width}},{key:'height',value:function(M){var W=this.content;return M&&(0,P.isNumber)(M)&&(M+='px'),M&&(W.style.height=M),this.window.getComputedStyle(W).height}},{key:'contentWidth',value:function(M){var W=this.content||this.document.body;return M&&(0,P.isNumber)(M)&&(M+='px'),M&&(W.style.width=M),this.window.getComputedStyle(W).width}},{key:'contentHeight',value:function(M){var W=this.content||this.document.body;return M&&(0,P.isNumber)(M)&&(M+='px'),M&&(W.style.height=M),this.window.getComputedStyle(W).height}},{key:'textWidth',value:function(){var M,W=this.document.createRange(),I=this.content||this.document.body;return W.selectNodeContents(I),M=W.getBoundingClientRect().width,M}},{key:'textHeight',value:function(){var M,W=this.document.createRange(),I=this.content||this.document.body;return W.selectNodeContents(I),M=W.getBoundingClientRect().height,M}},{key:'scrollWidth',value:function(){var M=this.documentElement.scrollWidth;return M}},{key:'scrollHeight',value:function(){var M=this.documentElement.scrollHeight;return M}},{key:'overflow',value:function(M){return M&&(this.documentElement.style.overflow=M),this.window.getComputedStyle(this.documentElement).overflow}},{key:'overflowX',value:function(M){return M&&(this.documentElement.style.overflowX=M),this.window.getComputedStyle(this.documentElement).overflowX}},{key:'overflowY',value:function(M){return M&&(this.documentElement.style.overflowY=M),this.window.getComputedStyle(this.documentElement).overflowY}},{key:'css',value:function(M,W,I){var U=this.content||this.document.body;return W&&U.style.setProperty(M,W,I?'important':''),this.window.getComputedStyle(U)[M]}},{key:'viewport',value:function(M){var W,I,U,F,D=this.document.querySelector('meta[name=\'viewport\']'),H='';if(D&&D.hasAttribute('content')){var V=D.getAttribute('content'),X=V.split(/\s*,\s*/);X[0]&&(W=X[0].replace('width=','').trim()),X[1]&&(I=X[1].replace('height=','').trim()),X[2]&&(U=X[2].replace('initial-scale=','').trim()),X[3]&&(F=X[3].replace('user-scalable=','').trim())}return M&&(H+='width='+(M.width||W),H+=', height='+(M.height||I),(M.scale||U)&&(H+=', initial-scale='+(M.scale||U)),(M.scalable||F)&&(H+=', user-scalable='+(M.scalable||F)),!D&&(D=this.document.createElement('meta'),D.setAttribute('name','viewport'),this.document.querySelector('head').appendChild(D)),D.setAttribute('content',H)),{width:parseInt(W),height:parseInt(I)}}},{key:'expand',value:function(){this.emit('expand')}},{key:'listeners',value:function(){this.imageLoadListeners(),this.mediaQueryListeners(),this.addEventListeners(),this.addSelectionListeners(),this.resizeListeners(),this.linksHandler()}},{key:'removeListeners',value:function(){this.removeEventListeners(),this.removeSelectionListeners()}},{key:'resizeListeners',value:function(){var M,W;clearTimeout(this.expanding),M=this.scrollWidth(),W=this.scrollHeight(),(M!=this._size.width||W!=this._size.height)&&(this._size={width:M,height:W},this.emit('resize',this._size)),this.expanding=setTimeout(this.resizeListeners.bind(this),350)}},{key:'mediaQueryListeners',value:function(){for(var M=this.document.styleSheets,W=function(H){H.matches&&!this._expanding&&setTimeout(this.expand.bind(this),1)}.bind(this),I=0;I<M.length;I+=1){var U;try{U=M[I].cssRules}catch(H){return}if(!U)return;for(var F=0;F<U.length;F+=1)if(U[F].media){var D=this.window.matchMedia(U[F].media.mediaText);D.addListener(W)}}}},{key:'observe',value:function(M){var W=this,I=new MutationObserver(function(){W._expanding&&W.expand()});return I.observe(M,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),I}},{key:'imageLoadListeners',value:function(){for(var I,W=this.document.querySelectorAll('img'),U=0;U<W.length;U++)I=W[U],'undefined'!=typeof I.naturalWidth&&0===I.naturalWidth&&(I.onload=this.expand.bind(this))}},{key:'fontLoadListeners',value:function(){this.document&&this.document.fonts&&this.document.fonts.ready.then(function(){this.expand()}.bind(this))}},{key:'root',value:function(){return this.document?this.document.documentElement:null}},{key:'locationOf',value:function(M,W){var I,U={left:0,top:0};if(this.document){if(this.epubcfi.isCfiString(M)){var F=new T.default(M).toRange(this.document,W);F&&(F.startContainer.nodeType===Node.ELEMENT_NODE?(I=F.startContainer.getBoundingClientRect(),U.left=I.left,U.top=I.top):F.collapsed?I=F.getClientRects()[0]:I=F.getBoundingClientRect())}else if('string'==typeof M&&-1<M.indexOf('#')){var D=M.substring(M.indexOf('#')+1),H=this.document.getElementById(D);H&&(I=H.getBoundingClientRect())}return I&&(U.left=I.left,U.top=I.top),U}}},{key:'addStylesheet',value:function(M){return new Promise(function(W){var U,F=!1;return this.document?(U=this.document.querySelector('link[href=\''+M+'\']'),U?void W(!0):void(U=this.document.createElement('link'),U.type='text/css',U.rel='stylesheet',U.href=M,U.onload=U.onreadystatechange=function(){F||this.readyState&&'complete'!=this.readyState||(F=!0,setTimeout(function(){W(!0)},1))},this.document.head.appendChild(U))):void W(!1)}.bind(this))}},{key:'addStylesheetRules',value:function(M){var W,I,U='epubjs-inserted-css';if(this.document&&M&&0!==M.length)if(W=this.document.getElementById('#'+U),W||(W=this.document.createElement('style'),W.id=U),this.document.head.appendChild(W),I=W.sheet,'[object Array]'===Object.prototype.toString.call(M))for(var F=0,D=M.length;F<D;F++){var H=1,V=M[F],X=M[F][0],Y='';'[object Array]'===Object.prototype.toString.call(V[1][0])&&(V=V[1],H=0);for(var Z,J=V.length;H<J;H++)Z=V[H],Y+=Z[0]+':'+Z[1]+(Z[2]?' !important':'')+';\n';I.insertRule(X+'{'+Y+'}',I.cssRules.length)}else{var Q=Object.keys(M);Q.forEach(function(G){var K=M[G],$=Object.keys(K),ee=$.map(function(te){return te+':'+K[te]}).join(';');I.insertRule(G+'{'+ee+'}',I.cssRules.length)})}}},{key:'addScript',value:function(M){return new Promise(function(W){var U,F=!1;return this.document?void(U=this.document.createElement('script'),U.type='text/javascript',U.async=!0,U.src=M,U.onload=U.onreadystatechange=function(){F||this.readyState&&'complete'!=this.readyState||(F=!0,setTimeout(function(){W(!0)},1))},this.document.head.appendChild(U)):void W(!1)}.bind(this))}},{key:'addClass',value:function(M){var W;this.document&&(W=this.content||this.document.body,W.classList.add(M))}},{key:'removeClass',value:function(M){var W;this.document&&(W=this.content||this.document.body,W.classList.remove(M))}},{key:'addEventListeners',value:function(){this.document&&R.forEach(function(M){this.document.addEventListener(M,this.triggerEvent.bind(this),!1)},this)}},{key:'removeEventListeners',value:function(){this.document&&R.forEach(function(M){this.document.removeEventListener(M,this.triggerEvent,!1)},this)}},{key:'triggerEvent',value:function(M){this.emit(M.type,M)}},{key:'addSelectionListeners',value:function(){this.document&&this.document.addEventListener('selectionchange',this.onSelectionChange.bind(this),!1)}},{key:'removeSelectionListeners',value:function(){this.document&&this.document.removeEventListener('selectionchange',this.onSelectionChange,!1)}},{key:'onSelectionChange',value:function(){this.selectionEndTimeout&&clearTimeout(this.selectionEndTimeout),this.selectionEndTimeout=setTimeout(function(){var W=this.window.getSelection();this.triggerSelectedEvent(W)}.bind(this),500)}},{key:'triggerSelectedEvent',value:function(M){var W,I;M&&0<M.rangeCount&&(W=M.getRangeAt(0),!W.collapsed&&(I=new T.default(W,this.cfiBase).toString(),this.emit('selected',I),this.emit('selectedRange',W)))}},{key:'range',value:function(M,W){var I=new T.default(M);return I.toRange(this.document,W)}},{key:'map',value:function(M){var A=new z.default(M);return A.section()}},{key:'size',value:function(M,W){0<=M&&this.width(M),0<=W&&this.height(W),this.css('margin','0'),this.css('box-sizing','border-box')}},{key:'columns',value:function(M,W,I,U){var F=(0,P.prefixed)('column-axis'),D=(0,P.prefixed)('column-gap'),H=(0,P.prefixed)('column-width'),V=(0,P.prefixed)('column-fill');this.width(M),this.height(W),this.viewport({width:M,height:W,scale:1}),this.css('overflow-y','hidden'),this.css('margin','0',!0),this.css('padding','0',!0),this.css('box-sizing','border-box'),this.css('max-width','inherit'),this.css(F,'horizontal'),this.css(V,'auto'),this.css(D,U+'px'),this.css(H,I+'px')}},{key:'scaler',value:function(M,W,I){var F='';this.css('transform-origin','top left'),(0<=W||0<=I)&&(F=' translate('+(W||0)+'px, '+(I||0)+'px )'),this.css('transform','scale('+M+')'+F)}},{key:'fit',value:function(M,W){var I=this.viewport(),U=M/I.width,F=W/I.height,D=U<F?U:F,H=(W-I.height*D)/2;this.width(M),this.height(W),this.overflow('hidden'),this.viewport({scale:1}),this.scaler(D,0,H),this.css('background-color','transparent')}},{key:'mapPage',value:function(M,W,I){var U=new z.default;return U.page(this,M,W,I)}},{key:'linksHandler',value:function(){var M=this;(0,N.replaceLinks)(this.content,function(W){M.emit('link',W)})}},{key:'destroy',value:function(){this.observer&&this.observer.disconnect(),this.removeListeners()}}],[{key:'listenedEvents',get:function(){return R}}]),O}();(0,S.default)(B.prototype),p.default=B,u.exports=p['default']},function(u,p,f){'use strict';function k(L,T){if(!(L instanceof T))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0});var _=function(){function L(T,E){for(var N,z=0;z<E.length;z++)N=E[z],N.enumerable=N.enumerable||!1,N.configurable=!0,'value'in N&&(N.writable=!0),Object.defineProperty(T,N.key,N)}return function(T,E,z){return E&&L(T.prototype,E),z&&L(T,z),T}}(),C=f(1),S=function(L){return L&&L.__esModule?L:{default:L}}(C),P=function(){function L(T){k(this,L),this.layout=T}return _(L,[{key:'section',value:function(E){var z=this.findRanges(E),N=this.rangeListToCfiList(E.section.cfiBase,z);return N}},{key:'page',value:function(E,z,N,R){var B=E&&E.document&&E.document.body;return B?this.rangePairToCfiPair(z,{start:this.findStart(B,N,R),end:this.findEnd(B,N,R)}):void 0}},{key:'walk',value:function(E,z){for(var R,B,N=document.createTreeWalker(E,NodeFilter.SHOW_TEXT,{acceptNode:function(A){return 0<A.data.trim().length?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}},!1);(R=N.nextNode())&&(B=z(R),!B););return B}},{key:'findRanges',value:function(E){for(var A,M,z=[],N=E.contents.scrollWidth(),R=this.layout.count(N),B=this.layout.column,O=this.layout.gap,W=0;W<R.pages;W++)A=(B+O)*W,M=B*(W+1)+O*W,z.push({start:this.findStart(E.document.body,A,M),end:this.findEnd(E.document.body,A,M)});return z}},{key:'findStart',value:function(E,z,N){for(var B,O,R=[E],A=E;R.length;)if(B=R.shift(),O=this.walk(B,function(M){var W,I,U,F;return(M.nodeType==Node.TEXT_NODE?(F=document.createRange(),F.selectNodeContents(M),U=F.getBoundingClientRect()):U=M.getBoundingClientRect(),W=U.left,I=U.right,W>=z&&W<=N)?M:I>z?M:void(A=M,R.push(M))}),O)return this.findTextStartRange(O,z,N);return this.findTextStartRange(A,z,N)}},{key:'findEnd',value:function(E,z,N){for(var B,A,R=[E],O=E;R.length;)if(B=R.shift(),A=this.walk(B,function(M){var W,I,U,F;return(M.nodeType==Node.TEXT_NODE?(F=document.createRange(),F.selectNodeContents(M),U=F.getBoundingClientRect()):U=M.getBoundingClientRect(),W=U.left,I=U.right,W>N&&O)?O:I>N?M:void(O=M,R.push(M))}),A)return this.findTextEndRange(A,z,N);return this.findTextEndRange(O,z,N)}},{key:'findTextStartRange',value:function(E,z){for(var B,O,R=this.splitTextNodeIntoRanges(E),A=0;A<R.length;A++)if(B=R[A],O=B.getBoundingClientRect(),O.left>=z)return B;return R[0]}},{key:'findTextEndRange',value:function(E,z,N){for(var B,O,A,R=this.splitTextNodeIntoRanges(E),M=0;M<R.length;M++){if(O=R[M],A=O.getBoundingClientRect(),A.left>N&&B)return B;if(A.right>N)return O;B=O}return R[R.length-1]}},{key:'splitTextNodeIntoRanges',value:function(E,z){var O,N=[],R=E.textContent||'',B=R.trim(),A=E.ownerDocument,M=z||' ',W=B.indexOf(M);if(-1===W||E.nodeType!=Node.TEXT_NODE)return O=A.createRange(),O.selectNodeContents(E),[O];for(O=A.createRange(),O.setStart(E,0),O.setEnd(E,W),N.push(O),O=!1;-1!=W;)W=B.indexOf(M,W+1),0<W&&(O&&(O.setEnd(E,W),N.push(O)),O=A.createRange(),O.setStart(E,W+1));return O&&(O.setEnd(E,B.length),N.push(O)),N}},{key:'rangePairToCfiPair',value:function(E,z){var N=z.start,R=z.end;N.collapse(!0),R.collapse(!0);var B=new S.default(N,E).toString(),O=new S.default(R,E).toString();return{start:B,end:O}}},{key:'rangeListToCfiList',value:function(E,z){for(var R,N=[],B=0;B<z.length;B++)R=this.rangePairToCfiPair(E,z[B]),N.push(R);return N}}]),L}();p.default=P,u.exports=p['default']},function(u,p){'use strict';function v(C,S){if(!(C instanceof S))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0});var k=function(){function C(S,P){for(var T,L=0;L<P.length;L++)T=P[L],T.enumerable=T.enumerable||!1,T.configurable=!0,'value'in T&&(T.writable=!0),Object.defineProperty(S,T.key,T)}return function(S,P,L){return P&&C(S.prototype,P),L&&C(S,L),S}}(),_=function(){function C(S){v(this,C),this.context=S||this,this.hooks=[]}return k(C,[{key:'register',value:function(){for(var P=0;P<arguments.length;++P)if('function'==typeof arguments[P])this.hooks.push(arguments[P]);else for(var L=0;L<arguments[P].length;++L)this.hooks.push(arguments[P][L])}},{key:'trigger',value:function(){var P=arguments,L=this.context,T=[];return this.hooks.forEach(function(E){var z=E.apply(L,P);z&&'function'==typeof z.then&&T.push(z)}),Promise.all(T)}},{key:'list',value:function(){return this.hooks}},{key:'clear',value:function(){return this.hooks=[]}}]),C}();p.default=_,u.exports=p['default']},function(u,p,f){'use strict';function v(P,L){if(!(P instanceof L))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0}),p.Task=void 0;var k=function(){function P(L,T){for(var z,E=0;E<T.length;E++)z=T[E],z.enumerable=z.enumerable||!1,z.configurable=!0,'value'in z&&(z.writable=!0),Object.defineProperty(L,z.key,z)}return function(L,T,E){return T&&P(L.prototype,T),E&&P(L,E),L}}(),_=f(0),C=function(){function P(L){v(this,P),this._q=[],this.context=L,this.tick=_.requestAnimationFrame,this.running=!1,this.paused=!1}return k(P,[{key:'enqueue',value:function(){var T,E,z,N=[].shift.call(arguments),R=arguments;if(!N)throw new Error('No Task Provided');return'function'==typeof N?(T=new _.defer,E=T.promise,z={task:N,args:R,deferred:T,promise:E}):z={promise:N},this._q.push(z),!1!=this.paused||this.running||this.run(),z.promise}},{key:'dequeue',value:function(){var T,E,z;if(this._q.length&&!this.paused){if(T=this._q.shift(),E=T.task,E)return z=E.apply(this.context,T.args),z&&'function'==typeof z.then?z.then(function(){T.deferred.resolve.apply(this.context,arguments)}.bind(this),function(){T.deferred.reject.apply(this.context,arguments)}.bind(this)):(T.deferred.resolve.apply(this.context,z),T.promise);if(T.promise)return T.promise}else return T=new _.defer,T.deferred.resolve(),T.promise}},{key:'dump',value:function(){for(;this._q.length;)this.dequeue()}},{key:'run',value:function(){var T=this;return this.running||(this.running=!0,this.defered=new _.defer),this.tick.call(window,function(){T._q.length?T.dequeue().then(function(){this.run()}.bind(T)):(T.defered.resolve(),T.running=void 0)}),!0==this.paused&&(this.paused=!1),this.defered.promise}},{key:'flush',value:function(){return this.running?this.running:this._q.length?(this.running=this.dequeue().then(function(){return this.running=void 0,this.flush()}.bind(this)),this.running):void 0}},{key:'clear',value:function(){this._q=[],this.running=!1,this.paused=!0}},{key:'length',value:function(){return this._q.length}},{key:'pause',value:function(){this.paused=!0}}]),P}();p.default=C,p.Task=function P(L,T,E){return v(this,P),function(){var z=this,N=arguments||[];return new Promise(function(R,B){N.push(function(M,W){!M&&W?B(W):R(M)}),L.apply(E||z,N)})}}},function(u,p,f){'use strict';Object.defineProperty(p,'__esModule',{value:!0});var _=f(0),C=f(3),S=function(P){return P&&P.__esModule?P:{default:P}}(C);p.default=function(P,L,T,E){function z(I){O.reject(I)}function N(){if(this.readyState===XMLHttpRequest.DONE){var I=!1;if((''===this.responseType||'document'===this.responseType)&&(I=this.responseXML),200===this.status||I){var U;if(!this.response&&!I)return O.reject({status:this.status,message:'Empty Response',stack:new Error().stack}),O.promise;if(403===this.status)return O.reject({status:this.status,response:this.response,message:'Forbidden',stack:new Error().stack}),O.promise;U=I?this.responseXML:(0,_.isXml)(L)?(0,_.parse)(this.response,'text/xml'):'xhtml'==L?(0,_.parse)(this.response,'application/xhtml+xml'):'html'==L||'htm'==L?(0,_.parse)(this.response,'text/html'):'json'==L?JSON.parse(this.response):'blob'==L?R?this.response:new Blob([this.response]):this.response,O.resolve(U)}else O.reject({status:this.status,message:this.response,stack:new Error().stack})}}var W,R='undefined'!=typeof window&&window.URL,B=R?'blob':'arraybuffer',O=new _.defer,A=new XMLHttpRequest,M=XMLHttpRequest.prototype;for(W in'overrideMimeType'in M||Object.defineProperty(M,'overrideMimeType',{value:function(){}}),T&&(A.withCredentials=!0),A.onreadystatechange=N,A.onerror=z,A.open('GET',P,!0),E)A.setRequestHeader(W,E[W]);return'json'==L&&A.setRequestHeader('Accept','application/json'),L||(L=new S.default(P).extension),'blob'==L&&(A.responseType=B),(0,_.isXml)(L)&&A.overrideMimeType('text/xml'),'xhtml'==L,'html'!=L&&'htm'!=L,'binary'==L&&(A.responseType='arraybuffer'),A.send(),O.promise},u.exports=p['default']},function(u,p,f){'use strict';function v(M){return M&&M.__esModule?M:{default:M}}function k(M,W){if(!(M instanceof W))throw new TypeError('Cannot call a class as a function')}Object.defineProperty(p,'__esModule',{value:!0});var _=function(){function M(W,I){for(var F,U=0;U<I.length;U++)F=I[U],F.enumerable=F.enumerable||!1,F.configurable=!0,'value'in F&&(F.writable=!0),Object.defineProperty(W,F.key,F)}return function(W,I,U){return I&&M(W.prototype,I),U&&M(W,U),W}}(),C=f(2),S=v(C),P=f(0),L=f(8),T=v(L),E=f(10),z=v(E),N=f(24),R=v(N),B=f(25),O=v(B),A=function(){function M(W){k(this,M),this.name='default',this.View=W.view,this.request=W.request,this.renditionQueue=W.queue,this.q=new z.default(this),this.settings=(0,P.extend)(this.settings||{},{infinite:!0,hidden:!1,width:void 0,height:void 0,axis:'vertical',ignoreClass:''}),(0,P.extend)(this.settings,W.settings||{}),this.viewSettings={ignoreClass:this.settings.ignoreClass,axis:this.settings.axis,layout:this.layout,width:0,height:0}}return _(M,[{key:'render',value:function(I,U){this.stage=new R.default({width:U.width,height:U.height,overflow:this.settings.overflow,hidden:this.settings.hidden,axis:this.settings.axis}),this.stage.attachTo(I),this.container=this.stage.getContainer(),this.views=new O.default(this.container),this._bounds=this.bounds(),this._stageSize=this.stage.size(),this.viewSettings.width=this._stageSize.width,this.viewSettings.height=this._stageSize.height,this.stage.onResize(this.onResized.bind(this)),this.addEventListeners(),this.layout&&this.updateLayout()}},{key:'addEventListeners',value:function(){window.addEventListener('unload',function(){this.destroy()}.bind(this))}},{key:'destroy',value:function(){this.views.each(function(I){I.destroy()}),this.stage.destroy()}},{key:'onResized',value:function(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(function(){this.resize()}.bind(this),150)}},{key:'resize',value:function(I,U){this.q.clear(),this._stageSize=this.stage.size(I,U),this._bounds=this.bounds(),this.viewSettings.width=this._stageSize.width,this.viewSettings.height=this._stageSize.height,this.updateLayout(),this.views.each(function(F){F.size(this._stageSize.width,this._stageSize.height)}.bind(this)),this.emit('resized',{width:this.stage.width,height:this.stage.height})}},{key:'createView',value:function(I){return new this.View(I,this.viewSettings)}},{key:'display',value:function(I,U){var F=new P.defer,D=F.promise,H=this.views.find(I);if(H&&U){var V=H.locationOf(U);return this.moveTo(V),F.resolve(),D}return this.views.hide(),this.views.clear(),this.add(I).then(function(X){if(U){var Y=X.locationOf(U);this.moveTo(Y)}}.bind(this)).then(function(){var X;if('pre-paginated'===this.layout.name&&1<this.layout.divisor&&(X=I.next(),X))return this.add(X)}.bind(this)).then(function(){this.views.show(),F.resolve()}.bind(this)),D}},{key:'afterDisplayed',value:function(I){this.emit('added',I)}},{key:'afterResized',value:function(I){this.emit('resize',I.section)}},{key:'moveTo',value:function(I){var U=0,F=0;'vertical'===this.settings.axis?F=I.top:(U=Math.floor(I.left/this.layout.delta)*this.layout.delta,U+this.layout.delta>this.container.scrollWidth&&(U=this.container.scrollWidth-this.layout.delta)),this.scrollTo(U,F)}},{key:'add',value:function(I){var U=this.createView(I);return this.views.append(U),U.onDisplayed=this.afterDisplayed.bind(this),U.onResize=this.afterResized.bind(this),U.display(this.request)}},{key:'append',value:function(I){var U=this.createView(I);return this.views.append(U),U.onDisplayed=this.afterDisplayed.bind(this),U.onResize=this.afterResized.bind(this),U.display(this.request)}},{key:'prepend',value:function(I){var U=this.createView(I);return this.views.prepend(U),U.onDisplayed=this.afterDisplayed.bind(this),U.onResize=this.afterResized.bind(this),U.display(this.request)}},{key:'next',value:function(){var W,I;if(this.views.length)return('horizontal'===this.settings.axis?(this.scrollLeft=this.container.scrollLeft,I=this.container.scrollLeft+this.container.offsetWidth+this.layout.delta,I<this.container.scrollWidth?this.scrollBy(this.layout.delta,0):I-this.layout.columnWidth===this.container.scrollWidth?(this.scrollTo(this.container.scrollWidth-this.layout.delta,0),W=this.views.last().section.next()):W=this.views.last().section.next()):W=this.views.last().section.next(),W)?(this.views.clear(),this.append(W).then(function(){var U;if(this.layout.name&&1<this.layout.divisor&&(U=W.next(),U))return this.append(U)}.bind(this)).then(function(){this.views.show()}.bind(this))):void 0}},{key:'prev',value:function(){var W,I;if(this.views.length)return('horizontal'===this.settings.axis?(this.scrollLeft=this.container.scrollLeft,I=this.container.scrollLeft,0<I?this.scrollBy(-this.layout.delta,0):W=this.views.first().section.prev()):W=this.views.first().section.prev(),W)?(this.views.clear(),this.prepend(W).then(function(){var U;if(this.layout.name&&1<this.layout.divisor&&(U=W.prev(),U))return this.prepend(U)}.bind(this)).then(function(){'horizontal'===this.settings.