diff --git a/app/comic-book.js b/app/comic-book.js index 7258157..f41ae7e 100644 --- a/app/comic-book.js +++ b/app/comic-book.js @@ -5,9 +5,15 @@ let ProgressBar = require('./view/progress-bar') class ComicBook extends EventEmitter { - constructor (srcs = []) { + constructor (srcs = [], options) { super() + this.options = Object.assign({ + // manga mode + rtl: false, + doublePage: false + }, options) + // requested image srcs this.srcs = srcs @@ -72,17 +78,32 @@ class ComicBook extends EventEmitter { this.progressBar.update(percentage) } - drawPage () { - let page = this.pages.get(this.currentPageIndex) - this.canvas.drawImage(page) + drawPage (pageIndex) { + if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex + let page = this.pages.get(pageIndex) + + try { + this.canvas.drawImage(page) + this.currentPageIndex = pageIndex + } catch (e) { + if (e.message !== 'Invalid image') throw e + } } drawNextPage () { - // TODO + let increment = this.options.doublePage ? 2 : 1 + let index = this.currentPageIndex + increment + if (index >= this.pages.size) { + index = this.pages.size - 1 + } + this.drawPage(index) } - drawPrevioousPage () { - // TODO + drawPreviousPage () { + let increment = this.options.doublePage ? 2 : 1 + let index = this.currentPageIndex - increment + if (index < 0) index = 0 + this.drawPage(index) } } diff --git a/app/index.js b/app/index.js index 1209b76..9744f2e 100644 --- a/app/index.js +++ b/app/index.js @@ -1,5 +1,5 @@ let ComicBook = window.ComicBook = require('./comic-book') -let comic = new ComicBook([ +let comic = window.comic = new ComicBook([ 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg', @@ -13,8 +13,10 @@ let comic = new ComicBook([ 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg' ]) +comic.preload() +comic.render() + document.addEventListener('DOMContentLoaded', () => { - document.body.appendChild(comic.render().el) - comic.preload() + document.body.appendChild(comic.el) }, false) diff --git a/app/view/canvas.js b/app/view/canvas.js index 2806507..c247679 100644 --- a/app/view/canvas.js +++ b/app/view/canvas.js @@ -13,8 +13,8 @@ class Canvas extends EventEmitter { this.options = Object.assign({ // fitWidth, fitWindow, manua zoomMode: 'fitWidth', - // ltr, rtl - readDirection: 'ltr', + // manga mode + rtl: false, // should two pages be rendered at a time? doublePage: false }, options) @@ -126,7 +126,7 @@ class Canvas extends EventEmitter { } // in manga double page mode reverse the page(s) - if (this.options.manga && this.options.doublePage && typeof page2 === 'object') { + if (this.options.rtl && this.options.doublePage && typeof page2 === 'object') { let tmpPage = page let tmpPage2 = page2 page = tmpPage2 diff --git a/dist/comicbook.js b/dist/comicbook.js index f98d5c1..9dea8f5 100644 --- a/dist/comicbook.js +++ b/dist/comicbook.js @@ -9,6 +9,8 @@ var _createClass = require('babel-runtime/helpers/create-class')['default']; var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default']; +var _Object$assign = require('babel-runtime/core-js/object/assign')['default']; + var _Map = require('babel-runtime/core-js/map')['default']; var EventEmitter = require('events').EventEmitter; @@ -19,22 +21,30 @@ var ProgressBar = require('./view/progress-bar'); var ComicBook = (function (_EventEmitter) { _inherits(ComicBook, _EventEmitter); - function ComicBook() { - var srcs = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0]; + function ComicBook(srcs, options) { + if (srcs === undefined) srcs = []; _classCallCheck(this, ComicBook); _get(Object.getPrototypeOf(ComicBook.prototype), 'constructor', this).call(this); + this.options = _Object$assign({ + // manga mode + rtl: false, + doublePage: false + }, options); + // requested image srcs this.srcs = srcs; // loaded image objects this.pages = new _Map(); - this.currentPageIndex = 0; this.preloadBuffer = 4; + // TODO move this logic into the router + this.currentPageIndex = 0; + this.canvas = new Canvas(); this.loadIndicator = new LoadIndicator(); this.progressBar = new ProgressBar(); @@ -96,9 +106,34 @@ var ComicBook = (function (_EventEmitter) { } }, { key: 'drawPage', - value: function drawPage() { - var page = this.pages.get(this.currentPageIndex); - this.canvas.drawImage(page); + value: function drawPage(pageIndex) { + if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex; + var page = this.pages.get(pageIndex); + + try { + this.canvas.drawImage(page); + this.currentPageIndex = pageIndex; + } catch (e) { + if (e.message !== 'Invalid image') throw e; + } + } + }, { + key: 'drawNextPage', + value: function drawNextPage() { + var increment = this.options.doublePage ? 2 : 1; + var index = this.currentPageIndex + increment; + if (index >= this.pages.size) { + index = this.pages.size - 1; + } + this.drawPage(index); + } + }, { + key: 'drawPreviousPage', + value: function drawPreviousPage() { + var increment = this.options.doublePage ? 2 : 1; + var index = this.currentPageIndex - increment; + if (index < 0) index = 0; + this.drawPage(index); } }]); @@ -107,15 +142,17 @@ var ComicBook = (function (_EventEmitter) { module.exports = ComicBook; -},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,"events":53}],2:[function(require,module,exports){ +},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/core-js/object/assign":8,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,"events":53}],2:[function(require,module,exports){ 'use strict'; var ComicBook = window.ComicBook = require('./comic-book'); -var comic = new ComicBook(['https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg']); +var comic = window.comic = new ComicBook(['https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg']); + +comic.preload(); +comic.render(); document.addEventListener('DOMContentLoaded', function () { - document.body.appendChild(comic.render().el); - comic.preload(); + document.body.appendChild(comic.el); }, false); },{"./comic-book":1}],3:[function(require,module,exports){ @@ -149,8 +186,8 @@ var Canvas = (function (_EventEmitter) { this.options = _Object$assign({ // fitWidth, fitWindow, manua zoomMode: 'fitWidth', - // ltr, rtl - readDirection: 'ltr', + // manga mode + rtl: false, // should two pages be rendered at a time? doublePage: false }, options); @@ -261,7 +298,7 @@ var Canvas = (function (_EventEmitter) { } // in manga double page mode reverse the page(s) - if (this.options.manga && this.options.doublePage && typeof page2 === 'object') { + if (this.options.rtl && this.options.doublePage && typeof page2 === 'object') { var tmpPage = page; var tmpPage2 = page2; page = tmpPage2; diff --git a/dist/comicbook.js.map b/dist/comicbook.js.map index 5be989b..f59bba8 100644 --- a/dist/comicbook.js.map +++ b/dist/comicbook.js.map @@ -65,14 +65,14 @@ "node_modules/handlebars/runtime.js" ], "names": [], - "mappings": "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AAA;;;AC5B5B;AACA;AACA;;ACFA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", + "mappings": "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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o {\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage.bind(this, image, pageIndex)\n\n function setImage (image, index) {\n this.pages.set(index, image)\n this.emit('preload:image', image)\n\n if (this.pages.size === this.preloadBuffer) {\n this.emit('preload:ready')\n }\n\n if (this.pages.size === this.srcs.length) {\n this.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.length) * 100)\n this.progressBar.update(percentage)\n }\n\n drawPage () {\n let page = this.pages.get(this.currentPageIndex)\n this.canvas.drawImage(page)\n }\n}\n\nmodule.exports = ComicBook\n\n", - "let ComicBook = window.ComicBook = require('./comic-book')\nlet comic = new ComicBook([\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg'\n])\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(comic.render().el)\n comic.preload()\n}, false)\n\n", - "let EventEmitter = require('events').EventEmitter\n\n// TODO replace\nfunction windowWidth () {\n return window.innerWidth\n}\n\nclass Canvas extends EventEmitter {\n\n constructor (options) {\n super()\n\n this.options = Object.assign({\n // fitWidth, fitWindow, manua\n zoomMode: 'fitWidth',\n // ltr, rtl\n readDirection: 'ltr',\n // should two pages be rendered at a time?\n doublePage: false\n }, options)\n\n this.canvas = document.createElement('canvas')\n this.context = this.canvas.getContext('2d')\n }\n\n drawImage (page, page2) {\n this.emit('draw:start')\n\n if (!(page instanceof window.Image) || (this.options.doublePage && !(page2 instanceof window.Image))) {\n throw new Error('Invalid image')\n }\n\n let zoomScale\n let offsetW = 0\n let offsetH = 0\n let width = page.width\n let height = page.height\n let doublePageMode = this.options.doublePage\n let canvasWidth\n let canvasHeight\n let pageWidth\n let pageHeight\n\n // reset the canvas to stop duplicate pages showing\n this.canvas.width = 0\n this.canvas.height = 0\n\n // show double page spreads on a single page\n let isDoublePageSpread = (\n page2 &&\n (page.width > page.height || page2.width > page2.height) &&\n doublePageMode\n )\n\n if (isDoublePageSpread) doublePageMode = false\n\n if (doublePageMode) {\n\n // for double page spreads, factor in the width of both pages\n if (typeof page2 === 'object') {\n width += page2.width\n // if this is the last page and there is no page2, still keep the canvas wide\n } else {\n width += width\n }\n }\n\n // update the page this.scale if a non manual mode has been chosen\n switch (this.options.zoomMode) {\n\n case 'manual':\n document.body.style.overflowX = 'auto'\n zoomScale = (doublePageMode) ? this.scale * 2 : this.scale\n break\n\n case 'fitWidth':\n document.body.style.overflowX = 'hidden'\n\n // this.scale up if the window is wider than the page, scale down if the window\n // is narrower than the page\n zoomScale = (windowWidth() > width) ? ((windowWidth() - width) / windowWidth()) + 1 : windowWidth() / width\n this.scale = zoomScale\n break\n\n case 'fitWindow':\n document.body.style.overflowX = 'hidden'\n\n let widthScale = (windowWidth() > width)\n ? ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page\n : windowWidth() / width // scale down if the window is narrower than the page\n let windowHeight = window.innerHeight\n let heightScale = (windowHeight > height)\n ? ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page\n : windowHeight / height // scale down if the window is narrower than the page\n\n zoomScale = (widthScale > heightScale) ? heightScale : widthScale\n this.scale = zoomScale\n break\n }\n\n canvasWidth = page.width * zoomScale\n canvasHeight = page.height * zoomScale\n\n pageWidth = (this.options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth\n pageHeight = (this.options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight\n\n canvasHeight = pageHeight\n\n // make sure the canvas is always at least full screen, even if the page is narrower than the screen\n this.canvas.width = (canvasWidth < windowWidth()) ? windowWidth() : canvasWidth\n this.canvas.height = (canvasHeight < window.innerHeight) ? window.innerHeight : canvasHeight\n\n // always keep pages centered\n if (this.options.zoomMode === 'manual' || this.options.zoomMode === 'fitWindow') {\n\n // work out a horizontal position\n if (canvasWidth < windowWidth()) {\n offsetW = (windowWidth() - pageWidth) / 2\n if (this.options.doublePage) { offsetW = offsetW - pageWidth / 2 }\n }\n\n // work out a vertical position\n if (canvasHeight < window.innerHeight) {\n offsetH = (window.innerHeight - pageHeight) / 2\n }\n }\n\n // in manga double page mode reverse the page(s)\n if (this.options.manga && this.options.doublePage && typeof page2 === 'object') {\n let tmpPage = page\n let tmpPage2 = page2\n page = tmpPage2\n page2 = tmpPage\n }\n\n // draw the page(s)\n this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight)\n if (this.options.doublePage && typeof page2 === 'object') {\n this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight)\n }\n\n this.emit('draw:finish')\n }\n}\n\nmodule.exports = Canvas\n", + "let EventEmitter = require('events').EventEmitter\nlet Canvas = require('./view/canvas')\nlet LoadIndicator = require('./view/load-indicator')\nlet ProgressBar = require('./view/progress-bar')\n\nclass ComicBook extends EventEmitter {\n\n constructor (srcs = [], options) {\n super()\n\n this.options = Object.assign({\n // manga mode\n rtl: false,\n doublePage: false\n }, options)\n\n // requested image srcs\n this.srcs = srcs\n\n // loaded image objects\n this.pages = new Map()\n\n this.preloadBuffer = 4\n\n // TODO move this logic into the router\n this.currentPageIndex = 0\n\n this.canvas = new Canvas()\n this.loadIndicator = new LoadIndicator()\n this.progressBar = new ProgressBar()\n\n this.addEventListeners()\n }\n\n addEventListeners () {\n this.on('preload:start', this.loadIndicator.show.bind(this.loadIndicator))\n this.on('preload:start', this.progressBar.show.bind(this.progressBar))\n this.on('preload:image', this.updateProgressBar.bind(this))\n this.on('preload:ready', this.loadIndicator.hide.bind(this.loadIndicator))\n this.on('preload:ready', this.drawPage.bind(this))\n this.on('preload:finish', this.progressBar.hide.bind(this.progressBar))\n }\n\n render () {\n this.el = document.createElement('div')\n this.el.appendChild(this.canvas.canvas)\n this.el.appendChild(this.progressBar.el)\n this.el.appendChild(this.loadIndicator.el)\n return this\n }\n\n preload () {\n this.emit('preload:start')\n\n this.srcs.forEach((src, pageIndex) => {\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage.bind(this, image, pageIndex)\n\n function setImage (image, index) {\n this.pages.set(index, image)\n this.emit('preload:image', image)\n\n if (this.pages.size === this.preloadBuffer) {\n this.emit('preload:ready')\n }\n\n if (this.pages.size === this.srcs.length) {\n this.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.length) * 100)\n this.progressBar.update(percentage)\n }\n\n drawPage (pageIndex) {\n if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex\n let page = this.pages.get(pageIndex)\n\n try {\n this.canvas.drawImage(page)\n this.currentPageIndex = pageIndex\n } catch (e) {\n if (e.message !== 'Invalid image') throw e\n }\n }\n\n drawNextPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex + increment\n if (index >= this.pages.size) {\n index = this.pages.size - 1\n }\n this.drawPage(index)\n }\n\n drawPreviousPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex - increment\n if (index < 0) index = 0\n this.drawPage(index)\n }\n}\n\nmodule.exports = ComicBook\n\n", + "let ComicBook = window.ComicBook = require('./comic-book')\nlet comic = window.comic = new ComicBook([\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg'\n])\n\ncomic.preload()\ncomic.render()\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(comic.el)\n}, false)\n\n", + "let EventEmitter = require('events').EventEmitter\n\n// TODO replace\nfunction windowWidth () {\n return window.innerWidth\n}\n\nclass Canvas extends EventEmitter {\n\n constructor (options) {\n super()\n\n this.options = Object.assign({\n // fitWidth, fitWindow, manua\n zoomMode: 'fitWidth',\n // manga mode\n rtl: false,\n // should two pages be rendered at a time?\n doublePage: false\n }, options)\n\n this.canvas = document.createElement('canvas')\n this.context = this.canvas.getContext('2d')\n }\n\n drawImage (page, page2) {\n this.emit('draw:start')\n\n if (!(page instanceof window.Image) || (this.options.doublePage && !(page2 instanceof window.Image))) {\n throw new Error('Invalid image')\n }\n\n let zoomScale\n let offsetW = 0\n let offsetH = 0\n let width = page.width\n let height = page.height\n let doublePageMode = this.options.doublePage\n let canvasWidth\n let canvasHeight\n let pageWidth\n let pageHeight\n\n // reset the canvas to stop duplicate pages showing\n this.canvas.width = 0\n this.canvas.height = 0\n\n // show double page spreads on a single page\n let isDoublePageSpread = (\n page2 &&\n (page.width > page.height || page2.width > page2.height) &&\n doublePageMode\n )\n\n if (isDoublePageSpread) doublePageMode = false\n\n if (doublePageMode) {\n\n // for double page spreads, factor in the width of both pages\n if (typeof page2 === 'object') {\n width += page2.width\n // if this is the last page and there is no page2, still keep the canvas wide\n } else {\n width += width\n }\n }\n\n // update the page this.scale if a non manual mode has been chosen\n switch (this.options.zoomMode) {\n\n case 'manual':\n document.body.style.overflowX = 'auto'\n zoomScale = (doublePageMode) ? this.scale * 2 : this.scale\n break\n\n case 'fitWidth':\n document.body.style.overflowX = 'hidden'\n\n // this.scale up if the window is wider than the page, scale down if the window\n // is narrower than the page\n zoomScale = (windowWidth() > width) ? ((windowWidth() - width) / windowWidth()) + 1 : windowWidth() / width\n this.scale = zoomScale\n break\n\n case 'fitWindow':\n document.body.style.overflowX = 'hidden'\n\n let widthScale = (windowWidth() > width)\n ? ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page\n : windowWidth() / width // scale down if the window is narrower than the page\n let windowHeight = window.innerHeight\n let heightScale = (windowHeight > height)\n ? ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page\n : windowHeight / height // scale down if the window is narrower than the page\n\n zoomScale = (widthScale > heightScale) ? heightScale : widthScale\n this.scale = zoomScale\n break\n }\n\n canvasWidth = page.width * zoomScale\n canvasHeight = page.height * zoomScale\n\n pageWidth = (this.options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth\n pageHeight = (this.options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight\n\n canvasHeight = pageHeight\n\n // make sure the canvas is always at least full screen, even if the page is narrower than the screen\n this.canvas.width = (canvasWidth < windowWidth()) ? windowWidth() : canvasWidth\n this.canvas.height = (canvasHeight < window.innerHeight) ? window.innerHeight : canvasHeight\n\n // always keep pages centered\n if (this.options.zoomMode === 'manual' || this.options.zoomMode === 'fitWindow') {\n\n // work out a horizontal position\n if (canvasWidth < windowWidth()) {\n offsetW = (windowWidth() - pageWidth) / 2\n if (this.options.doublePage) { offsetW = offsetW - pageWidth / 2 }\n }\n\n // work out a vertical position\n if (canvasHeight < window.innerHeight) {\n offsetH = (window.innerHeight - pageHeight) / 2\n }\n }\n\n // in manga double page mode reverse the page(s)\n if (this.options.rtl && this.options.doublePage && typeof page2 === 'object') {\n let tmpPage = page\n let tmpPage2 = page2\n page = tmpPage2\n page2 = tmpPage\n }\n\n // draw the page(s)\n this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight)\n if (this.options.doublePage && typeof page2 === 'object') {\n this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight)\n }\n\n this.emit('draw:finish')\n }\n}\n\nmodule.exports = Canvas\n", "let EventEmitter = require('events').EventEmitter\n\nclass LoadIndicator extends EventEmitter {\n constructor () {\n super()\n this.render().hide()\n }\n\n render () {\n this.el = document.createElement('div')\n this.el.id = 'cb-loading-overlay'\n return this\n }\n\n show () {\n this.el.style.display = 'block'\n this.emit('show', this)\n }\n\n hide () {\n this.el.style.display = 'none'\n this.emit('hide', this)\n }\n}\n\nmodule.exports = LoadIndicator\n\n", "let template = require('./template/progress-bar.handlebars')\n\nclass ProgressBar {\n constructor () {\n this.createElements()\n this.hide()\n }\n\n createElements () {\n let el = document.createElement('div')\n el.innerHTML = template()\n this.el = el.firstChild\n this.progressEl = this.el.querySelector('.progressbar-value')\n }\n\n update (percentage) {\n this.progressEl.style.width = `${percentage}%`\n }\n\n show () {\n this.el.style.display = 'block'\n }\n\n hide () {\n this.el.style.display = 'none'\n }\n}\n\nmodule.exports = ProgressBar\n", "var templater = require(\"handlebars/runtime\")[\"default\"].template;module.exports = templater({\"compiler\":[6,\">= 2.0.0-beta.1\"],\"main\":function(depth0,helpers,partials,data) {\n return \"
\\n\t
\\n\t\t
\\n\t
\\n
\\n\";\n},\"useData\":true});", diff --git a/dist/comicbook.min.js b/dist/comicbook.min.js index f891965..333479b 100644 --- a/dist/comicbook.min.js +++ b/dist/comicbook.min.js @@ -1,3 +1,3 @@ -!function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;se.height||t.width>t.height)&&u;switch(h&&(u=!1),u&&(s+="object"==typeof t?t.width:s),this.options.zoomMode){case"manual":document.body.style.overflowX="auto",r=u?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",r=n()>s?(n()-s)/n()+1:n()/s,this.scale=r;break;case"fitWindow":document.body.style.overflowX="hidden";var p=n()>s?(n()-s)/n()+1:n()/s,m=window.innerHeight,v=m>a?(m-a)/m+1:m/a;r=p>v?v:p,this.scale=r}if(c=e.width*r,l=e.height*r,f="manual"===this.options.zoomMode?e.width*this.scale:c,d="manual"===this.options.zoomMode?e.height*this.scale:l,l=d,this.canvas.width=c= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":61}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":19}],11:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;rs;)for(var a,u=n.ES5Object(arguments[s++]),c=i(u),l=c.length,f=0;l>f;)r[a=c[f++]]=u[a];return r}},{"./$":36,"./$.enum-keys":29}],23:[function(e,t,r){function n(e){return s.call(e).slice(8,-1)}var i=e("./$"),o=e("./$.wks")("toStringTag"),s={}.toString;n.classof=function(e){var t,r;return void 0==e?void 0===e?"Undefined":"Null":"string"==typeof(r=(t=Object(e))[o])?r:n(t)},n.set=function(e,t,r){e&&!i.has(e=r?e:e.prototype,o)&&i.hide(e,o,t)},t.exports=n},{"./$":36,"./$.wks":44}],24:[function(e,t,r){"use strict";function n(e,t){if(!h(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!f(e,v)){if(!m(e))return"F";if(!t)return"E";p(e,v,++_)}return"O"+e[v]}function i(e,t){var r,i=n(t);if("F"!==i)return e[g][i];for(r=e[y];r;r=r.n)if(r.k==t)return r}var o=e("./$"),s=e("./$.ctx"),a=e("./$.uid").safe,u=e("./$.assert"),c=e("./$.for-of"),l=e("./$.iter").step,f=o.has,d=o.set,h=o.isObject,p=o.hide,m=Object.isExtensible||h,v=a("id"),g=a("O1"),b=a("last"),y=a("first"),w=a("iter"),$=o.DESC?a("size"):"size",_=0;t.exports={getConstructor:function(t,r,n,a){var l=t(function(e,t){u.inst(e,l,r),d(e,g,o.create(null)),d(e,$,0),d(e,b,void 0),d(e,y,void 0),void 0!=t&&c(t,n,e[a],e)});return e("./$.mix")(l.prototype,{clear:function(){for(var e=this,t=e[g],r=e[y];r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete t[r.i];e[y]=e[b]=void 0,e[$]=0},delete:function(e){var t=this,r=i(t,e);if(r){var n=r.n,o=r.p;delete t[g][r.i],r.r=!0,o&&(o.n=n),n&&(n.p=o),t[y]==r&&(t[y]=n),t[b]==r&&(t[b]=o),t[$]--}return!!r},forEach:function(e){for(var t,r=s(e,arguments[1],3);t=t?t.n:this[y];)for(r(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!i(this,e)}}),o.DESC&&o.setDesc(l.prototype,"size",{get:function(){return u.def(this[$])}}),l},def:function(e,t,r){var o,s,a=i(e,t);return a?a.v=r:(e[b]=a={i:s=n(t,!0),k:t,v:r,p:o=e[b],n:void 0,r:!1},e[y]||(e[y]=a),o&&(o.n=a),e[$]++,"F"!==s&&(e[g][s]=a)),e},getEntry:i,setIter:function(t,r,n){e("./$.iter-define")(t,r,function(e,t){d(this,w,{o:e,k:t})},function(){for(var e=this[w],t=e.k,r=e.l;r&&r.r;)r=r.p;return e.o&&(e.l=r=r?r.n:e.o[y])?"keys"==t?l(0,r.k):"values"==t?l(0,r.v):l(0,[r.k,r.v]):(e.o=void 0,l(1))},n?"entries":"values",!n,!0)}}},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(e,t,r){var n=e("./$.def"),i=e("./$.for-of");t.exports=function(e){n(n.P,e,{toJSON:function(){var e=[];return i(this,!1,e.push,e),e}})}},{"./$.def":28,"./$.for-of":30}],26:[function(e,t,r){"use strict";var n=e("./$"),i=e("./$.def"),o=e("./$.iter"),s=o.BUGGY,a=e("./$.for-of"),u=e("./$.assert").inst,c=e("./$.uid").safe("internal");t.exports=function(t,r,o,l,f,d){var h=n.g[t],p=h,m=f?"set":"add",v=p&&p.prototype,g={};return n.DESC&&n.isFunction(p)&&(d||!s&&v.forEach&&v.entries)?(p=r(function(e,r){u(e,p,t),e[c]=new h,void 0!=r&&a(r,f,e[m],e)}),n.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(e){var t="add"==e||"set"==e;e in v&&n.hide(p.prototype,e,function(r,n){var i=this[c][e](0===r?0:r,n);return t?this:i})}),"size"in v&&n.setDesc(p.prototype,"size",{get:function(){return this[c].size}})):(p=l.getConstructor(r,t,f,m),e("./$.mix")(p.prototype,o)),e("./$.cof").set(p,t),g[t]=p,i(i.G+i.W+i.F,g),e("./$.species")(p),d||l.setIter(p,t,f),p}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(e,t,r){var n=e("./$.assert").fn;t.exports=function(e,t,r){if(n(e),~r&&void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./$.assert":21}],28:[function(e,t,r){function n(e,t){return function(){return e.apply(t,arguments)}}function i(e,t,r){var o,c,l,f,d=e&i.G,h=e&i.P,p=d?s:e&i.S?s[t]:(s[t]||{}).prototype,m=d?a:a[t]||(a[t]={});d&&(r=t);for(o in r)c=!(e&i.F)&&p&&o in p,c&&o in m||(l=c?p[o]:r[o],d&&!u(p[o])?f=r[o]:e&i.B&&c?f=n(l,s):e&i.W&&p[o]==l?!function(e){f=function(t){return this instanceof e?new e(t):e(t)},f.prototype=e.prototype}(l):f=h&&u(l)?n(Function.call,l):l,m[o]=f,h&&((m.prototype||(m.prototype={}))[o]=l))}var o=e("./$"),s=o.g,a=o.core,u=o.isFunction;i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,t.exports=i},{"./$":36}],29:[function(e,t,r){var n=e("./$");t.exports=function(e){var t=n.getKeys(e),r=n.getDesc,i=n.getSymbols;return i&&n.each.call(i(e),function(n){r(e,n).enumerable&&t.push(n)}),t}},{"./$":36}],30:[function(e,t,r){var n=e("./$.ctx"),i=e("./$.iter").get,o=e("./$.iter-call");t.exports=function(e,t,r,s){for(var a,u=i(e),c=n(r,s,t?2:1);!(a=u.next()).done;)if(o(u,c,a.value,t)===!1)return o.close(u)}},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(e,t,r){t.exports=function(e){return e.FW=!1,e.path=e.core,e}},{}],32:[function(e,t,r){function n(e){try{return s(e)}catch(e){return a.slice()}}var i=e("./$"),o={}.toString,s=i.getNames,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.get=function(e){return a&&"[object Window]"==o.call(e)?n(e):s(i.toObject(e))}},{"./$":36}],33:[function(e,t,r){function n(e){var t=e.return;void 0!==t&&o(t.call(e))}function i(e,t,r,i){try{return i?t(o(r)[0],r[1]):t(r)}catch(t){throw n(e),t}}var o=e("./$.assert").obj;i.close=n,t.exports=i},{"./$.assert":21}],34:[function(e,t,r){var n=e("./$.def"),i=e("./$.redef"),o=e("./$"),s=e("./$.cof"),a=e("./$.iter"),u=e("./$.wks")("iterator"),c="@@iterator",l="keys",f="values",d=a.Iterators;t.exports=function(e,t,r,h,p,m,v){function g(e){function t(t){return new r(t,e)}switch(e){case l:return function(){return t(this)};case f:return function(){return t(this)}}return function(){return t(this)}}a.create(r,t,h);var b,y,w=t+" Iterator",$=e.prototype,_=$[u]||$[c]||p&&$[p],x=_||g(p);if(_){var j=o.getProto(x.call(new e));s.set(j,w,!0),o.FW&&o.has($,c)&&a.set(j,o.that)}if((o.FW||v)&&a.set($,x),d[t]=x,d[w]=o.that,p)if(b={keys:m?x:g(l),values:p==f?x:g(f),entries:p!=f?x:g("entries")},v)for(y in b)y in $||i($,y,b[y]);else n(n.P+n.F*a.BUGGY,t,b)}},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(e,t,r){"use strict";function n(e,t){i.hide(e,c,t),l in[]&&i.hide(e,l,t)}var i=e("./$"),o=e("./$.cof"),s=o.classof,a=e("./$.assert"),u=a.obj,c=e("./$.wks")("iterator"),l="@@iterator",f=e("./$.shared")("iterators"),d={};n(d,i.that),t.exports={BUGGY:"keys"in[]&&!("next"in[].keys()),Iterators:f,step:function(e,t){return{value:t,done:!!e}},is:function(e){var t=Object(e),r=i.g.Symbol;return(r&&r.iterator||l)in t||c in t||i.has(f,s(t))},get:function(e){var t,r=i.g.Symbol;return void 0!=e&&(t=e[r&&r.iterator||l]||e[c]||f[s(e)]),a(i.isFunction(t),e," is not iterable!"),u(t.call(e))},set:n,create:function(e,t,r,n){e.prototype=i.create(n||d,{next:i.desc(1,r)}),o.set(e,t+" Iterator")}}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(e,t,r){"use strict";function n(e){return isNaN(e=+e)?0:(e>0?m:p)(e)}function i(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function o(e,t,r){return e[t]=r,e}function s(e){return b?function(t,r,n){return w.setDesc(t,r,i(e,n))}:o}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},d=Object.defineProperty,h={}.hasOwnProperty,p=Math.ceil,m=Math.floor,v=Math.max,g=Math.min,b=!!function(){try{return 2==d({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),w=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?g(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?v(e+t,0):g(e,t)},has:function(e,t){return h.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:b,desc:i,getDesc:Object.getOwnPropertyDescriptor,setDesc:d,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return w.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?o:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":31}],37:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":38}],38:[function(e,t,r){t.exports=e("./$").hide},{"./$":36}],39:[function(e,t,r){var n=e("./$"),i="__core-js_shared__",o=n.g[i]||(n.g[i]={});t.exports=function(e){return o[e]||(o[e]={})}},{"./$":36}],40:[function(e,t,r){var n=e("./$"),i=e("./$.wks")("species");t.exports=function(e){!n.DESC||i in e||n.setDesc(e,i,{configurable:!0,get:n.that})}},{"./$":36,"./$.wks":44}],41:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var i,o,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(i=s.charCodeAt(a),55296>i||i>56319||a+1===u||(o=s.charCodeAt(a+1))<56320||o>57343?e?s.charAt(a):i:e?s.slice(a,a+2):(i-55296<<10)+(o-56320)+65536)}}},{"./$":36}],42:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+Math.random()).toString(36))}var i=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":36}],43:[function(e,t,r){t.exports=function(){}},{}],44:[function(e,t,r){var n=e("./$").g,i=e("./$.shared")("wks");t.exports=function(t){return i[t]||(i[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(e,t,r){var n=e("./$"),i=e("./$.unscope"),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,o,{o:n.toObject(e),i:0,k:t})},function(){var e=this[o],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,i("keys"),i("values"),i("entries")},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":26,"./$.collection-strong":24}],47:[function(e,t,r){var n=e("./$.def");n(n.S,"Object",{assign:e("./$.assign")})},{"./$.assign":22,"./$.def":28}],48:[function(e,t,r){var n=e("./$"),i=e("./$.def"),o=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return o(e)?a(e):e}:1==r?function(e){return o(e)?a(e):e}:2==r?function(e){return o(e)?a(e):e}:3==r?function(e){return o(e)?a(e):!0}:4==r?function(e){return o(e)?a(e):!0}:5==r?function(e){return o(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}i(i.S+i.F*u,"Object",c)})},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(e,t,r){"use strict";var n=e("./$.cof"),i={};i[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(i)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(e,t,r){var n=e("./$").set,i=e("./$.string-at")(!0),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,o,{o:String(e),i:0})},function(){var e,t=this[o],r=t.o,n=t.i;return n>=r.length?a(1):(e=i(r,n),t.i+=e.length,a(0,e))})},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":25}],52:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),i=e("./$.iter").Iterators,o=e("./$.wks")("iterator"),s=i.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||o in c||n.hide(c,o,s),!u||o in l||n.hide(l,o,s)),i.NodeList=i.HTMLCollection=s},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];r.apply(this,o)}else if(s(r)){for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,o)}return!0},n.prototype.addListener=function(e,t){var r;if(!i(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],o=r.length,n=-1,r===t||i(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=o;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],i(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?i(e._events[t])?1:e._events[t].length:0}},{}],54:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return d.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=p,e.template=function(t){return p.template(t,e)},e}var i=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var o=e("./handlebars/base"),s=i(o),a=e("./handlebars/safe-string"),u=i(a),c=e("./handlebars/exception"),l=i(c),f=e("./handlebars/utils"),d=i(f),h=e("./handlebars/runtime"),p=i(h),m=e("./handlebars/no-conflict"),v=i(m),g=n();g.create=n,v.default(g),g.default=g,r.default=g,t.exports=r.default},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,i=r.fn;if(t===!0)return i(this);if(t===!1||null==t)return n(this);if(p(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=o(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return i(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,i=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(c=o(t.data)),e&&"object"==typeof e)if(p(e))for(var d=e.length;d>s;s++)r(s,s,s===e.length-1);else{var h=void 0;for(var v in e)e.hasOwnProperty(v)&&(h&&r(h,s-1),h=v,s++);h&&r(h,s-1,!0)}return 0===s&&(a=i(this)),a}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=o(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=o;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var d=6;r.COMPILER_REVISION=d;var h={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=h;var p=u.isArray,m=u.isFunction,v=u.toString,g="[object Object]";n.prototype={constructor:n,logger:b,log:y,registerHelper:function(e,t){if(v.call(e)===g){if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(v.call(e)===g)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var b={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&b.level<=e){var r=b.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=b; -var y=b.log;r.log=y},{"./exception":56,"./utils":60}],56:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,o=void 0,s=void 0;r&&(o=r.start.line,s=r.start.column,e+=" - "+o+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=m.REVISION_CHANGES[r],i=m.REVISION_CHANGES[t];throw new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}throw new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function i(e,t){function r(r,n,i){i.hash&&(n=d.extend({},n,i.hash)),r=t.VM.resolvePartial.call(this,r,n,i);var o=t.VM.invokePartial.call(this,r,n,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(r,e.compilerOptions,t),o=i.partials[i.name](n,i)),null!=o){if(i.indent){for(var s=o.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=i.indent+s[a];o=s.join("\n")}return o}throw new p.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],o=r.data;n._setup(r),!r.partial&&e.useData&&(o=c(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,a,s)}if(!t)throw new p.default("No environment passed to template");if(!e||!e.main)throw new p.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new p.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,i){var s=this.programs[e],a=this.fn(e);return t||i||n||r?s=o(this,e,a,t,r,n,i):s||(s=this.programs[e]=o(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=d.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials):(i.helpers=i.merge(r.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new p.default("must pass block params");if(e.useDepths&&!s)throw new p.default("must pass parent depths");return o(i,t,e[t],r,0,n,s)},n}function o(e,t,r,n,i,o,s){function a(t){var i=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,i.data||n,o&&[i.blockParams].concat(o),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=i||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new p.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=i,r.wrapProgram=o,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),d=l(f),h=e("./exception"),p=l(h),m=e("./base")},{"./base":55,"./exception":56,"./utils":60}],59:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],60:[function(e,t,r){"use strict";function n(e){return l[e]}function i(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return d.test(e)?e.replace(f,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=i,r.indexOf=o,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,d=/[&<>"'`]/,h=Object.prototype.toString;r.toString=h;var p=function(e){return"function"==typeof e};p(/x/)&&(r.isFunction=p=function(e){return"function"==typeof e&&"[object Function]"===h.call(e)});var p;r.isFunction=p;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===h.call(e):!1};r.isArray=m},{}],61:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":54}]},{},[2]); +!function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s=this.pages.size&&(t=this.pages.size-1),this.drawPage(t)}},{key:"drawPreviousPage",value:function(){var e=this.options.doublePage?2:1,t=this.currentPageIndex-e;0>t&&(t=0),this.drawPage(t)}}]),t}(c);t.exports=h},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/core-js/object/assign":8,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,events:53}],2:[function(e,t,r){"use strict";var n=window.ComicBook=e("./comic-book"),i=window.comic=new n(["https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg"]);i.preload(),i.render(),document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(i.el)},!1)},{"./comic-book":1}],3:[function(e,t,r){"use strict";function n(){return window.innerWidth}var i=e("babel-runtime/helpers/get").default,o=e("babel-runtime/helpers/inherits").default,s=e("babel-runtime/helpers/create-class").default,a=e("babel-runtime/helpers/class-call-check").default,u=e("babel-runtime/core-js/object/assign").default,c=e("events").EventEmitter,l=function(e){function t(e){a(this,t),i(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),this.options=u({zoomMode:"fitWidth",rtl:!1,doublePage:!1},e),this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d")}return o(t,e),s(t,[{key:"drawImage",value:function(e,t){if(this.emit("draw:start"),!(e instanceof window.Image)||this.options.doublePage&&!(t instanceof window.Image))throw new Error("Invalid image");var r=void 0,i=0,o=0,s=e.width,a=e.height,u=this.options.doublePage,c=void 0,l=void 0,f=void 0,d=void 0;this.canvas.width=0,this.canvas.height=0;var h=t&&(e.width>e.height||t.width>t.height)&&u;switch(h&&(u=!1),u&&(s+="object"==typeof t?t.width:s),this.options.zoomMode){case"manual":document.body.style.overflowX="auto",r=u?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",r=n()>s?(n()-s)/n()+1:n()/s,this.scale=r;break;case"fitWindow":document.body.style.overflowX="hidden";var p=n()>s?(n()-s)/n()+1:n()/s,m=window.innerHeight,v=m>a?(m-a)/m+1:m/a;r=p>v?v:p,this.scale=r}if(c=e.width*r,l=e.height*r,f="manual"===this.options.zoomMode?e.width*this.scale:c,d="manual"===this.options.zoomMode?e.height*this.scale:l,l=d,this.canvas.width=c= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":61}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":19}],11:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;rs;)for(var a,u=n.ES5Object(arguments[s++]),c=i(u),l=c.length,f=0;l>f;)r[a=c[f++]]=u[a];return r}},{"./$":36,"./$.enum-keys":29}],23:[function(e,t,r){function n(e){return s.call(e).slice(8,-1)}var i=e("./$"),o=e("./$.wks")("toStringTag"),s={}.toString;n.classof=function(e){var t,r;return void 0==e?void 0===e?"Undefined":"Null":"string"==typeof(r=(t=Object(e))[o])?r:n(t)},n.set=function(e,t,r){e&&!i.has(e=r?e:e.prototype,o)&&i.hide(e,o,t)},t.exports=n},{"./$":36,"./$.wks":44}],24:[function(e,t,r){"use strict";function n(e,t){if(!h(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!f(e,v)){if(!m(e))return"F";if(!t)return"E";p(e,v,++x)}return"O"+e[v]}function i(e,t){var r,i=n(t);if("F"!==i)return e[g][i];for(r=e[y];r;r=r.n)if(r.k==t)return r}var o=e("./$"),s=e("./$.ctx"),a=e("./$.uid").safe,u=e("./$.assert"),c=e("./$.for-of"),l=e("./$.iter").step,f=o.has,d=o.set,h=o.isObject,p=o.hide,m=Object.isExtensible||h,v=a("id"),g=a("O1"),b=a("last"),y=a("first"),w=a("iter"),$=o.DESC?a("size"):"size",x=0;t.exports={getConstructor:function(t,r,n,a){var l=t(function(e,t){u.inst(e,l,r),d(e,g,o.create(null)),d(e,$,0),d(e,b,void 0),d(e,y,void 0),void 0!=t&&c(t,n,e[a],e)});return e("./$.mix")(l.prototype,{clear:function(){for(var e=this,t=e[g],r=e[y];r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete t[r.i];e[y]=e[b]=void 0,e[$]=0},delete:function(e){var t=this,r=i(t,e);if(r){var n=r.n,o=r.p;delete t[g][r.i],r.r=!0,o&&(o.n=n),n&&(n.p=o),t[y]==r&&(t[y]=n),t[b]==r&&(t[b]=o),t[$]--}return!!r},forEach:function(e){for(var t,r=s(e,arguments[1],3);t=t?t.n:this[y];)for(r(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!i(this,e)}}),o.DESC&&o.setDesc(l.prototype,"size",{get:function(){return u.def(this[$])}}),l},def:function(e,t,r){var o,s,a=i(e,t);return a?a.v=r:(e[b]=a={i:s=n(t,!0),k:t,v:r,p:o=e[b],n:void 0,r:!1},e[y]||(e[y]=a),o&&(o.n=a),e[$]++,"F"!==s&&(e[g][s]=a)),e},getEntry:i,setIter:function(t,r,n){e("./$.iter-define")(t,r,function(e,t){d(this,w,{o:e,k:t})},function(){for(var e=this[w],t=e.k,r=e.l;r&&r.r;)r=r.p;return e.o&&(e.l=r=r?r.n:e.o[y])?"keys"==t?l(0,r.k):"values"==t?l(0,r.v):l(0,[r.k,r.v]):(e.o=void 0,l(1))},n?"entries":"values",!n,!0)}}},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(e,t,r){var n=e("./$.def"),i=e("./$.for-of");t.exports=function(e){n(n.P,e,{toJSON:function(){var e=[];return i(this,!1,e.push,e),e}})}},{"./$.def":28,"./$.for-of":30}],26:[function(e,t,r){"use strict";var n=e("./$"),i=e("./$.def"),o=e("./$.iter"),s=o.BUGGY,a=e("./$.for-of"),u=e("./$.assert").inst,c=e("./$.uid").safe("internal");t.exports=function(t,r,o,l,f,d){var h=n.g[t],p=h,m=f?"set":"add",v=p&&p.prototype,g={};return n.DESC&&n.isFunction(p)&&(d||!s&&v.forEach&&v.entries)?(p=r(function(e,r){u(e,p,t),e[c]=new h,void 0!=r&&a(r,f,e[m],e)}),n.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(e){var t="add"==e||"set"==e;e in v&&n.hide(p.prototype,e,function(r,n){var i=this[c][e](0===r?0:r,n);return t?this:i})}),"size"in v&&n.setDesc(p.prototype,"size",{get:function(){return this[c].size}})):(p=l.getConstructor(r,t,f,m),e("./$.mix")(p.prototype,o)),e("./$.cof").set(p,t),g[t]=p,i(i.G+i.W+i.F,g),e("./$.species")(p),d||l.setIter(p,t,f),p}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(e,t,r){var n=e("./$.assert").fn;t.exports=function(e,t,r){if(n(e),~r&&void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./$.assert":21}],28:[function(e,t,r){function n(e,t){return function(){return e.apply(t,arguments)}}function i(e,t,r){var o,c,l,f,d=e&i.G,h=e&i.P,p=d?s:e&i.S?s[t]:(s[t]||{}).prototype,m=d?a:a[t]||(a[t]={});d&&(r=t);for(o in r)c=!(e&i.F)&&p&&o in p,c&&o in m||(l=c?p[o]:r[o],d&&!u(p[o])?f=r[o]:e&i.B&&c?f=n(l,s):e&i.W&&p[o]==l?!function(e){f=function(t){return this instanceof e?new e(t):e(t)},f.prototype=e.prototype}(l):f=h&&u(l)?n(Function.call,l):l,m[o]=f,h&&((m.prototype||(m.prototype={}))[o]=l))}var o=e("./$"),s=o.g,a=o.core,u=o.isFunction;i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,t.exports=i},{"./$":36}],29:[function(e,t,r){var n=e("./$");t.exports=function(e){var t=n.getKeys(e),r=n.getDesc,i=n.getSymbols;return i&&n.each.call(i(e),function(n){r(e,n).enumerable&&t.push(n)}),t}},{"./$":36}],30:[function(e,t,r){var n=e("./$.ctx"),i=e("./$.iter").get,o=e("./$.iter-call");t.exports=function(e,t,r,s){for(var a,u=i(e),c=n(r,s,t?2:1);!(a=u.next()).done;)if(o(u,c,a.value,t)===!1)return o.close(u)}},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(e,t,r){t.exports=function(e){return e.FW=!1,e.path=e.core,e}},{}],32:[function(e,t,r){function n(e){try{return s(e)}catch(e){return a.slice()}}var i=e("./$"),o={}.toString,s=i.getNames,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.get=function(e){return a&&"[object Window]"==o.call(e)?n(e):s(i.toObject(e))}},{"./$":36}],33:[function(e,t,r){function n(e){var t=e.return;void 0!==t&&o(t.call(e))}function i(e,t,r,i){try{return i?t(o(r)[0],r[1]):t(r)}catch(t){throw n(e),t}}var o=e("./$.assert").obj;i.close=n,t.exports=i},{"./$.assert":21}],34:[function(e,t,r){var n=e("./$.def"),i=e("./$.redef"),o=e("./$"),s=e("./$.cof"),a=e("./$.iter"),u=e("./$.wks")("iterator"),c="@@iterator",l="keys",f="values",d=a.Iterators;t.exports=function(e,t,r,h,p,m,v){function g(e){function t(t){return new r(t,e)}switch(e){case l:return function(){return t(this)};case f:return function(){return t(this)}}return function(){return t(this)}}a.create(r,t,h);var b,y,w=t+" Iterator",$=e.prototype,x=$[u]||$[c]||p&&$[p],_=x||g(p);if(x){var j=o.getProto(_.call(new e));s.set(j,w,!0),o.FW&&o.has($,c)&&a.set(j,o.that)}if((o.FW||v)&&a.set($,_),d[t]=_,d[w]=o.that,p)if(b={keys:m?_:g(l),values:p==f?_:g(f),entries:p!=f?_:g("entries")},v)for(y in b)y in $||i($,y,b[y]);else n(n.P+n.F*a.BUGGY,t,b)}},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(e,t,r){"use strict";function n(e,t){i.hide(e,c,t),l in[]&&i.hide(e,l,t)}var i=e("./$"),o=e("./$.cof"),s=o.classof,a=e("./$.assert"),u=a.obj,c=e("./$.wks")("iterator"),l="@@iterator",f=e("./$.shared")("iterators"),d={};n(d,i.that),t.exports={BUGGY:"keys"in[]&&!("next"in[].keys()),Iterators:f,step:function(e,t){return{value:t,done:!!e}},is:function(e){var t=Object(e),r=i.g.Symbol;return(r&&r.iterator||l)in t||c in t||i.has(f,s(t))},get:function(e){var t,r=i.g.Symbol;return void 0!=e&&(t=e[r&&r.iterator||l]||e[c]||f[s(e)]),a(i.isFunction(t),e," is not iterable!"),u(t.call(e))},set:n,create:function(e,t,r,n){e.prototype=i.create(n||d,{next:i.desc(1,r)}),o.set(e,t+" Iterator")}}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(e,t,r){"use strict";function n(e){return isNaN(e=+e)?0:(e>0?m:p)(e)}function i(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function o(e,t,r){return e[t]=r,e}function s(e){return b?function(t,r,n){return w.setDesc(t,r,i(e,n))}:o}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},d=Object.defineProperty,h={}.hasOwnProperty,p=Math.ceil,m=Math.floor,v=Math.max,g=Math.min,b=!!function(){try{return 2==d({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),w=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?g(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?v(e+t,0):g(e,t)},has:function(e,t){return h.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:b,desc:i,getDesc:Object.getOwnPropertyDescriptor,setDesc:d,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return w.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?o:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":31}],37:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":38}],38:[function(e,t,r){t.exports=e("./$").hide},{"./$":36}],39:[function(e,t,r){var n=e("./$"),i="__core-js_shared__",o=n.g[i]||(n.g[i]={});t.exports=function(e){return o[e]||(o[e]={})}},{"./$":36}],40:[function(e,t,r){var n=e("./$"),i=e("./$.wks")("species");t.exports=function(e){!n.DESC||i in e||n.setDesc(e,i,{configurable:!0,get:n.that})}},{"./$":36,"./$.wks":44}],41:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var i,o,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(i=s.charCodeAt(a),55296>i||i>56319||a+1===u||(o=s.charCodeAt(a+1))<56320||o>57343?e?s.charAt(a):i:e?s.slice(a,a+2):(i-55296<<10)+(o-56320)+65536)}}},{"./$":36}],42:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+Math.random()).toString(36))}var i=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":36}],43:[function(e,t,r){t.exports=function(){}},{}],44:[function(e,t,r){var n=e("./$").g,i=e("./$.shared")("wks");t.exports=function(t){return i[t]||(i[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(e,t,r){var n=e("./$"),i=e("./$.unscope"),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,o,{o:n.toObject(e),i:0,k:t})},function(){var e=this[o],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,i("keys"),i("values"),i("entries")},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":26,"./$.collection-strong":24}],47:[function(e,t,r){var n=e("./$.def");n(n.S,"Object",{assign:e("./$.assign")})},{"./$.assign":22,"./$.def":28}],48:[function(e,t,r){var n=e("./$"),i=e("./$.def"),o=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return o(e)?a(e):e}:1==r?function(e){return o(e)?a(e):e}:2==r?function(e){return o(e)?a(e):e}:3==r?function(e){return o(e)?a(e):!0}:4==r?function(e){return o(e)?a(e):!0}:5==r?function(e){return o(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}i(i.S+i.F*u,"Object",c)})},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(e,t,r){"use strict";var n=e("./$.cof"),i={};i[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(i)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(e,t,r){var n=e("./$").set,i=e("./$.string-at")(!0),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,o,{o:String(e),i:0})},function(){var e,t=this[o],r=t.o,n=t.i;return n>=r.length?a(1):(e=i(r,n),t.i+=e.length,a(0,e))})},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":25}],52:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),i=e("./$.iter").Iterators,o=e("./$.wks")("iterator"),s=i.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||o in c||n.hide(c,o,s),!u||o in l||n.hide(l,o,s)),i.NodeList=i.HTMLCollection=s},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];r.apply(this,o)}else if(s(r)){for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,o)}return!0},n.prototype.addListener=function(e,t){var r;if(!i(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],o=r.length,n=-1,r===t||i(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=o;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],i(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?i(e._events[t])?1:e._events[t].length:0}},{}],54:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return d.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=p,e.template=function(t){return p.template(t,e)},e}var i=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var o=e("./handlebars/base"),s=i(o),a=e("./handlebars/safe-string"),u=i(a),c=e("./handlebars/exception"),l=i(c),f=e("./handlebars/utils"),d=i(f),h=e("./handlebars/runtime"),p=i(h),m=e("./handlebars/no-conflict"),v=i(m),g=n();g.create=n,v.default(g),g.default=g,r.default=g,t.exports=r.default},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,i=r.fn;if(t===!0)return i(this);if(t===!1||null==t)return n(this);if(p(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=o(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return i(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,i=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(c=o(t.data)),e&&"object"==typeof e)if(p(e))for(var d=e.length;d>s;s++)r(s,s,s===e.length-1);else{var h=void 0;for(var v in e)e.hasOwnProperty(v)&&(h&&r(h,s-1),h=v,s++);h&&r(h,s-1,!0)}return 0===s&&(a=i(this)),a}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=o(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=o;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var d=6;r.COMPILER_REVISION=d;var h={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=h;var p=u.isArray,m=u.isFunction,v=u.toString,g="[object Object]";n.prototype={constructor:n,logger:b,log:y,registerHelper:function(e,t){if(v.call(e)===g){if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]; +},registerPartial:function(e,t){if(v.call(e)===g)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var b={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&b.level<=e){var r=b.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=b;var y=b.log;r.log=y},{"./exception":56,"./utils":60}],56:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,o=void 0,s=void 0;r&&(o=r.start.line,s=r.start.column,e+=" - "+o+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=m.REVISION_CHANGES[r],i=m.REVISION_CHANGES[t];throw new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}throw new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function i(e,t){function r(r,n,i){i.hash&&(n=d.extend({},n,i.hash)),r=t.VM.resolvePartial.call(this,r,n,i);var o=t.VM.invokePartial.call(this,r,n,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(r,e.compilerOptions,t),o=i.partials[i.name](n,i)),null!=o){if(i.indent){for(var s=o.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=i.indent+s[a];o=s.join("\n")}return o}throw new p.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],o=r.data;n._setup(r),!r.partial&&e.useData&&(o=c(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,a,s)}if(!t)throw new p.default("No environment passed to template");if(!e||!e.main)throw new p.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new p.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,i){var s=this.programs[e],a=this.fn(e);return t||i||n||r?s=o(this,e,a,t,r,n,i):s||(s=this.programs[e]=o(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=d.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials):(i.helpers=i.merge(r.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new p.default("must pass block params");if(e.useDepths&&!s)throw new p.default("must pass parent depths");return o(i,t,e[t],r,0,n,s)},n}function o(e,t,r,n,i,o,s){function a(t){var i=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,i.data||n,o&&[i.blockParams].concat(o),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=i||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new p.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=i,r.wrapProgram=o,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),d=l(f),h=e("./exception"),p=l(h),m=e("./base")},{"./base":55,"./exception":56,"./utils":60}],59:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],60:[function(e,t,r){"use strict";function n(e){return l[e]}function i(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return d.test(e)?e.replace(f,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=i,r.indexOf=o,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,d=/[&<>"'`]/,h=Object.prototype.toString;r.toString=h;var p=function(e){return"function"==typeof e};p(/x/)&&(r.isFunction=p=function(e){return"function"==typeof e&&"[object Function]"===h.call(e)});var p;r.isFunction=p;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===h.call(e):!1};r.isArray=m},{}],61:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":54}]},{},[2]); //# sourceMappingURL=dist/comicbook.min.js.map \ No newline at end of file diff --git a/dist/comicbook.min.js.map b/dist/comicbook.min.js.map index 6ec0b8d..44c3a72 100644 --- a/dist/comicbook.min.js.map +++ b/dist/comicbook.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Map","EventEmitter","Canvas","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","arguments","undefined","this","Object","getPrototypeOf","prototype","pages","currentPageIndex","preloadBuffer","canvas","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","drawPage","el","document","createElement","appendChild","_this","emit","forEach","src","pageIndex","setImage","image","index","set","size","window","Image","onload","percentage","Math","floor","update","page","get","drawImage","./view/canvas","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","addEventListener","body","render","preload","./comic-book",3,"windowWidth","innerWidth","_Object$assign","options","zoomMode","readDirection","doublePage","context","getContext","page2","zoomScale","offsetW","offsetH","width","height","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale","manga","tmpPage","tmpPage2","babel-runtime/core-js/object/assign",4,"id","display",5,"template","createElements","innerHTML","firstChild","progressEl","querySelector","./template/progress-bar.handlebars",6,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",7,"default","__esModule","core-js/library/fn/map",8,"core-js/library/fn/object/assign",9,"core-js/library/fn/object/create",10,"core-js/library/fn/object/define-property",11,"core-js/library/fn/object/get-own-property-descriptor",12,"instance","Constructor","TypeError",13,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",14,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","babel-runtime/core-js/object/get-own-property-descriptor",15,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",16,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",17,"assign","../../modules/$","../../modules/es6.object.assign",18,"$","P","D","create",19,"it","setDesc",20,"getDesc","../../modules/es6.object.statics-accept-primitives",21,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",22,"enumKeys","source","T","S","ES5Object","keys","j","./$.enum-keys",23,"cof","toString","slice","TAG","classof","O","tag","stat","has","./$.wks",24,"fastKey","$has","ID","isExtensible","getEntry","that","entry","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",25,"$def","toJSON","arr","push","./$.def",26,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",27,"assertFunction","c","apply",28,"type","own","out","exp","isGlobal","isProto","global","B","param",29,"getKeys","getSymbols",30,"iterator","done","close","./$.iter-call",31,"FW","path",32,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",33,"ret","assertObject",34,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","values","./$.redef",35,"setIterator","is","Symbol","getIter","./$.shared",36,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","self","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","__e","__g","./$.fw",37,38,39,"SHARED","store",40,"SPECIES",41,"TO_STRING","pos","String","charCodeAt","charAt",42,"uid","concat","sid","random",43,44,45,"setUnscope","Array","Arguments","./$.unscope",46,"strong","./$.collection","./$.collection-strong",47,"./$.assign",48,"forced","method","./$.get-names",49,"tmp",50,"$at","point","./$.string-at",51,"./$.collection-to-json",52,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",53,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","args","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",54,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",55,"registerDefaultHelpers","registerHelper","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","priorKey","conditional","hash","includeZero","isEmpty","message","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",56,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",57,"Handlebars","root","$Handlebars","noConflict",58,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",59,"string","toHTML",60,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",61,"./dist/cjs/handlebars.runtime"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file +{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Object$assign","_Map","EventEmitter","Canvas","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","options","undefined","this","Object","getPrototypeOf","prototype","rtl","doublePage","pages","preloadBuffer","currentPageIndex","canvas","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","drawPage","el","document","createElement","appendChild","_this","emit","forEach","src","pageIndex","setImage","image","index","set","size","window","Image","onload","percentage","Math","floor","update","page","get","drawImage","message","increment","./view/canvas","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/core-js/object/assign","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","preload","render","addEventListener","body","./comic-book",3,"windowWidth","innerWidth","zoomMode","context","getContext","page2","zoomScale","offsetW","offsetH","width","height","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale","tmpPage","tmpPage2",4,"id","display",5,"template","createElements","innerHTML","firstChild","progressEl","querySelector","./template/progress-bar.handlebars",6,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",7,"default","__esModule","core-js/library/fn/map",8,"core-js/library/fn/object/assign",9,"core-js/library/fn/object/create",10,"core-js/library/fn/object/define-property",11,"core-js/library/fn/object/get-own-property-descriptor",12,"instance","Constructor","TypeError",13,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",14,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","babel-runtime/core-js/object/get-own-property-descriptor",15,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",16,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",17,"assign","../../modules/$","../../modules/es6.object.assign",18,"$","P","D","create",19,"it","setDesc",20,"getDesc","../../modules/es6.object.statics-accept-primitives",21,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",22,"enumKeys","source","T","arguments","S","ES5Object","keys","j","./$.enum-keys",23,"cof","toString","slice","TAG","classof","O","tag","stat","has","./$.wks",24,"fastKey","$has","ID","isExtensible","getEntry","that","entry","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",25,"$def","toJSON","arr","push","./$.def",26,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",27,"assertFunction","c","apply",28,"type","own","out","exp","isGlobal","isProto","global","B","param",29,"getKeys","getSymbols",30,"iterator","done","close","./$.iter-call",31,"FW","path",32,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",33,"ret","assertObject",34,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","values","./$.redef",35,"setIterator","is","Symbol","getIter","./$.shared",36,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","self","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","__e","__g","./$.fw",37,38,39,"SHARED","store",40,"SPECIES",41,"TO_STRING","pos","String","charCodeAt","charAt",42,"uid","concat","sid","random",43,44,45,"setUnscope","Array","Arguments","./$.unscope",46,"strong","./$.collection","./$.collection-strong",47,"./$.assign",48,"forced","method","./$.get-names",49,"tmp",50,"$at","point","./$.string-at",51,"./$.collection-to-json",52,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",53,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","args","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",54,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",55,"registerDefaultHelpers","registerHelper","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","priorKey","conditional","hash","includeZero","isEmpty","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",56,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",57,"Handlebars","root","$Handlebars","noConflict",58,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",59,"string","toHTML",60,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",61,"./dist/cjs/handlebars.runtime"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file diff --git a/test/comic-book.test.js b/test/comic-book.test.js index 4bc515c..734aefe 100644 --- a/test/comic-book.test.js +++ b/test/comic-book.test.js @@ -95,8 +95,176 @@ describe('ComicBook', () => { done() }) }) + + it('should restart the preload from whatever page is requested') }) - it('should scroll to the top of the page on page turn') + describe('draw', () => { + + describe('drawPage()', () => { + + it('should draw a given page', () => { + let comic = new ComicBook(srcs) + + comic.canvas.drawImage = spy() + + comic.drawPage(1) + + assert.equal(comic.canvas.drawImage.callCount, 1) + assert(comic.canvas.drawImage.calls[0].calledWith(comic.pages.get(1))) + }) + + it('should default to drawing the current page', () => { + let comic = new ComicBook(srcs) + + comic.canvas.drawImage = spy() + comic.currentPageIndex = 2 + + comic.drawPage() + + assert.equal(comic.canvas.drawImage.callCount, 1) + assert(comic.canvas.drawImage.calls[0].calledWith(comic.pages.get(2))) + }) + + it('should update the current page index after drawing', () => { + let comic = new ComicBook(srcs) + + comic.canvas.drawImage = () => {} + comic.currentPageIndex = 1 + + comic.drawPage(2) + + assert.equal(comic.currentPageIndex, 2) + }) + + it('should ignore "Invalid image" exceptions and not draw the page when they occur', () => { + let comic = new ComicBook(srcs) + + comic.currentPageIndex = 1 + + assert.doesNotThrow(comic.drawPage.bind(comic, 666)) + assert.equal(comic.currentPageIndex, 1) + }) + + it('should throw all other exceptions and not draw the page when they occur', () => { + let comic = new ComicBook(srcs) + + comic.canvas.drawImage = () => { throw new Error('Some other exception') } + + assert.throws(comic.drawPage.bind(comic)) + }) + + it('should draw two pages in double page mode') + }) + + describe('drawNextPage()', () => { + + it('should draw the next page', done => { + let comic = new ComicBook(srcs) + + comic.drawPage = spy() + comic.currentPageIndex = 1 + + comic.on('preload:finish', () => { + comic.drawNextPage() + assert(comic.drawPage.calls[0].calledWith(2)) + done() + }) + + comic.preload() + }) + + it('should draw the next page in double page mode', done => { + let comic = new ComicBook(srcs) + + comic.drawPage = spy() + comic.currentPageIndex = 1 + comic.options.doublePage = true + + comic.on('preload:finish', () => { + comic.drawNextPage() + assert(comic.drawPage.calls[0].calledWith(3)) + done() + }) + + comic.preload() + }) + + it('should handle the final page of double page mode being a single page', done => { + let comic = new ComicBook(srcs) + + comic.drawPage = spy() + comic.currentPageIndex = 3 + comic.options.doublePage = true + + comic.on('preload:finish', () => { + comic.drawNextPage() + assert(comic.drawPage.calls[0].calledWith(4)) + done() + }) + + comic.preload() + }) + }) + + describe('drawPreviousPage()', () => { + + it('should draw the previous page', done => { + let comic = new ComicBook(srcs) + + comic.drawPage = spy() + comic.currentPageIndex = 2 + + comic.on('preload:finish', () => { + comic.drawPreviousPage() + assert(comic.drawPage.calls[0].calledWith(1)) + done() + }) + + comic.preload() + }) + + it('should draw the previous page in double page mode', done => { + let comic = new ComicBook(srcs) + + comic.drawPage = spy() + comic.currentPageIndex = 3 + comic.options.doublePage = true + + comic.on('preload:finish', () => { + comic.drawPreviousPage() + assert(comic.drawPage.calls[0].calledWith(1)) + done() + }) + + comic.preload() + }) + + it('should handle navigating back to an uneven first page in double page mode', done => { + let comic = new ComicBook(srcs) + + comic.drawPage = spy() + comic.currentPageIndex = 1 + comic.options.doublePage = true + + comic.on('preload:finish', () => { + comic.drawPreviousPage() + assert(comic.drawPage.calls[0].calledWith(0)) + done() + }) + + comic.preload() + }) + + it('should reverse image order in double page manga mode') + }) + }) + + describe('routing', () => { + + it('should scroll to the top of the page on page turn') + + it('should render a page when the route changes') + }) })