{"version":3,"sources":["webpack:///./node_modules/@algoz098/vue-player/src/components/player.vue?ac50","webpack:///./node_modules/core-js/internals/error-stack-clear.js","webpack:///./node_modules/core-js/internals/is-possible-prototype.js","webpack:///./node_modules/core-js/internals/function-apply.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/core-js/internals/error-stack-install.js","webpack:///./node_modules/@algoz098/vue-player/src/components/controls.vue?01d5","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack:///./node_modules/@algoz098/vue-player/src/components/button.vue?16f3","webpack:///./node_modules/@algoz098/vue-player/src/components/player.vue","webpack:///./node_modules/@algoz098/vue-player/src/components/controls.vue","webpack:///node_modules/@algoz098/vue-player/src/components/controls.vue","webpack:///./node_modules/@algoz098/vue-player/src/components/controls.vue?8325","webpack:///./node_modules/@algoz098/vue-player/src/components/controls.vue?a189","webpack:///./node_modules/@algoz098/vue-player/src/components/button.vue","webpack:///node_modules/@algoz098/vue-player/src/components/button.vue","webpack:///./node_modules/@algoz098/vue-player/src/components/button.vue?d63f","webpack:///./node_modules/@algoz098/vue-player/src/components/button.vue?ab52","webpack:///./node_modules/@algoz098/vue-player/src/components/range.vue","webpack:///node_modules/@algoz098/vue-player/src/components/range.vue","webpack:///./node_modules/@algoz098/vue-player/src/components/range.vue?70b5","webpack:///./node_modules/@algoz098/vue-player/src/components/range.vue?56f1","webpack:///./node_modules/@algoz098/vue-player/src/components/videoPlaceholder.vue","webpack:///./node_modules/intervalometer/dist/intervalometer.es-modules.js","webpack:///./node_modules/iphone-inline-video/dist/iphone-inline-video.es-modules.js","webpack:///node_modules/@algoz098/vue-player/src/components/videoPlaceholder.vue","webpack:///./node_modules/@algoz098/vue-player/src/components/videoPlaceholder.vue?1178","webpack:///./node_modules/@algoz098/vue-player/src/components/videoPlaceholder.vue?cc37","webpack:///node_modules/@algoz098/vue-player/src/components/player.vue","webpack:///./node_modules/@algoz098/vue-player/src/components/player.vue?d529","webpack:///./node_modules/@algoz098/vue-player/src/components/player.vue?e447","webpack:///./node_modules/@algoz098/vue-player/index.js","webpack:///./node_modules/core-js/internals/install-error-cause.js","webpack:///./node_modules/core-js/internals/proxy-accessor.js","webpack:///./src/lib/hash.js","webpack:///./node_modules/core-js/internals/error-stack-installable.js","webpack:///./src/img/left.svg","webpack:///./src/lib/turn.js","webpack:///./node_modules/@algoz098/vue-player/src/components/videoPlaceholder.vue?0d5e","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./src/lib/zoom.js","webpack:///./node_modules/core-js/modules/es.error.cause.js","webpack:///./src/lib/turn.min.js","webpack:///./node_modules/@algoz098/vue-player/src/components/range.vue?2bb9","webpack:///./node_modules/core-js/internals/normalize-string-argument.js","webpack:///./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack:///./src/img/right.svg"],"names":["uncurryThis","$Error","Error","replace","TEST","arg","String","stack","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","test","module","exports","dropEntries","prepareStackTrace","isObject","argument","NATIVE_BIND","FunctionPrototype","Function","prototype","apply","call","Reflect","bind","arguments","isPossiblePrototype","$String","$TypeError","TypeError","classof","createNonEnumerableProperty","clearErrorStack","ERROR_STACK_INSTALLABLE","captureStackTrace","error","C","isCallable","setPrototypeOf","$this","dummy","Wrapper","NewTarget","NewTargetPrototype","constructor","aCallable","object","key","method","Object","getOwnPropertyDescriptor","render","_vm","this","_c","_self","staticClass","class","showSound","on","atMouseenter","atMouseleave","ref","started","attrs","srcComputed","autoplay","playsinline","play","pause","atPlayPause","atTimeupdate","atCanplay","atVolumechange","atEnded","_e","videoPlaceholderSrc","poster","previewOnMouse","mouseover","overlayClass","title","_v","_s","loading","_t","controlsClass","style","controlsStyleComputed","showControlsIf","playButtonClass","playButtonStyle","playingComputed","volumeButtonClass","volumeButtonStyle","atVolume","model","value","volumeComputed","callback","$$v","expression","timerClass","timerStyle","minutesTime","minutesDuration","fullscreenButtonClass","fullscreenButtonStyle","atFullscreen","duration","timeComputed","staticRenderFns","show","theClass","name","props","Boolean","computed","$attrs","component","_g","$listeners","_b","domProps","atInput","width","methods","e","$emit","Number","target","result","loadPercent","ifVideo","directives","rawName","showVideo","src","loadVideo","atProgress","showPoster","intervalometer","cb","request","cancel","requestParameter","requestId","previousLoopTime","loop","now","start","stop","frameIntervalometer","requestAnimationFrame","cancelAnimationFrame","preventEvent","element","eventName","handler","stopImmediatePropagation","addEventListener","proxyProperty","propertyName","sourceObject","copyFirst","get","set","defineProperty","proxyEvent","dispatchEvent","Event","dispatchEventAsync","type","Promise","resolve","then","iOS8or9","document","head","matchMedia","matches","IIV","IIVEvent","IIVPlay","IIVPause","getAudioFromVideo","video","audio","Audio","crossOrigin","currentSrc","lastTimeupdateEvent","lastRequests","requestIndex","setTime","time","rememberOnly","Date","currentTime","isPlayerEnded","player","driver","update","timeDiff","readyState","HAVE_FUTURE_DATA","hasAudio","playbackRate","networkState","NETWORK_IDLE","buffered","length","load","ended","webkitDisplayingFullscreen","paused","updater","HAVE_ENOUGH_DATA","forceEvents","addPlayer","muted","wasEmpty","indexOf","preventWithPropOrFullscreen","el","isAllowed","overloadAPI","enableInlineVideo","opts","everywhere","iPad","ipad","navigator","userAgent","willAutoplay","classList","add","restoreAutoplay","removeEventListener","platform","console","warn","required","default","data","range","bf","$refs","end","loadStartPercentage","loadEndPercentage","components","controls","pButton","videoPlaceholder","undefined","Array","srcIndex","volume","controlsStyle","playing","showControlsInternal","volumeInternal","fullscreenInternal","watch","after","log","fullscreenComputed","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","$el","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","checkPlaying","showControlsComputed","minutes","Math","floor","seconds","padStart","O","options","cause","f","Target","Source","configurable","it","$","hashes","freq","num","pushState","timer","currentUrl","freeze","obj","getHashParts","window","location","href","split","startTimer","setInterval","Hash","check","yes","history","fragment","hash","pathname","path","params","p","parameters","hasOwnProperty","push","encodeURIComponent","join","go","to","listeners","i","parts","regexp","RegExp","exec","yep","nop","fails","createPropertyDescriptor","version","PI","A90","isTouch","mouseEvents","down","move","up","over","out","corners","backward","forward","all","displays","directions","turnOptions","acceleration","display","page","gradients","turnCorners","when","flipOptions","cornerSize","pagesInDOM","turnMethods","init","pageNum","ch","children","extend","height","direction","attr","css","pageObjs","pages","pageWrap","pageZoom","pagePlace","pageMv","zoom","totalPages","eventHandlers","touchStart","_touchStart","touchMove","_touchMove","touchEnd","_touchEnd","_eventStart","has","position","turn","transform","translate","_eventEnd","_eventPressed","_eventReleased","_flip","parent","done","addPage","currentPage","className","incPages","lastPage","destroying","parseInt","turnError","_movePages","addClass","_addPage","_removeFromDOM","_necessPage","overflow","append","appendTo","prop","_pageSize","_makeFlip","remove","hasPage","center","size","left","noCenter","view","tpage","marginLeft","destroy","flipbook","events","trigger","each","index","off","fparent","shadow","removeData","is","newZoom","currentView","iz","newWidth","round","newHeight","marginTop","autoCenter","_updateShadow","top","right","pageWidth","pageHeight","hasClass","odd","single","flip","next","disabled","_setPageLoc","_makeRange","remainingPages","_view","min","max","_removePageFromDOM","dd","flipMethods","_moveFoldingPage","fwrapper","_removeMv","removePage","_fitPage","from","change","that","removeClass","currentDisplay","dir","toLowerCase","animating","corner","disable","resize","splice","_addMv","ignore","animate","force","_missing","missing","newView","_turnPage","current","place","optsCorners","flipData","actualPoint","point","effect","pop","previous","shift","peel","_addMotionPage","actualZoom","isDefaultPrevented","charAt","turned","turnData","mouseAction","getTime","outArea","x","preventDefault","stopPropagation","_eventMove","calculateZ","mv","nextPage","placePage","dpage","total","r","pageZ","partZ","pageV","addView","abs","fixed","pos","actualView","zIndex","pageLocation","view2","divAtt","loc","hover","_addPageWrapper","setData","d","z","_cAllowed","_cornerActivated","y","csz","allowedCorners","_isIArea","offset","originalEvent","touches","pageX","pageY","point2D","_c2","_foldingPage","_backGradient","gradient","bshadow","full","wrapper","fpage","ashadow","sqrt","pow","findPos","cssProperties","prepend","hide","flips","bottom","cursor","_fold","o","leftPos","gradientX","fpageOrigin","parentOrigin","parentCss","relX","angle","half","backgroundColor","opacity","px","gradientEndPointA","gradientEndPointB","gradientStartVal","gradientSize","gradientOpacity","shadowVal","a","alpha","df","tr","folding","ac","tan","h","substr","compute","rel","middle","atan2","gamma","distance","sin","deg","cos","beta","side","sideX","sideY","endingPoint","far","c","mvW","mvH","cssA","cssB","aliasingFk","origin","rotate","_showFoldedPage","visible","status","animatef","frame","v","turning","shadows","bshadowLoc","hideFoldedPage","p1","p4","delta","p2","p3","np","bezier","complete","hiding","turnPage","elevation","moving","isTurning","dec","args","slice","overf","t","b","radians","use3d","degrees","property","p0","colors","numColors","j","cols","dx","dy","angle2","diagonal","gradientDiagonal","slope","inverse","segA","context","event","isPropagationStopped","message","TurnJsError","offsetLeft","offsetTop","offsetParent","fn","properties","diff","len","easing","jQuery","uncurryThisAccessor","requireObjectCoercible","aPossiblePrototype","setter","CORRECT_SETTER","proto","__proto__","zoomOptions","easeFunction","zoomMethods","axis","scrollPos","eventQueue","mouseupEvent","_eMouseUp","eventTouchStart","_eTouchStart","eventTouchMove","_eTouchMove","eventTouchEnd","_eTouchEnd","flipbookEvents","zooming","_eZoom","pressed","_ePressed","released","_eReleased","_eStart","_eTurning","_eTurned","_eDestroying","_tap","_mousedown","draggingCorner","dragging","isPage","_addEvent","secuence","_eventSeq","eventObject","timestamp","list","lastEvent","_prepareZoom","flipPos","invz","flipOffset","thisOffset","flipSize","zoomer","zoomerView","find","pageElement","clone","zoomIn","ev","bound","transitionEnd","scale","compose","maxMove","minMove","realPos","transitionEndCallback","flipPosition","margin","_eMouseDown","_eMouseMove","_eMouseWheel","setTimeout","zoomOut","scaling","flipDesPos","tmp","background","flipRealPos","removeProperty","flipbookWidth","scroll","unlimited","flipWidth","minBound","maxBound","pageObj","draggingCur","cur","motion","deltaX","sign","deltaY","finger","touch","initial","last","speed","func","globalThis","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","FORCED","exportGlobalErrorCauseWrapper","ERROR_NAME","global","arity","forced","exportWebAssemblyErrorCauseWrapper","stat","g","G","q","L","k","U","l","H","I","m","R","n","B","M","N","w","u","W","X","Y","Z","V","D","A","P","J","S","Q","T","F","E","K","toString","$default","getBuiltIn","hasOwn","isPrototypeOf","copyConstructorProperties","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","installErrorStack","DESCRIPTORS","IS_PURE","FULL_NAME","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","OriginalError","OriginalErrorPrototype","BaseError","WrappedError"],"mappings":"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","file":"js/chunk-3ea173b0.6231c454.js","sourcesContent":["export * from \"-!../../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./player.vue?vue&type=style&index=0&id=02d80258&prod&scoped=true&lang=css\"","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","export * from \"-!../../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./controls.vue?vue&type=style&index=0&id=0ef086ed&prod&scoped=true&lang=css\"","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","export * from \"-!../../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./button.vue?vue&type=style&index=0&id=08bf840c&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vue-video-player\",class:{\r\n\t\t'volume-showing': _vm.showSound\r\n\t},on:{\"mouseenter\":_vm.atMouseenter,\"mouseleave\":_vm.atMouseleave}},[_c('video',{ref:\"video\",class:{\r\n\t\t\t'transparent': !_vm.started\r\n\t\t},attrs:{\"src\":_vm.srcComputed,\"controls\":false,\"autoplay\":_vm.autoplay,\"playsinline\":_vm.playsinline},on:{\"play\":_vm.play,\"pause\":_vm.pause,\"click\":_vm.atPlayPause,\"timeupdate\":_vm.atTimeupdate,\"canplay\":_vm.atCanplay,\"volumechange\":_vm.atVolumechange,\"ended\":_vm.atEnded,\"stalled\":_vm.test}}),(!_vm.started)?_c('video-placeholder',{attrs:{\"src\":_vm.videoPlaceholderSrc,\"poster\":_vm.poster,\"preview-on-mouse\":_vm.previewOnMouse,\"mouseover\":_vm.mouseover}}):_vm._e(),(!_vm.started)?_c('div',{class:_vm.overlayClass},[(_vm.title)?_c('div',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('p-button',{staticClass:\"start-button\",on:{\"click\":_vm.atPlayPause}},[_c('i',{staticClass:\"material-icons size-124\"},[_vm._v(\"play_arrow\")])])],1):_vm._e(),(_vm.started && _vm.loading)?_c('i',{staticClass:\"material-icons size-124 spin\"},[_vm._v(\"refresh\")]):_vm._e(),_vm._t(\"controls\",function(){return [_c('controls',{class:_vm.controlsClass,style:(_vm.controlsStyleComputed),attrs:{\"show\":_vm.showControlsIf}},[_c('p-button',{class:_vm.playButtonClass,style:(_vm.playButtonStyle),on:{\"click\":_vm.atPlayPause}},[(!_vm.playingComputed)?_c('i',{staticClass:\"material-icons\"},[_vm._v(\" play_arrow \")]):_c('i',{staticClass:\"material-icons\"},[_vm._v(\" pause \")])]),_c('p-button',{class:_vm.volumeButtonClass,style:(_vm.volumeButtonStyle),on:{\"click\":_vm.atVolume}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\" volume_up \")])]),_c('range',{attrs:{\"max\":1,\"width\":\"60px\",\"show\":_vm.showSound},model:{value:(_vm.volumeComputed),callback:function ($$v) {_vm.volumeComputed=$$v},expression:\"volumeComputed\"}}),_c('p-button',{class:_vm.timerClass,style:(_vm.timerStyle),on:{\"click\":_vm.atVolume}},[_vm._v(\" \"+_vm._s(_vm.minutesTime)+\" / \"+_vm._s(_vm.minutesDuration)+\" \")]),_c('p-button',{class:_vm.fullscreenButtonClass,style:(_vm.fullscreenButtonStyle),on:{\"click\":_vm.atFullscreen}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"fullscreen\")])]),_c('range',{staticClass:\"vue-player-time-control\",attrs:{\"max\":_vm.duration,\"show\":\"\"},model:{value:(_vm.timeComputed),callback:function ($$v) {_vm.timeComputed=$$v},expression:\"timeComputed\"}})],1)]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"smooth\"}},[(_vm.show)?_c('div',{class:_vm.theClass},[_vm._t(\"default\")],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\t\n\t\t\n\t\n\n\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./controls.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./controls.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./controls.vue?vue&type=template&id=0ef086ed&scoped=true\"\nimport script from \"./controls.vue?vue&type=script&lang=js\"\nexport * from \"./controls.vue?vue&type=script&lang=js\"\nimport style0 from \"./controls.vue?vue&type=style&index=0&id=0ef086ed&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ef086ed\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',_vm._g({class:_vm.theClass},_vm.$listeners),[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\t\n\n\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./button.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./button.vue?vue&type=template&id=08bf840c&scoped=true\"\nimport script from \"./button.vue?vue&type=script&lang=js\"\nexport * from \"./button.vue?vue&type=script&lang=js\"\nimport style0 from \"./button.vue?vue&type=style&index=0&id=08bf840c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08bf840c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.show)?_c('input',_vm._b({class:_vm.theClass,style:(_vm.style),attrs:{\"type\":\"range\",\"step\":\"any\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.atInput}},'input',_vm.$attrs,false)):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\n\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./range.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./range.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./range.vue?vue&type=template&id=6fce58a6&scoped=true\"\nimport script from \"./range.vue?vue&type=script&lang=js\"\nexport * from \"./range.vue?vue&type=script&lang=js\"\nimport style0 from \"./range.vue?vue&type=style&index=0&id=6fce58a6&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6fce58a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container\"},[(_vm.loading)?_c('div',{staticClass:\"loading-bar\",style:({width: `${_vm.loadPercent}%`})}):_vm._e(),(_vm.ifVideo)?_c('video',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showVideo),expression:\"showVideo\"}],ref:\"video\",staticClass:\"placeholder\",attrs:{\"src\":_vm.src,\"controls\":false,\"loop\":true,\"autoplay\":\"\",\"muted\":\"\",\"playsinline\":\"\"},domProps:{\"muted\":true},on:{\"loadstart\":_vm.loadVideo,\"progress\":_vm.atProgress}}):_vm._e(),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPoster),expression:\"showPoster\"}],staticClass:\"placeholder\",attrs:{\"src\":_vm.poster}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! npm.im/intervalometer */\nfunction intervalometer(cb, request, cancel, requestParameter) {\n\tvar requestId;\n\tvar previousLoopTime;\n\tfunction loop(now) {\n\t\t// Must be requested before cb() because that might call .stop()\n\t\trequestId = request(loop, requestParameter);\n\n\t\t// Called with \"ms since last call\". 0 on start()\n\t\tcb(now - (previousLoopTime || now));\n\n\t\tpreviousLoopTime = now;\n\t}\n\n\treturn {\n\t\tstart: function start() {\n\t\t\tif (!requestId) { // Prevent double starts\n\t\t\t\tloop(0);\n\t\t\t}\n\t\t},\n\t\tstop: function stop() {\n\t\t\tcancel(requestId);\n\t\t\trequestId = null;\n\t\t\tpreviousLoopTime = 0;\n\t\t}\n\t};\n}\n\nfunction frameIntervalometer(cb) {\n\treturn intervalometer(cb, requestAnimationFrame, cancelAnimationFrame);\n}\n\nfunction timerIntervalometer(cb, delay) {\n\treturn intervalometer(cb, setTimeout, clearTimeout, delay);\n}\n\nexport { intervalometer, frameIntervalometer, timerIntervalometer };","/*! npm.im/iphone-inline-video 2.2.2 */\nimport { frameIntervalometer } from 'intervalometer';\n\nfunction preventEvent(element, eventName, test) {\n\tfunction handler(e) {\n\t\tif (!test || test(element, eventName)) {\n\t\t\te.stopImmediatePropagation();\n\t\t\t// // console.log(eventName, 'prevented on', element);\n\t\t}\n\t}\n\telement.addEventListener(eventName, handler);\n\n\t// Return handler to allow to disable the prevention. Usage:\n\t// const preventionHandler = preventEvent(el, 'click');\n\t// el.removeEventHandler('click', preventionHandler);\n\treturn handler;\n}\n\nfunction proxyProperty(object, propertyName, sourceObject, copyFirst) {\n\tfunction get() {\n\t\treturn sourceObject[propertyName];\n\t}\n\tfunction set(value) {\n\t\tsourceObject[propertyName] = value;\n\t}\n\n\tif (copyFirst) {\n\t\tset(object[propertyName]);\n\t}\n\n\tObject.defineProperty(object, propertyName, {get: get, set: set});\n}\n\nfunction proxyEvent(object, eventName, sourceObject) {\n\tsourceObject.addEventListener(eventName, function () { return object.dispatchEvent(new Event(eventName)); });\n}\n\nfunction dispatchEventAsync(element, type) {\n\tPromise.resolve().then(function () {\n\t\telement.dispatchEvent(new Event(type));\n\t});\n}\n\nvar iOS8or9 = typeof document === 'object' && 'object-fit' in document.head.style && !matchMedia('(-webkit-video-playable-inline)').matches;\n\nvar IIV = 'bfred-it:iphone-inline-video';\nvar IIVEvent = 'bfred-it:iphone-inline-video:event';\nvar IIVPlay = 'bfred-it:iphone-inline-video:nativeplay';\nvar IIVPause = 'bfred-it:iphone-inline-video:nativepause';\n\n/**\n * UTILS\n */\n\nfunction getAudioFromVideo(video) {\n\tvar audio = new Audio();\n\tproxyEvent(video, 'play', audio);\n\tproxyEvent(video, 'playing', audio);\n\tproxyEvent(video, 'pause', audio);\n\taudio.crossOrigin = video.crossOrigin;\n\n\t// 'data:' causes audio.networkState > 0\n\t// which then allows to keep in a resumable playing state\n\t// i.e. once you set a real src it will keep playing if it was if .play() was called\n\taudio.src = video.src || video.currentSrc || 'data:';\n\n\t// // if (audio.src === 'data:') {\n\t// TODO: wait for video to be selected\n\t// // }\n\treturn audio;\n}\n\nvar lastRequests = [];\nvar requestIndex = 0;\nvar lastTimeupdateEvent;\n\nfunction setTime(video, time, rememberOnly) {\n\t// Allow one timeupdate event every 200+ ms\n\tif ((lastTimeupdateEvent || 0) + 200 < Date.now()) {\n\t\tvideo[IIVEvent] = true;\n\t\tlastTimeupdateEvent = Date.now();\n\t}\n\tif (!rememberOnly) {\n\t\tvideo.currentTime = time;\n\t}\n\tlastRequests[++requestIndex % 3] = time * 100 | 0 / 100;\n}\n\nfunction isPlayerEnded(player) {\n\treturn player.driver.currentTime >= player.video.duration;\n}\n\nfunction update(timeDiff) {\n\tvar player = this;\n\t// // console.log('update', player.video.readyState, player.video.networkState, player.driver.readyState, player.driver.networkState, player.driver.paused);\n\tif (player.video.readyState >= player.video.HAVE_FUTURE_DATA) {\n\t\tif (!player.hasAudio) {\n\t\t\tplayer.driver.currentTime = player.video.currentTime + ((timeDiff * player.video.playbackRate) / 1000);\n\t\t\tif (player.video.loop && isPlayerEnded(player)) {\n\t\t\t\tplayer.driver.currentTime = 0;\n\t\t\t}\n\t\t}\n\t\tsetTime(player.video, player.driver.currentTime);\n\t} else if (player.video.networkState === player.video.NETWORK_IDLE && player.video.buffered.length === 0) {\n\t\t// This should happen when the source is available but:\n\t\t// - it's potentially playing (.paused === false)\n\t\t// - it's not ready to play\n\t\t// - it's not loading\n\t\t// If it hasAudio, that will be loaded in the 'emptied' handler below\n\t\tplayer.video.load();\n\t\t// // console.log('Will load');\n\t}\n\n\t// // console.assert(player.video.currentTime === player.driver.currentTime, 'Video not updating!');\n\n\tif (player.video.ended) {\n\t\tdelete player.video[IIVEvent]; // Allow timeupdate event\n\t\tplayer.video.pause(true);\n\t}\n}\n\n/**\n * METHODS\n */\n\nfunction play() {\n\t// // console.log('play');\n\tvar video = this;\n\tvar player = video[IIV];\n\n\t// If it's fullscreen, use the native player\n\tif (video.webkitDisplayingFullscreen) {\n\t\tvideo[IIVPlay]();\n\t\treturn;\n\t}\n\n\tif (player.driver.src !== 'data:' && player.driver.src !== video.src) {\n\t\t// // console.log('src changed on play', video.src);\n\t\tsetTime(video, 0, true);\n\t\tplayer.driver.src = video.src;\n\t}\n\n\tif (!video.paused) {\n\t\treturn;\n\t}\n\tplayer.paused = false;\n\n\tif (video.buffered.length === 0) {\n\t\t// .load() causes the emptied event\n\t\t// the alternative is .play()+.pause() but that triggers play/pause events, even worse\n\t\t// possibly the alternative is preventing this event only once\n\t\tvideo.load();\n\t}\n\n\tplayer.driver.play();\n\tplayer.updater.start();\n\n\tif (!player.hasAudio) {\n\t\tdispatchEventAsync(video, 'play');\n\t\tif (player.video.readyState >= player.video.HAVE_ENOUGH_DATA) {\n\t\t\t// // console.log('onplay');\n\t\t\tdispatchEventAsync(video, 'playing');\n\t\t}\n\t}\n}\nfunction pause(forceEvents) {\n\t// // console.log('pause');\n\tvar video = this;\n\tvar player = video[IIV];\n\n\tplayer.driver.pause();\n\tplayer.updater.stop();\n\n\t// If it's fullscreen, the developer the native player.pause()\n\t// This is at the end of pause() because it also\n\t// needs to make sure that the simulation is paused\n\tif (video.webkitDisplayingFullscreen) {\n\t\tvideo[IIVPause]();\n\t}\n\n\tif (player.paused && !forceEvents) {\n\t\treturn;\n\t}\n\n\tplayer.paused = true;\n\tif (!player.hasAudio) {\n\t\tdispatchEventAsync(video, 'pause');\n\t}\n\n\t// Handle the 'ended' event only if it's not fullscreen\n\tif (video.ended && !video.webkitDisplayingFullscreen) {\n\t\tvideo[IIVEvent] = true;\n\t\tdispatchEventAsync(video, 'ended');\n\t}\n}\n\n/**\n * SETUP\n */\n\nfunction addPlayer(video, hasAudio) {\n\tvar player = {};\n\tvideo[IIV] = player;\n\tplayer.paused = true; // Track whether 'pause' events have been fired\n\tplayer.hasAudio = hasAudio;\n\tplayer.video = video;\n\tplayer.updater = frameIntervalometer(update.bind(player));\n\n\tif (hasAudio) {\n\t\tplayer.driver = getAudioFromVideo(video);\n\t} else {\n\t\tvideo.addEventListener('canplay', function () {\n\t\t\tif (!video.paused) {\n\t\t\t\t// // console.log('oncanplay');\n\t\t\t\tdispatchEventAsync(video, 'playing');\n\t\t\t}\n\t\t});\n\t\tplayer.driver = {\n\t\t\tsrc: video.src || video.currentSrc || 'data:',\n\t\t\tmuted: true,\n\t\t\tpaused: true,\n\t\t\tpause: function () {\n\t\t\t\tplayer.driver.paused = true;\n\t\t\t},\n\t\t\tplay: function () {\n\t\t\t\tplayer.driver.paused = false;\n\t\t\t\t// Media automatically goes to 0 if .play() is called when it's done\n\t\t\t\tif (isPlayerEnded(player)) {\n\t\t\t\t\tsetTime(video, 0);\n\t\t\t\t}\n\t\t\t},\n\t\t\tget ended() {\n\t\t\t\treturn isPlayerEnded(player);\n\t\t\t}\n\t\t};\n\t}\n\n\t// .load() causes the emptied event\n\tvideo.addEventListener('emptied', function () {\n\t\t// // console.log('driver src is', player.driver.src);\n\t\tvar wasEmpty = !player.driver.src || player.driver.src === 'data:';\n\t\tif (player.driver.src && player.driver.src !== video.src) {\n\t\t\t// // console.log('src changed to', video.src);\n\t\t\tsetTime(video, 0, true);\n\t\t\tplayer.driver.src = video.src;\n\t\t\t// Playing videos will only keep playing if no src was present when .play()’ed\n\t\t\tif (wasEmpty || (!hasAudio && video.autoplay)) {\n\t\t\t\tplayer.driver.play();\n\t\t\t} else {\n\t\t\t\tplayer.updater.stop();\n\t\t\t}\n\t\t}\n\t}, false);\n\n\t// Stop programmatic player when OS takes over\n\tvideo.addEventListener('webkitbeginfullscreen', function () {\n\t\tif (!video.paused) {\n\t\t\t// Make sure that the and the syncer/updater are stopped\n\t\t\tvideo.pause();\n\n\t\t\t// Play video natively\n\t\t\tvideo[IIVPlay]();\n\t\t} else if (hasAudio && player.driver.buffered.length === 0) {\n\t\t\t// If the first play is native,\n\t\t\t// the needs to be buffered manually\n\t\t\t// so when the fullscreen ends, it can be set to the same current time\n\t\t\tplayer.driver.load();\n\t\t}\n\t});\n\tif (hasAudio) {\n\t\tvideo.addEventListener('webkitendfullscreen', function () {\n\t\t\t// Sync audio to new video position\n\t\t\tplayer.driver.currentTime = video.currentTime;\n\t\t\t// // console.assert(player.driver.currentTime === video.currentTime, 'Audio not synced');\n\t\t});\n\n\t\t// Allow seeking\n\t\tvideo.addEventListener('seeking', function () {\n\t\t\tif (lastRequests.indexOf(video.currentTime * 100 | 0 / 100) < 0) {\n\t\t\t\t// // console.log('User-requested seeking');\n\t\t\t\tplayer.driver.currentTime = video.currentTime;\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction preventWithPropOrFullscreen(el) {\n\tvar isAllowed = el[IIVEvent];\n\tdelete el[IIVEvent];\n\treturn !el.webkitDisplayingFullscreen && !isAllowed;\n}\n\nfunction overloadAPI(video) {\n\tvar player = video[IIV];\n\tvideo[IIVPlay] = video.play;\n\tvideo[IIVPause] = video.pause;\n\tvideo.play = play;\n\tvideo.pause = pause;\n\tproxyProperty(video, 'paused', player.driver);\n\tproxyProperty(video, 'muted', player.driver, true);\n\tproxyProperty(video, 'playbackRate', player.driver, true);\n\tproxyProperty(video, 'ended', player.driver);\n\tproxyProperty(video, 'loop', player.driver, true);\n\n\t// IIV works by seeking 60 times per second.\n\t// These events are now useless.\n\tpreventEvent(video, 'seeking', function (el) { return !el.webkitDisplayingFullscreen; });\n\tpreventEvent(video, 'seeked', function (el) { return !el.webkitDisplayingFullscreen; });\n\n\t// Limit timeupdate events\n\tpreventEvent(video, 'timeupdate', preventWithPropOrFullscreen);\n\n\t// Prevent occasional native ended events\n\tpreventEvent(video, 'ended', preventWithPropOrFullscreen);\n}\n\nfunction enableInlineVideo(video, opts) {\n\tif ( opts === void 0 ) opts = {};\n\n\t// Stop if already enabled\n\tif (video[IIV]) {\n\t\treturn;\n\t}\n\n\t// Allow the user to skip detection\n\tif (!opts.everywhere) {\n\t\t// Only iOS8 and 9 are supported\n\t\tif (!iOS8or9) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Stop if it's not an allowed device\n\t\tif (!(opts.iPad || opts.ipad ? /iPhone|iPod|iPad/ : /iPhone|iPod/).test(navigator.userAgent)) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Try to pause\n\tvideo.pause();\n\n\t// Prevent autoplay.\n\t// An non-started autoplaying video can't be .pause()'d\n\tvar willAutoplay = video.autoplay;\n\tvideo.autoplay = false;\n\n\taddPlayer(video, !video.muted);\n\toverloadAPI(video);\n\tvideo.classList.add('IIV');\n\n\t// Autoplay\n\tif (video.muted && willAutoplay) {\n\t\tvideo.play();\n\t\tvideo.addEventListener('playing', function restoreAutoplay() {\n\t\t\tvideo.autoplay = true;\n\t\t\tvideo.removeEventListener('playing', restoreAutoplay);\n\t\t});\n\t}\n\n\tif (!/iPhone|iPod|iPad/.test(navigator.platform)) {\n\t\tconsole.warn('iphone-inline-video is not guaranteed to work in emulated environments');\n\t}\n}\n\nexport default enableInlineVideo;\n","\n\n\t\n\n\t\n\n\t\n\n\n\n\n\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./videoPlaceholder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./videoPlaceholder.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./videoPlaceholder.vue?vue&type=template&id=c2302c54&scoped=true\"\nimport script from \"./videoPlaceholder.vue?vue&type=script&lang=js\"\nexport * from \"./videoPlaceholder.vue?vue&type=script&lang=js\"\nimport style0 from \"./videoPlaceholder.vue?vue&type=style&index=0&id=c2302c54&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c2302c54\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\t\r\n\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\t{{title}}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\tplay_arrow\r\n\t\t\r\n\r\n\t\r\n\r\n\t\r\n\trefresh\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tplay_arrow\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\tpause\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tvolume_up\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{{minutesTime}} / {{minutesDuration}}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\tfullscreen\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./player.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./player.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./player.vue?vue&type=template&id=02d80258&scoped=true\"\nimport script from \"./player.vue?vue&type=script&lang=js\"\nexport * from \"./player.vue?vue&type=script&lang=js\"\nimport style0 from \"./player.vue?vue&type=style&index=0&id=02d80258&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"02d80258\",\n null\n \n)\n\nexport default component.exports","import player from './src/components/player.vue'\r\n\r\nexport default player","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","/**\r\n * hash.js\r\n *\r\n * Copyright (C) 2012 Emmanuel Garcia\r\n * MIT Licensed\r\n *\r\n * ****************************************\r\n *\r\n * Hash.pushState(true);\r\n *\r\n * Hash.on('/page/([0-9]+)$',\r\n *\t{yep: function(path, parts) { }, nop: function() { }},\r\n *\t'Page $1');\r\n *\r\n * Hash.go('/page/1');\r\n **/\r\n\r\n(function($) {\r\n\r\n 'use strict';\r\n\r\n var hashes = {},\r\n regexp = {},\r\n history = [],\r\n freq = 100,\r\n num = 0,\r\n pushState = false,\r\n timer = null,\r\n currentUrl = null,\r\n\r\n freeze = function(obj) {\r\n if (Object.freeze) return Object.freeze(obj);\r\n return obj;\r\n },\r\n\r\n getHashParts = function() {\r\n return window.location.href.split('#');\r\n },\r\n\r\n startTimer = function() {\r\n\r\n if (!timer)\r\n timer = setInterval(function() {\r\n if (num > 0 && currentUrl != window.location.href) {\r\n currentUrl = window.location.href;\r\n window.Hash.check();\r\n }\r\n }, freq);\r\n\r\n },\r\n\r\n stopTimer = function() {\r\n\r\n if (timer) {\r\n clearInterval(timer);\r\n timer = null;\r\n }\r\n\r\n };\r\n\r\n window.Hash = freeze({\r\n\r\n pushState: function(yes) {\r\n\r\n if (window.history && window.history.pushState)\r\n pushState = yes;\r\n\r\n return this;\r\n },\r\n\r\n fragment: function() {\r\n\r\n var hash = getHashParts();\r\n return (pushState) ?\r\n window.location.pathname + ((hash[1]) ? '#' + hash[1] : '') :\r\n hash[1] || '';\r\n\r\n },\r\n\r\n get: function(path, params) {\r\n\r\n var p, fragment = '',\r\n parameters = [];\r\n\r\n for (p in params) {\r\n if (!Object.prototype.hasOwnProperty(p))\r\n continue;\r\n parameters.push(encodeURIComponent(p) + '=' + encodeURIComponent(params[p]));\r\n }\r\n\r\n if (parameters.length > 0)\r\n parameters = '?' + parameters.join('&');\r\n\r\n return (pushState) ? path + parameters :\r\n getHashParts()[0] + '#' + path + parameters;\r\n\r\n },\r\n\r\n go: function(hash, params) {\r\n\r\n if (this.fragment() != hash) {\r\n var to = this.get(hash, params);\r\n\r\n if (pushState)\r\n window.history.pushState(null, document.title, to);\r\n else\r\n window.location.href = to;\r\n }\r\n\r\n return this;\r\n },\r\n\r\n update: function() {\r\n\r\n currentUrl = window.location.href;\r\n return this;\r\n\r\n },\r\n\r\n on: function(hash, callback, title) {\r\n\r\n if (!hashes[hash])\r\n hashes[hash] = { title: title, listeners: [] };\r\n\r\n hashes[hash].listeners.push(callback);\r\n num++;\r\n startTimer();\r\n\r\n return this;\r\n },\r\n\r\n check: function() {\r\n\r\n var i,\r\n hash,\r\n parts,\r\n fragment = this.fragment();\r\n\r\n\r\n for (hash in hashes) {\r\n if (!Object.prototype.hasOwnProperty.call(hashes, hash))\r\n continue;\r\n\r\n hashes[hash].regexp = hashes[hash].regexp || new RegExp(hash);\r\n\r\n if ((parts = hashes[hash].regexp.exec(fragment))) {\r\n if (hashes[hash].title)\r\n document.title = hashes[hash].title;\r\n\r\n for (i = 0; i < hashes[hash].listeners.length; i++)\r\n if (hashes[hash].listeners[i].yep)\r\n hashes[hash].listeners[i].yep(fragment, parts);\r\n } else {\r\n for (i = 0; i < hashes[hash].listeners.length; i++)\r\n if (hashes[hash].listeners[i].nop)\r\n hashes[hash].listeners[i].nop(fragment);\r\n }\r\n\r\n }\r\n\r\n return this;\r\n }\r\n });\r\n\r\n})(jQuery);","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = new Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","module.exports = __webpack_public_path__ + \"img/left.f65d7d8a.svg\";","/**\r\n * turn.js 4th release\r\n * turnjs.com\r\n * turnjs.com/license.txt\r\n *\r\n * Copyright (C) 2012 Emmanuel Garcia - 2019 Raffaele Morganti\r\n * All rights reserved\r\n **/\r\n\r\n(function($) {\r\n\r\n 'use strict';\r\n\r\n var version = '4.1.1',\r\n\r\n PI = Math.PI,\r\n\r\n A90 = PI / 2,\r\n\r\n isTouch = 'ontouchstart' in window,\r\n\r\n mouseEvents = (isTouch) ? {\r\n down: 'touchstart',\r\n move: 'touchmove',\r\n up: 'touchend',\r\n over: 'touchstart',\r\n out: 'touchend'\r\n } : {\r\n down: 'mousedown',\r\n move: 'mousemove',\r\n up: 'mouseup',\r\n over: 'mouseover',\r\n out: 'mouseout'\r\n },\r\n\r\n // Contansts used for each corner\r\n // | tl * tr |\r\n // l | * * | r\r\n // | bl * br |\r\n\r\n corners = {\r\n backward: ['bl', 'tl'],\r\n forward: ['br', 'tr'],\r\n all: ['tl', 'bl', 'tr', 'br', 'l', 'r']\r\n },\r\n\r\n // Display values\r\n\r\n displays = ['single', 'double'],\r\n\r\n // Direction values\r\n\r\n directions = ['ltr', 'rtl'],\r\n\r\n // Default options\r\n\r\n turnOptions = {\r\n\r\n // Enables hardware acceleration\r\n\r\n acceleration: true,\r\n\r\n // Display\r\n\r\n display: 'double',\r\n\r\n // Duration of transition in milliseconds\r\n\r\n duration: 600,\r\n\r\n // First page\r\n\r\n page: 1,\r\n\r\n // Enables gradients\r\n\r\n gradients: true,\r\n\r\n // Corners used when turning the page\r\n\r\n turnCorners: 'bl,br',\r\n\r\n // Events\r\n\r\n when: null\r\n },\r\n\r\n flipOptions = {\r\n\r\n // Size of the active zone of each corner\r\n \r\n cornerSize: 30\r\n\r\n },\r\n\r\n // Number of pages in the DOM, minimum value: 6\r\n\r\n pagesInDOM = 6,\r\n\r\n\r\n turnMethods = {\r\n\r\n // Singleton constructor\r\n // $('#selector').turn([options]);\r\n\r\n init: function(options) {\r\n\r\n var i, that = this,\r\n pageNum = 0,\r\n data = this.data(),\r\n ch = this.children();\r\n\r\n\r\n // Set initial configuration\r\n\r\n options = $.extend({\r\n width: this.width(),\r\n height: this.height(),\r\n direction: this.attr('dir') || this.css('direction') || 'ltr'\r\n }, turnOptions, options);\r\n\r\n data.opts = options;\r\n data.pageObjs = {};\r\n data.pages = {};\r\n data.pageWrap = {};\r\n data.pageZoom = {};\r\n data.pagePlace = {};\r\n data.pageMv = [];\r\n data.zoom = 1;\r\n data.totalPages = options.pages || 0;\r\n data.eventHandlers = {\r\n touchStart: turnMethods._touchStart.bind(this),\r\n touchMove: turnMethods._touchMove.bind(this),\r\n touchEnd: turnMethods._touchEnd.bind(this),\r\n start: turnMethods._eventStart.bind(this)\r\n };\r\n\r\n\r\n\r\n // Add event listeners\r\n\r\n if (options.when)\r\n for (i in options.when)\r\n if (has(i, options.when))\r\n this.on(i, options.when[i]);\r\n\r\n // Set the css\r\n\r\n this.css({ position: 'relative', width: options.width, height: options.height });\r\n\r\n // Set the initial display\r\n\r\n this.turn('display', options.display);\r\n\r\n // Set the direction\r\n\r\n if (options.direction !== '')\r\n this.turn('direction', options.direction);\r\n\r\n // Prevent blue screen problems of switching to hardware acceleration mode\r\n // By forcing hardware acceleration for ever\r\n\r\n if (!isTouch && options.acceleration)\r\n this.transform(translate(0, 0, true));\r\n\r\n // Add pages from the DOM\r\n\r\n for (i = 0; i < ch.length; i++) {\r\n if ($(ch[i]).attr('ignore') != '1') {\r\n this.turn('addPage', ch[i], ++pageNum);\r\n }\r\n }\r\n\r\n // Event listeners\r\n\r\n $(this).on(mouseEvents.down, data.eventHandlers.touchStart).\r\n on('end', turnMethods._eventEnd).\r\n on('pressed', turnMethods._eventPressed).\r\n on('released', turnMethods._eventReleased).\r\n on('flip', turnMethods._flip);\r\n\r\n $(this).parent().on('start', data.eventHandlers.start);\r\n\r\n $(document).on(mouseEvents.move, data.eventHandlers.touchMove).\r\n on(mouseEvents.up, data.eventHandlers.touchEnd);\r\n\r\n // Set the initial page\r\n\r\n this.turn('page', options.page);\r\n\r\n // This flipbook is ready\r\n\r\n data.done = true;\r\n\r\n return this;\r\n },\r\n\r\n // Adds a page from external data\r\n\r\n addPage: function(element, page) {\r\n\r\n var currentPage,\r\n className,\r\n incPages = false,\r\n data = this.data(),\r\n lastPage = data.totalPages + 1;\r\n\r\n if (data.destroying)\r\n return false;\r\n\r\n // Read the page number from the className of `element` - format: p[0-9]+\r\n\r\n if ((currentPage = /\\bp([0-9]+)\\b/.exec($(element).attr('class'))))\r\n page = parseInt(currentPage[1], 10);\r\n\r\n if (page) {\r\n\r\n if (page == lastPage)\r\n incPages = true;\r\n else if (page > lastPage)\r\n throw turnError('Page \"' + page + '\" cannot be inserted');\r\n\r\n } else {\r\n\r\n page = lastPage;\r\n incPages = true;\r\n\r\n }\r\n\r\n if (page >= 1 && page <= lastPage) {\r\n\r\n if (data.display == 'double')\r\n className = (page % 2) ? ' odd' : ' even';\r\n else\r\n className = '';\r\n\r\n // Stop animations\r\n if (data.done)\r\n this.turn('stop');\r\n\r\n // Move pages if it's necessary\r\n if (page in data.pageObjs)\r\n turnMethods._movePages.call(this, page, 1);\r\n\r\n // Increase the number of pages\r\n if (incPages)\r\n data.totalPages = lastPage;\r\n\r\n // Add element\r\n data.pageObjs[page] = $(element).\r\n css({ 'float': 'left' }).\r\n addClass('page p' + page + className);\r\n\r\n // Add page\r\n turnMethods._addPage.call(this, page);\r\n\r\n // Remove pages out of range\r\n turnMethods._removeFromDOM.call(this);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n // Adds a page\r\n\r\n _addPage: function(page) {\r\n\r\n var data = this.data(),\r\n element = data.pageObjs[page];\r\n\r\n if (element)\r\n if (turnMethods._necessPage.call(this, page)) {\r\n\r\n if (!data.pageWrap[page]) {\r\n\r\n // Wrapper\r\n data.pageWrap[page] = $('', {\r\n 'class': 'page-wrapper',\r\n page: page,\r\n css: {\r\n position: 'absolute',\r\n overflow: 'hidden'\r\n }\r\n });\r\n\r\n // Append to this flipbook\r\n this.append(data.pageWrap[page]);\r\n\r\n if (!data.pagePlace[page]) {\r\n\r\n data.pagePlace[page] = page;\r\n // Move `pageObjs[page]` to wrapper\r\n data.pageObjs[page].appendTo(data.pageWrap[page]);\r\n\r\n }\r\n\r\n // Set the size of the page\r\n var prop = turnMethods._pageSize.call(this, page, true);\r\n element.css({ width: prop.width, height: prop.height });\r\n data.pageWrap[page].css(prop);\r\n\r\n }\r\n\r\n if (data.pagePlace[page] == page) {\r\n\r\n // If the page isn't in another place, create the flip effect\r\n turnMethods._makeFlip.call(this, page);\r\n\r\n }\r\n\r\n } else {\r\n\r\n // Place\r\n data.pagePlace[page] = 0;\r\n\r\n // Remove element from the DOM\r\n if (data.pageObjs[page])\r\n data.pageObjs[page].remove();\r\n\r\n }\r\n\r\n },\r\n\r\n // Checks if a page is in memory\r\n\r\n hasPage: function(page) {\r\n\r\n return has(page, this.data().pageObjs);\r\n\r\n },\r\n\r\n // Centers the flipbook\r\n\r\n center: function(page) {\r\n\r\n var data = this.data(),\r\n size = $(this).turn('size'),\r\n left = 0;\r\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n if (!data.noCenter) {\r\n if (data.display == 'double') {\r\n var view = this.turn('view', page || data.tpage || data.page);\r\n\r\n if (data.direction == 'ltr') {\r\n if (!view[0])\r\n left -= (size.width + 4) / 4;\r\n else if (!view[1])\r\n left += (size.width + 4) / 4;\r\n } else {\r\n if (!view[0])\r\n left += (size.width + 4) / 4;\r\n else if (!view[1])\r\n left -= (size.width + 4) / 4;\r\n }\r\n\r\n }\r\n\r\n $(this).css({ marginLeft: left - 18 });\r\n }\r\n\r\n return this;\r\n\r\n },\r\n\r\n // Destroys the flipbook\r\n\r\n destroy: function() {\r\n\r\n var page,\r\n flipbook = this,\r\n data = this.data(),\r\n events = [\r\n 'end', 'first', 'flip', 'last', 'pressed',\r\n 'released', 'start', 'turning', 'turned',\r\n 'zooming', 'missing'\r\n ];\r\n\r\n if (trigger('destroying', this) == 'prevented')\r\n return;\r\n\r\n data.destroying = true;\r\n\r\n $.each(events, function(index, eventName) {\r\n flipbook.off(eventName);\r\n });\r\n\r\n this.parent().off('start', data.eventHandlers.start);\r\n\r\n $(document).off(mouseEvents.move, data.eventHandlers.touchMove).\r\n off(mouseEvents.up, data.eventHandlers.touchEnd);\r\n\r\n while (data.totalPages !== 0) {\r\n this.turn('removePage', data.totalPages);\r\n }\r\n\r\n if (data.fparent)\r\n data.fparent.remove();\r\n\r\n if (data.shadow)\r\n data.shadow.remove();\r\n\r\n this.removeData();\r\n data = null;\r\n\r\n return this;\r\n\r\n },\r\n\r\n // Checks if this element is a flipbook\r\n\r\n is: function() {\r\n\r\n return typeof(this.data().pages) == 'object';\r\n\r\n },\r\n\r\n // Sets and gets the zoom value\r\n\r\n zoom: function(newZoom) {\r\n\r\n var data = this.data();\r\n\r\n if (typeof(newZoom) == 'number') {\r\n\r\n if (newZoom < 0.001 || newZoom > 100)\r\n throw turnError(newZoom + ' is not a value for zoom');\r\n\r\n if (trigger('zooming', this, [newZoom, data.zoom]) == 'prevented')\r\n return this;\r\n\r\n var size = this.turn('size'),\r\n currentView = this.turn('view'),\r\n iz = 1 / data.zoom,\r\n newWidth = Math.round(size.width * iz * newZoom),\r\n newHeight = Math.round(size.height * iz * newZoom);\r\n\r\n data.zoom = newZoom;\r\n\r\n $(this).turn('stop').\r\n turn('size', newWidth, newHeight);\r\n\r\n $(this).css({ marginTop: size.height * iz / 2 - newHeight / 2 });\r\n\r\n if (data.opts.autoCenter)\r\n this.turn('center');\r\n else\r\n $(this).css({ marginLeft: size.width * iz / 2 - newWidth / 2 });\r\n\r\n turnMethods._updateShadow.call(this);\r\n\r\n for (var i = 0; i < currentView.length; i++) {\r\n if (currentView[i] && data.pageZoom[currentView[i]] != data.zoom) {\r\n\r\n this.trigger('zoomed', [\r\n currentView[i],\r\n currentView,\r\n data.pageZoom[currentView[i]],\r\n data.zoom\r\n ]);\r\n\r\n data.pageZoom[currentView[i]] = data.zoom;\r\n }\r\n }\r\n\r\n return this;\r\n\r\n } else\r\n return data.zoom;\r\n\r\n },\r\n\r\n // Gets the size of a page\r\n\r\n _pageSize: function(page, position) {\r\n\r\n var data = this.data(),\r\n prop = {};\r\n\r\n if (data.display == 'single') {\r\n\r\n prop.width = this.width();\r\n prop.height = this.height();\r\n\r\n if (position) {\r\n prop.top = 0;\r\n prop.left = 0;\r\n prop.right = 'auto';\r\n }\r\n\r\n } else {\r\n\r\n var pageWidth = this.width() / 2,\r\n pageHeight = this.height();\r\n\r\n if (data.pageObjs[page].hasClass('own-size')) {\r\n prop.width = data.pageObjs[page].width();\r\n prop.height = data.pageObjs[page].height();\r\n } else {\r\n prop.width = pageWidth;\r\n prop.height = pageHeight;\r\n }\r\n\r\n if (position) {\r\n var odd = page % 2;\r\n prop.top = (pageHeight - prop.height) / 2;\r\n\r\n if (data.direction == 'ltr') {\r\n\r\n prop[(odd) ? 'right' : 'left'] = pageWidth - prop.width;\r\n prop[(odd) ? 'left' : 'right'] = 'auto';\r\n\r\n } else {\r\n\r\n prop[(odd) ? 'left' : 'right'] = pageWidth - prop.width;\r\n prop[(odd) ? 'right' : 'left'] = 'auto';\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n return prop;\r\n\r\n },\r\n\r\n // Prepares the flip effect for a page\r\n\r\n _makeFlip: function(page) {\r\n\r\n var data = this.data();\r\n\r\n if (!data.pages[page] && data.pagePlace[page] == page) {\r\n\r\n var single = data.display == 'single',\r\n odd = page % 2;\r\n\r\n data.pages[page] = data.pageObjs[page].\r\n css(turnMethods._pageSize.call(this, page)).\r\n flip({\r\n page: page,\r\n next: (odd || single) ? page + 1 : page - 1,\r\n turn: this\r\n }).\r\n flip('disable', data.disabled);\r\n\r\n // Issue about z-index\r\n turnMethods._setPageLoc.call(this, page);\r\n\r\n data.pageZoom[page] = data.zoom;\r\n\r\n }\r\n\r\n return data.pages[page];\r\n },\r\n\r\n // Makes pages within a range\r\n\r\n _makeRange: function() {\r\n\r\n var page, range,\r\n data = this.data();\r\n\r\n if (data.totalPages < 1)\r\n return;\r\n\r\n range = this.turn('range');\r\n\r\n for (page = range[0]; page <= range[1]; page++)\r\n turnMethods._addPage.call(this, page);\r\n\r\n },\r\n\r\n // Returns a range of pages that should be in the DOM\r\n // Example:\r\n // - page in the current view, return true\r\n // * page is in the range, return true\r\n // Otherwise, return false\r\n //\r\n // 1 2-3 4-5 6-7 8-9 10-11 12-13\r\n // ** ** -- ** **\r\n\r\n range: function(page) {\r\n\r\n var remainingPages, left, right, view,\r\n data = this.data();\r\n\r\n page = page || data.tpage || data.page || 1;\r\n view = turnMethods._view.call(this, page);\r\n\r\n if (page < 1 || page > data.totalPages)\r\n throw turnError('\"' + page + '\" is not a valid page');\r\n\r\n\r\n view[1] = view[1] || view[0];\r\n\r\n if (view[0] >= 1 && view[1] <= data.totalPages) {\r\n\r\n remainingPages = Math.floor((pagesInDOM - 2) / 2);\r\n\r\n if (data.totalPages - view[1] > view[0]) {\r\n left = Math.min(view[0] - 1, remainingPages);\r\n right = 2 * remainingPages - left;\r\n } else {\r\n right = Math.min(data.totalPages - view[1], remainingPages);\r\n left = 2 * remainingPages - right;\r\n }\r\n\r\n } else {\r\n left = pagesInDOM - 1;\r\n right = pagesInDOM - 1;\r\n }\r\n\r\n return [Math.max(1, view[0] - left),\r\n Math.min(data.totalPages, view[1] + right)\r\n ];\r\n\r\n },\r\n\r\n // Detects if a page is within the range of `pagesInDOM` from the current view\r\n\r\n _necessPage: function(page) {\r\n\r\n if (page === 0)\r\n return true;\r\n\r\n var range = this.turn('range');\r\n\r\n return this.data().pageObjs[page].hasClass('fixed') ||\r\n (page >= range[0] && page <= range[1]);\r\n\r\n },\r\n\r\n // Releases memory by removing pages from the DOM\r\n\r\n _removeFromDOM: function() {\r\n\r\n var page, data = this.data();\r\n\r\n for (page in data.pageWrap)\r\n if (has(page, data.pageWrap) &&\r\n !turnMethods._necessPage.call(this, page))\r\n turnMethods._removePageFromDOM.call(this, page);\r\n\r\n },\r\n\r\n // Removes a page from DOM and its internal references\r\n\r\n _removePageFromDOM: function(page) {\r\n\r\n var data = this.data();\r\n\r\n if (data.pages[page]) {\r\n var dd = data.pages[page].data();\r\n\r\n flipMethods._moveFoldingPage.call(data.pages[page], false);\r\n\r\n if (dd.f && dd.f.fwrapper)\r\n dd.f.fwrapper.remove();\r\n\r\n data.pages[page].removeData();\r\n data.pages[page].remove();\r\n delete data.pages[page];\r\n }\r\n\r\n if (data.pageObjs[page])\r\n data.pageObjs[page].remove();\r\n\r\n if (data.pageWrap[page]) {\r\n data.pageWrap[page].remove();\r\n delete data.pageWrap[page];\r\n }\r\n\r\n turnMethods._removeMv.call(this, page);\r\n\r\n delete data.pagePlace[page];\r\n delete data.pageZoom[page];\r\n\r\n },\r\n\r\n // Removes a page\r\n\r\n removePage: function(page) {\r\n\r\n var data = this.data();\r\n\r\n // Delete all the pages\r\n if (page == '*') {\r\n\r\n while (data.totalPages !== 0) {\r\n this.turn('removePage', data.totalPages);\r\n }\r\n\r\n } else {\r\n\r\n if (page < 1 || page > data.totalPages)\r\n throw turnError('The page ' + page + ' doesn\\'t exist');\r\n\r\n if (data.pageObjs[page]) {\r\n\r\n // Stop animations\r\n this.turn('stop');\r\n\r\n // Remove `page`\r\n turnMethods._removePageFromDOM.call(this, page);\r\n\r\n delete data.pageObjs[page];\r\n\r\n }\r\n\r\n // Move the pages\r\n turnMethods._movePages.call(this, page, -1);\r\n\r\n // Resize the size of this flipbook\r\n data.totalPages = data.totalPages - 1;\r\n\r\n // Check the current view\r\n\r\n if (data.page > data.totalPages) {\r\n\r\n data.page = null;\r\n turnMethods._fitPage.call(this, data.totalPages);\r\n\r\n } else {\r\n\r\n turnMethods._makeRange.call(this);\r\n this.turn('update');\r\n\r\n }\r\n }\r\n\r\n return this;\r\n\r\n },\r\n\r\n // Moves pages\r\n\r\n _movePages: function(from, change) {\r\n\r\n var page,\r\n that = this,\r\n data = this.data(),\r\n single = data.display == 'single',\r\n move = function(page) {\r\n\r\n var next = page + change,\r\n odd = next % 2,\r\n className = (odd) ? ' odd ' : ' even ';\r\n\r\n if (data.pageObjs[page])\r\n data.pageObjs[next] = data.pageObjs[page].\r\n removeClass('p' + page + ' odd even').\r\n addClass('p' + next + className);\r\n\r\n if (data.pagePlace[page] && data.pageWrap[page]) {\r\n\r\n data.pagePlace[next] = next;\r\n\r\n if (data.pageObjs[next].hasClass('fixed'))\r\n data.pageWrap[next] = data.pageWrap[page].\r\n attr('page', next);\r\n else\r\n data.pageWrap[next] = data.pageWrap[page].\r\n css(turnMethods._pageSize.call(that, next, true)).\r\n attr('page', next);\r\n\r\n if (data.pages[page])\r\n data.pages[next] = data.pages[page].\r\n flip('options', {\r\n page: next,\r\n next: (single || odd) ? next + 1 : next - 1\r\n });\r\n\r\n if (change) {\r\n delete data.pages[page];\r\n delete data.pagePlace[page];\r\n delete data.pageZoom[page];\r\n delete data.pageObjs[page];\r\n delete data.pageWrap[page];\r\n }\r\n\r\n }\r\n\r\n };\r\n\r\n if (change > 0)\r\n for (page = data.totalPages; page >= from; page--)\r\n move(page);\r\n else\r\n for (page = from; page <= data.totalPages; page++)\r\n move(page);\r\n\r\n },\r\n\r\n // Sets or Gets the display mode\r\n\r\n display: function(display) {\r\n\r\n var data = this.data(),\r\n currentDisplay = data.display;\r\n\r\n if (display === undefined) {\r\n\r\n return currentDisplay;\r\n\r\n } else {\r\n\r\n if (displays.indexOf(display) == -1)\r\n throw turnError('\"' + display + '\" is not a value for display');\r\n\r\n switch (display) {\r\n case 'single':\r\n\r\n // Create a temporal page to use as folded page\r\n\r\n if (!data.pageObjs[0]) {\r\n this.turn('stop').\r\n css({ 'overflow': 'hidden' });\r\n\r\n data.pageObjs[0] = $('', { 'class': 'page p-temporal' }).\r\n css({ width: this.width(), height: this.height() }).\r\n appendTo(this);\r\n }\r\n\r\n this.addClass('shadow');\r\n\r\n break;\r\n case 'double':\r\n\r\n // Remove the temporal page\r\n\r\n if (data.pageObjs[0]) {\r\n this.turn('stop').css({ 'overflow': '' });\r\n data.pageObjs[0].remove();\r\n delete data.pageObjs[0];\r\n }\r\n\r\n this.removeClass('shadow');\r\n\r\n break;\r\n }\r\n\r\n\r\n data.display = display;\r\n\r\n if (currentDisplay) {\r\n var size = this.turn('size');\r\n turnMethods._movePages.call(this, 1, 0);\r\n this.turn('size', size.width, size.height).\r\n turn('update');\r\n }\r\n\r\n return this;\r\n\r\n }\r\n\r\n },\r\n\r\n // Gets and sets the direction of the flipbook\r\n\r\n direction: function(dir) {\r\n\r\n var data = this.data();\r\n\r\n if (dir === undefined) {\r\n\r\n return data.direction;\r\n\r\n } else {\r\n\r\n dir = dir.toLowerCase();\r\n\r\n if (directions.indexOf(dir) == -1)\r\n throw turnError('\"' + dir + '\" is not a value for direction');\r\n\r\n if (dir == 'rtl') {\r\n $(this).attr('dir', 'ltr').\r\n css({ direction: 'ltr' });\r\n }\r\n\r\n data.direction = dir;\r\n\r\n if (data.done)\r\n this.turn('size', $(this).width(), $(this).height());\r\n\r\n return this;\r\n }\r\n\r\n },\r\n\r\n // Detects animation\r\n\r\n animating: function() {\r\n\r\n return this.data().pageMv.length > 0;\r\n\r\n },\r\n\r\n // Gets the current activated corner\r\n\r\n corner: function() {\r\n\r\n var corner,\r\n page,\r\n data = this.data();\r\n\r\n for (page in data.pages) {\r\n if (has(page, data.pages))\r\n if ((corner = data.pages[page].flip('corner'))) {\r\n return corner;\r\n }\r\n }\r\n\r\n return false;\r\n },\r\n\r\n // Gets the data stored in the flipbook\r\n\r\n data: function() {\r\n\r\n return this.data();\r\n\r\n },\r\n\r\n // Disables and enables the effect\r\n\r\n disable: function(disable) {\r\n\r\n var page,\r\n data = this.data(),\r\n view = this.turn('view');\r\n\r\n data.disabled = disable === undefined || disable === true;\r\n\r\n for (page in data.pages) {\r\n if (has(page, data.pages))\r\n data.pages[page].flip('disable',\r\n (data.disabled) ? true : view.indexOf(parseInt(page, 10)) == -1);\r\n }\r\n\r\n return this;\r\n\r\n },\r\n\r\n // Disables and enables the effect\r\n\r\n disabled: function(disable) {\r\n\r\n if (disable === undefined) {\r\n return this.data().disabled === true;\r\n } else {\r\n return this.turn('disable', disable);\r\n }\r\n\r\n },\r\n\r\n // Gets and sets the size\r\n\r\n size: function(width, height) {\r\n\r\n\r\n if (width === undefined || height === undefined) {\r\n\r\n return { width: this.width(), height: this.height() };\r\n\r\n } else {\r\n\r\n this.turn('stop');\r\n\r\n var page, prop,\r\n data = this.data(),\r\n pageWidth = (data.display == 'double') ? width / 2 : width;\r\n\r\n this.css({ width: width + 4, height: height });\r\n\r\n if (data.pageObjs[0])\r\n data.pageObjs[0].css({ width: pageWidth, height: height });\r\n\r\n for (page in data.pageWrap) {\r\n if (!has(page, data.pageWrap)) continue;\r\n\r\n prop = turnMethods._pageSize.call(this, page, true);\r\n\r\n data.pageObjs[page].css({ width: prop.width, height: prop.height });\r\n data.pageWrap[page].css(prop);\r\n\r\n if (data.pages[page])\r\n data.pages[page].css({ width: prop.width, height: prop.height });\r\n }\r\n\r\n this.turn('resize');\r\n\r\n\r\n return this;\r\n\r\n }\r\n },\r\n\r\n // Resizes each page\r\n\r\n resize: function() {\r\n\r\n var page, data = this.data();\r\n\r\n if (data.pages[0]) {\r\n data.pageWrap[0].css({ left: -this.width() });\r\n data.pages[0].flip('resize', true);\r\n }\r\n\r\n for (page = 1; page <= data.totalPages; page++)\r\n if (data.pages[page])\r\n data.pages[page].flip('resize', true);\r\n\r\n turnMethods._updateShadow.call(this);\r\n\r\n if (data.opts.autoCenter)\r\n this.turn('center');\r\n\r\n },\r\n\r\n // Removes an animation from the cache\r\n\r\n _removeMv: function(page) {\r\n\r\n var i, data = this.data();\r\n\r\n for (i = 0; i < data.pageMv.length; i++)\r\n if (data.pageMv[i] == page) {\r\n data.pageMv.splice(i, 1);\r\n return true;\r\n }\r\n\r\n return false;\r\n\r\n },\r\n\r\n // Adds an animation to the cache\r\n\r\n _addMv: function(page) {\r\n\r\n var data = this.data();\r\n\r\n turnMethods._removeMv.call(this, page);\r\n data.pageMv.push(page);\r\n\r\n },\r\n\r\n // Gets indexes for a view\r\n\r\n _view: function(page) {\r\n\r\n var data = this.data();\r\n\r\n page = page || data.page;\r\n\r\n if (data.display == 'double')\r\n return (page % 2) ? [page - 1, page] : [page, page + 1];\r\n else\r\n return [page];\r\n\r\n },\r\n\r\n // Gets a view\r\n\r\n view: function(page) {\r\n\r\n var data = this.data(),\r\n view = turnMethods._view.call(this, page);\r\n\r\n if (data.display == 'double')\r\n return [(view[0] > 0) ? view[0] : 0,\r\n (view[1] <= data.totalPages) ? view[1] : 0\r\n ];\r\n else\r\n return [(view[0] > 0 && view[0] <= data.totalPages) ? view[0] : 0];\r\n\r\n },\r\n\r\n // Stops animations\r\n\r\n stop: function(ignore, animate) {\r\n\r\n if (this.turn('animating')) {\r\n\r\n var i, opts, page,\r\n data = this.data();\r\n\r\n if (data.tpage) {\r\n data.page = data.tpage;\r\n delete data['tpage'];\r\n }\r\n\r\n for (i = 0; i < data.pageMv.length; i++) {\r\n\r\n if (!data.pageMv[i] || data.pageMv[i] === ignore)\r\n continue;\r\n\r\n page = data.pages[data.pageMv[i]];\r\n opts = page.data().f.opts;\r\n\r\n page.flip('hideFoldedPage', animate);\r\n\r\n if (!animate)\r\n flipMethods._moveFoldingPage.call(page, false);\r\n\r\n if (opts.force) {\r\n opts.next = (opts.page % 2 === 0) ? opts.page - 1 : opts.page + 1;\r\n delete opts['force'];\r\n }\r\n\r\n }\r\n }\r\n\r\n this.turn('update');\r\n\r\n return this;\r\n },\r\n\r\n // Gets and sets the number of pages\r\n\r\n pages: function(pages) {\r\n\r\n var data = this.data();\r\n\r\n if (pages) {\r\n\r\n if (pages < data.totalPages) {\r\n\r\n for (var page = data.totalPages; page > pages; page--)\r\n this.turn('removePage', page);\r\n\r\n }\r\n\r\n data.totalPages = pages;\r\n turnMethods._fitPage.call(this, data.page);\r\n\r\n return this;\r\n\r\n } else\r\n return data.totalPages;\r\n\r\n },\r\n\r\n // Checks missing pages\r\n\r\n _missing: function(page) {\r\n\r\n var data = this.data();\r\n\r\n if (data.totalPages < 1)\r\n return;\r\n\r\n var p,\r\n range = this.turn('range', page),\r\n missing = [];\r\n\r\n for (p = range[0]; p <= range[1]; p++) {\r\n if (!data.pageObjs[p])\r\n missing.push(p);\r\n }\r\n\r\n if (missing.length > 0)\r\n this.trigger('missing', [missing]);\r\n\r\n },\r\n\r\n // Sets a page without effect\r\n\r\n _fitPage: function(page) {\r\n\r\n var data = this.data(),\r\n newView = this.turn('view', page);\r\n\r\n turnMethods._missing.call(this, page);\r\n\r\n if (!data.pageObjs[page])\r\n return;\r\n\r\n data.page = page;\r\n\r\n this.turn('stop');\r\n\r\n for (var i = 0; i < newView.length; i++) {\r\n\r\n if (newView[i] && data.pageZoom[newView[i]] != data.zoom) {\r\n\r\n this.trigger('zoomed', [\r\n newView[i],\r\n newView,\r\n data.pageZoom[newView[i]],\r\n data.zoom\r\n ]);\r\n\r\n data.pageZoom[newView[i]] = data.zoom;\r\n\r\n }\r\n }\r\n\r\n turnMethods._removeFromDOM.call(this);\r\n turnMethods._makeRange.call(this);\r\n turnMethods._updateShadow.call(this);\r\n this.trigger('turned', [page, newView]);\r\n this.turn('update');\r\n\r\n if (data.opts.autoCenter)\r\n this.turn('center');\r\n\r\n },\r\n\r\n // Turns the page\r\n\r\n _turnPage: function(page) {\r\n\r\n var current,\r\n next,\r\n data = this.data(),\r\n place = data.pagePlace[page],\r\n view = this.turn('view'),\r\n newView = this.turn('view', page);\r\n\r\n\r\n if (data.page != page) {\r\n\r\n var currentPage = data.page;\r\n\r\n if (trigger('turning', this, [page, newView]) == 'prevented') {\r\n\r\n if (currentPage == data.page && data.pageMv.indexOf(place) != -1)\r\n data.pages[place].flip('hideFoldedPage', true);\r\n\r\n return;\r\n\r\n }\r\n\r\n if (newView.indexOf(1) != -1)\r\n this.trigger('first');\r\n if (newView.indexOf(data.totalPages) != -1)\r\n this.trigger('last');\r\n\r\n }\r\n\r\n if (data.display == 'single') {\r\n current = view[0];\r\n next = newView[0];\r\n } else if (view[1] && page > view[1]) {\r\n current = view[1];\r\n next = newView[0];\r\n } else if (view[0] && page < view[0]) {\r\n current = view[0];\r\n next = newView[1];\r\n }\r\n\r\n var optsCorners = data.opts.turnCorners.split(','),\r\n flipData = data.pages[current].data().f,\r\n opts = flipData.opts,\r\n actualPoint = flipData.point;\r\n \r\n\r\n turnMethods._missing.call(this, page);\r\n\r\n if (!data.pageObjs[page])\r\n return;\r\n\r\n this.turn('stop');\r\n\r\n data.page = page;\r\n\r\n turnMethods._makeRange.call(this);\r\n\r\n data.tpage = next;\r\n\r\n if (opts.next != next) {\r\n opts.next = next;\r\n opts.force = true;\r\n }\r\n\r\n this.turn('update');\r\n\r\n flipData.point = actualPoint;\r\n\r\n if (flipData.effect == 'hard')\r\n if (data.direction == 'ltr')\r\n data.pages[current].flip('turnPage',\r\n (page > current) ? 'r' : 'l');\r\n else\r\n data.pages[current].flip('turnPage',\r\n (page > current) ? 'l' : 'r');\r\n else {\r\n if (data.direction == 'ltr')\r\n data.pages[current].flip('turnPage',\r\n optsCorners[(page > current) ? 1 : 0]);\r\n else\r\n data.pages[current].flip('turnPage',\r\n optsCorners[(page > current) ? 0 : 1]);\r\n }\r\n\r\n },\r\n\r\n // Gets and sets a page\r\n\r\n page: function(page) {\r\n\r\n var data = this.data();\r\n\r\n\r\n if (page === undefined) {\r\n return data.page;\r\n\r\n } else {\r\n\r\n if (!data.disabled && !data.destroying) {\r\n\r\n page = parseInt(page, 10);\r\n\r\n if (page > 0 && page <= data.totalPages) {\r\n\r\n if (page != data.page) {\r\n if (!data.done || this.turn('view').indexOf(page) != -1)\r\n turnMethods._fitPage.call(this, page);\r\n else\r\n turnMethods._turnPage.call(this, page);\r\n }\r\n\r\n return this;\r\n\r\n } else {\r\n\r\n throw turnError('The page ' + page + ' does not exist');\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n },\r\n\r\n // Turns to the next view\r\n\r\n next: function() {\r\n\r\n return this.turn('page', Math.min(this.data().totalPages,\r\n turnMethods._view.call(this, this.data().page).pop() + 1));\r\n\r\n },\r\n\r\n // Turns to the previous view\r\n\r\n previous: function() {\r\n\r\n return this.turn('page', Math.max(1,\r\n turnMethods._view.call(this, this.data().page).shift() - 1));\r\n\r\n },\r\n\r\n // Shows a peeling corner\r\n\r\n peel: function(corner, animate) {\r\n\r\n var data = this.data(),\r\n view = this.turn('view');\r\n\r\n animate = (animate === undefined) ? true : animate === true;\r\n\r\n if (corner === false) {\r\n\r\n this.turn('stop', null, animate);\r\n\r\n } else {\r\n\r\n if (data.display == 'single') {\r\n\r\n data.pages[data.page].flip('peel', corner, animate);\r\n\r\n } else {\r\n\r\n var page;\r\n\r\n if (data.direction == 'ltr') {\r\n\r\n page = (corner.indexOf('l') != -1) ? view[0] : view[1];\r\n\r\n } else {\r\n\r\n page = (corner.indexOf('l') != -1) ? view[1] : view[0];\r\n\r\n }\r\n\r\n if (data.pages[page])\r\n data.pages[page].flip('peel', corner, animate);\r\n\r\n }\r\n }\r\n\r\n return this;\r\n\r\n },\r\n\r\n // Adds a motion to the internal list\r\n // This event is called in context of flip\r\n\r\n _addMotionPage: function() {\r\n\r\n var opts = $(this).data().f.opts,\r\n turn = opts.turn,\r\n dd = turn.data();\r\n\r\n turnMethods._addMv.call(turn, opts.page);\r\n\r\n },\r\n\r\n // This event is called in context of flip\r\n\r\n _eventStart: function(e, opts, corner) {\r\n\r\n var data = opts.turn.data(),\r\n actualZoom = data.pageZoom[opts.page];\r\n\r\n if (e.isDefaultPrevented()) {\r\n turnMethods._updateShadow.call(opts.turn);\r\n return;\r\n }\r\n\r\n if (actualZoom && actualZoom != data.zoom) {\r\n\r\n opts.turn.trigger('zoomed', [\r\n opts.page,\r\n opts.turn.turn('view', opts.page),\r\n actualZoom,\r\n data.zoom\r\n ]);\r\n\r\n data.pageZoom[opts.page] = data.zoom;\r\n\r\n }\r\n\r\n if (data.display == 'single' && corner) {\r\n\r\n if ((corner.charAt(1) == 'l' && data.direction == 'ltr') ||\r\n (corner.charAt(1) == 'r' && data.direction == 'rtl')) {\r\n\r\n opts.next = (opts.next < opts.page) ? opts.next : opts.page - 1;\r\n opts.force = true;\r\n\r\n } else {\r\n\r\n opts.next = (opts.next > opts.page) ? opts.next : opts.page + 1;\r\n\r\n }\r\n\r\n }\r\n\r\n turnMethods._addMotionPage.call(e.target);\r\n turnMethods._updateShadow.call(opts.turn);\r\n },\r\n\r\n // This event is called in context of flip\r\n\r\n _eventEnd: function(e, opts, turned) {\r\n\r\n var that = $(e.target),\r\n data = that.data().f,\r\n turn = opts.turn,\r\n dd = turn.data();\r\n\r\n if (turned) {\r\n\r\n var tpage = dd.tpage || dd.page;\r\n\r\n if (tpage == opts.next || tpage == opts.page) {\r\n delete dd.tpage;\r\n\r\n turnMethods._fitPage.call(turn, tpage || opts.next, true);\r\n }\r\n\r\n } else {\r\n\r\n turnMethods._removeMv.call(turn, opts.page);\r\n turnMethods._updateShadow.call(turn);\r\n turn.turn('update');\r\n\r\n }\r\n\r\n },\r\n\r\n // This event is called in context of flip\r\n\r\n _eventPressed: function(e) {\r\n\r\n var page,\r\n data = $(e.target).data().f,\r\n turn = data.opts.turn,\r\n turnData = turn.data(),\r\n pages = turnData.pages;\r\n\r\n turnData.mouseAction = true;\r\n\r\n turn.turn('update');\r\n\r\n return data.time = new Date().getTime();\r\n\r\n },\r\n\r\n // This event is called in context of flip\r\n\r\n _eventReleased: function(e, point) {\r\n\r\n var outArea,\r\n page = $(e.target),\r\n data = page.data().f,\r\n turn = data.opts.turn,\r\n turnData = turn.data();\r\n\r\n if (turnData.display == 'single') {\r\n outArea = (point.corner == 'br' || point.corner == 'tr') ?\r\n point.x < page.width() / 2 :\r\n point.x > page.width() / 2;\r\n } else {\r\n outArea = point.x < 0 || point.x > page.width();\r\n }\r\n\r\n if ((new Date()).getTime() - data.time < 200 || outArea) {\r\n\r\n e.preventDefault();\r\n turnMethods._turnPage.call(turn, data.opts.next);\r\n\r\n }\r\n\r\n turnData.mouseAction = false;\r\n\r\n },\r\n\r\n // This event is called in context of flip\r\n\r\n _flip: function(e) {\r\n\r\n e.stopPropagation();\r\n\r\n var opts = $(e.target).data().f.opts;\r\n\r\n opts.turn.trigger('turn', [opts.next]);\r\n\r\n if (opts.turn.data().opts.autoCenter) {\r\n opts.turn.turn('center', opts.next);\r\n }\r\n\r\n },\r\n\r\n //\r\n _touchStart: function() {\r\n var data = this.data();\r\n for (var page in data.pages) {\r\n if (has(page, data.pages) &&\r\n flipMethods._eventStart.apply(data.pages[page], arguments) === false) {\r\n return false;\r\n }\r\n }\r\n },\r\n\r\n //\r\n _touchMove: function() {\r\n var data = this.data();\r\n for (var page in data.pages) {\r\n if (has(page, data.pages)) {\r\n flipMethods._eventMove.apply(data.pages[page], arguments);\r\n }\r\n }\r\n },\r\n\r\n //\r\n _touchEnd: function() {\r\n var data = this.data();\r\n for (var page in data.pages) {\r\n if (has(page, data.pages)) {\r\n flipMethods._eventEnd.apply(data.pages[page], arguments);\r\n }\r\n }\r\n },\r\n\r\n // Calculate the z-index value for pages during the animation\r\n\r\n calculateZ: function(mv) {\r\n\r\n var i, page, nextPage, placePage, dpage,\r\n that = this,\r\n data = this.data(),\r\n view = this.turn('view'),\r\n currentPage = view[0] || view[1],\r\n total = mv.length - 1,\r\n r = { pageZ: {}, partZ: {}, pageV: {} },\r\n\r\n addView = function(page) {\r\n var view = that.turn('view', page);\r\n if (view[0]) r.pageV[view[0]] = true;\r\n if (view[1]) r.pageV[view[1]] = true;\r\n };\r\n\r\n for (i = 0; i <= total; i++) {\r\n page = mv[i];\r\n nextPage = data.pages[page].data().f.opts.next;\r\n placePage = data.pagePlace[page];\r\n addView(page);\r\n addView(nextPage);\r\n dpage = (data.pagePlace[nextPage] == nextPage) ? nextPage : page;\r\n r.pageZ[dpage] = data.totalPages - Math.abs(currentPage - dpage);\r\n r.partZ[placePage] = data.totalPages * 2 - total + i;\r\n }\r\n\r\n return r;\r\n },\r\n\r\n // Updates the z-index and display property of every page\r\n\r\n update: function() {\r\n\r\n var page,\r\n data = this.data();\r\n\r\n if (this.turn('animating') && data.pageMv[0] !== 0) {\r\n\r\n // Update motion\r\n\r\n var p, apage, fixed,\r\n pos = this.turn('calculateZ', data.pageMv),\r\n corner = this.turn('corner'),\r\n actualView = this.turn('view'),\r\n newView = this.turn('view', data.tpage);\r\n\r\n for (page in data.pageWrap) {\r\n\r\n if (!has(page, data.pageWrap))\r\n continue;\r\n\r\n fixed = data.pageObjs[page].hasClass('fixed');\r\n\r\n data.pageWrap[page].css({\r\n display: (pos.pageV[page] || fixed) ? '' : 'none',\r\n zIndex:\r\n (data.pageObjs[page].hasClass('hard') ?\r\n pos.partZ[page] :\r\n pos.pageZ[page]\r\n ) || (fixed ? -1 : 0)\r\n });\r\n\r\n if ((p = data.pages[page])) {\r\n\r\n p.flip('z', pos.partZ[page] || null);\r\n\r\n if (pos.pageV[page])\r\n p.flip('resize');\r\n\r\n if (data.tpage) { // Is it turning the page to `tpage`?\r\n\r\n p.flip('hover', false).\r\n flip('disable',\r\n data.pageMv.indexOf(parseInt(page, 10)) == -1 &&\r\n page != newView[0] &&\r\n page != newView[1]);\r\n\r\n } else {\r\n\r\n p.flip('hover', corner === false).\r\n flip('disable', page != actualView[0] && page != actualView[1]);\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n } else {\r\n\r\n // Update static pages\r\n\r\n for (page in data.pageWrap) {\r\n\r\n if (!has(page, data.pageWrap))\r\n continue;\r\n\r\n var pageLocation = turnMethods._setPageLoc.call(this, page);\r\n\r\n if (data.pages[page]) {\r\n data.pages[page].\r\n flip('disable', data.disabled || pageLocation != 1).\r\n flip('hover', true).\r\n flip('z', null);\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n },\r\n\r\n // Updates the position and size of the flipbook's shadow\r\n\r\n _updateShadow: function() {\r\n\r\n var view, view2, shadow,\r\n data = this.data(),\r\n width = this.width(),\r\n height = this.height(),\r\n pageWidth = (data.display == 'single') ? width : width / 2;\r\n\r\n view = this.turn('view');\r\n\r\n if (!data.shadow) {\r\n data.shadow = $('', {\r\n 'class': 'shadow',\r\n 'css': divAtt(0, 0, 0).css\r\n }).\r\n appendTo(this);\r\n }\r\n\r\n for (var i = 0; i < data.pageMv.length; i++) {\r\n if (!view[0] || !view[1])\r\n break;\r\n\r\n view = this.turn('view', data.pages[data.pageMv[i]].data().f.opts.next);\r\n view2 = this.turn('view', data.pageMv[i]);\r\n\r\n view[0] = view[0] && view2[0];\r\n view[1] = view[1] && view2[1];\r\n }\r\n\r\n if (!view[0]) shadow = (data.direction == 'ltr') ? 1 : 2;\r\n else if (!view[1]) shadow = (data.direction == 'ltr') ? 2 : 1;\r\n else shadow = 3;\r\n\r\n switch (shadow) {\r\n case 1:\r\n data.shadow.css({\r\n width: pageWidth,\r\n height: height,\r\n top: 0,\r\n left: pageWidth\r\n });\r\n break;\r\n case 2:\r\n data.shadow.css({\r\n width: pageWidth,\r\n height: height,\r\n top: 0,\r\n left: 0\r\n });\r\n break;\r\n case 3:\r\n data.shadow.css({\r\n width: width,\r\n height: height,\r\n top: 0,\r\n left: 0\r\n });\r\n break;\r\n }\r\n\r\n },\r\n\r\n // Sets the z-index and display property of a page\r\n // It depends on the current view\r\n\r\n _setPageLoc: function(page) {\r\n\r\n var data = this.data(),\r\n view = this.turn('view'),\r\n loc = 0;\r\n\r\n\r\n if (page == view[0] || page == view[1])\r\n loc = 1;\r\n else if (\r\n (data.display == 'single' && page == view[0] + 1) ||\r\n (data.display == 'double' && page == view[0] - 2 || page == view[1] + 2)\r\n )\r\n loc = 2;\r\n\r\n if (!this.turn('animating'))\r\n switch (loc) {\r\n case 1:\r\n data.pageWrap[page].css({\r\n zIndex: data.totalPages,\r\n display: ''\r\n });\r\n break;\r\n case 2:\r\n data.pageWrap[page].css({\r\n zIndex: data.totalPages - 1,\r\n display: ''\r\n });\r\n break;\r\n case 0:\r\n data.pageWrap[page].css({\r\n zIndex: 0,\r\n display: (data.pageObjs[page].hasClass('fixed')) ? '' : 'none'\r\n });\r\n break;\r\n }\r\n\r\n return loc;\r\n },\r\n\r\n // Gets and sets the options\r\n\r\n options: function(options) {\r\n\r\n if (options === undefined) {\r\n\r\n return this.data().opts;\r\n\r\n } else {\r\n\r\n var data = this.data();\r\n\r\n // Set new values\r\n\r\n $.extend(data.opts, options);\r\n\r\n // Set pages\r\n\r\n if (options.pages)\r\n this.turn('pages', options.pages);\r\n\r\n // Set page\r\n\r\n if (options.page)\r\n this.turn('page', options.page);\r\n\r\n // Set display\r\n\r\n if (options.display)\r\n this.turn('display', options.display);\r\n\r\n // Set direction\r\n\r\n if (options.direction)\r\n this.turn('direction', options.direction);\r\n\r\n // Set size\r\n\r\n if (options.width && options.height)\r\n this.turn('size', options.width, options.height);\r\n\r\n // Add event listeners\r\n\r\n if (options.when)\r\n for (var eventName in options.when)\r\n if (has(eventName, options.when)) {\r\n this.off(eventName).\r\n on(eventName, options.when[eventName]);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n },\r\n\r\n // Gets the current version\r\n\r\n version: function() {\r\n\r\n return version;\r\n\r\n }\r\n },\r\n\r\n // Methods and properties for the flip page effect\r\n\r\n flipMethods = {\r\n\r\n // Constructor\r\n\r\n init: function(opts) {\r\n\r\n this.data({\r\n f: {\r\n disabled: false,\r\n hover: false,\r\n effect: (this.hasClass('hard')) ? 'hard' : 'sheet'\r\n }\r\n });\r\n\r\n this.flip('options', opts);\r\n\r\n flipMethods._addPageWrapper.call(this);\r\n\r\n return this;\r\n },\r\n\r\n setData: function(d) {\r\n\r\n var data = this.data();\r\n\r\n data.f = $.extend(data.f, d);\r\n\r\n return this;\r\n },\r\n\r\n options: function(opts) {\r\n\r\n var data = this.data().f;\r\n\r\n if (opts) {\r\n flipMethods.setData.call(this, { opts: $.extend({}, data.opts || flipOptions, opts) });\r\n return this;\r\n } else\r\n return data.opts;\r\n\r\n },\r\n\r\n z: function(z) {\r\n\r\n var data = this.data().f;\r\n\r\n data.opts['z-index'] = z;\r\n\r\n if (data.fwrapper)\r\n data.fwrapper.css({\r\n zIndex: z || parseInt(data.parent.css('z-index'), 10) || 0\r\n });\r\n\r\n return this;\r\n },\r\n\r\n _cAllowed: function() {\r\n\r\n var data = this.data().f,\r\n page = data.opts.page,\r\n turnData = data.opts.turn.data(),\r\n odd = page % 2;\r\n\r\n if (data.effect == 'hard') {\r\n\r\n return (turnData.direction == 'ltr') ? [(odd) ? 'r' : 'l'] : [(odd) ? 'l' : 'r'];\r\n\r\n } else {\r\n\r\n if (turnData.display == 'single') {\r\n\r\n if (page == 1)\r\n return (turnData.direction == 'ltr') ?\r\n corners['forward'] : corners['backward'];\r\n else if (page == turnData.totalPages)\r\n return (turnData.direction == 'ltr') ?\r\n corners['backward'] : corners['forward'];\r\n else\r\n return corners['all'];\r\n\r\n } else {\r\n\r\n return (turnData.direction == 'ltr') ?\r\n corners[(odd) ? 'forward' : 'backward'] :\r\n corners[(odd) ? 'backward' : 'forward'];\r\n\r\n }\r\n\r\n }\r\n\r\n },\r\n\r\n _cornerActivated: function(p) {\r\n\r\n var data = this.data().f,\r\n width = this.width(),\r\n height = this.height(),\r\n point = { x: p.x, y: p.y, corner: '' },\r\n csz = data.opts.cornerSize;\r\n\r\n if (point.x <= 0 || point.y <= 0 || point.x >= width || point.y >= height)\r\n return false;\r\n\r\n var allowedCorners = flipMethods._cAllowed.call(this);\r\n\r\n switch (data.effect) {\r\n case 'hard':\r\n\r\n if (point.x > width - csz)\r\n point.corner = 'r';\r\n else if (point.x < csz)\r\n point.corner = 'l';\r\n else\r\n return false;\r\n\r\n break;\r\n\r\n case 'sheet':\r\n\r\n if (point.y < csz)\r\n point.corner += 't';\r\n else if (point.y >= height - csz)\r\n point.corner += 'b';\r\n else\r\n return false;\r\n\r\n if (point.x <= csz)\r\n point.corner += 'l';\r\n else if (point.x >= width - csz)\r\n point.corner += 'r';\r\n else\r\n return false;\r\n\r\n break;\r\n }\r\n\r\n return (!point.corner || allowedCorners.indexOf(point.corner) == -1) ?\r\n false : point;\r\n\r\n },\r\n\r\n _isIArea: function(e) {\r\n\r\n var pos = this.data().f.parent.offset();\r\n\r\n e = (isTouch && e.originalEvent) ? e.originalEvent.touches[0] : e;\r\n\r\n return flipMethods._cornerActivated.call(this, {\r\n x: e.pageX - pos.left,\r\n y: e.pageY - pos.top\r\n });\r\n\r\n },\r\n\r\n _c: function(corner, opts) {\r\n\r\n opts = opts || 0;\r\n\r\n switch (corner) {\r\n case 'tl':\r\n return point2D(opts, opts);\r\n case 'tr':\r\n return point2D(this.width() - opts, opts);\r\n case 'bl':\r\n return point2D(opts, this.height() - opts);\r\n case 'br':\r\n return point2D(this.width() - opts, this.height() - opts);\r\n case 'l':\r\n return point2D(opts, 0);\r\n case 'r':\r\n return point2D(this.width() - opts, 0);\r\n }\r\n\r\n },\r\n\r\n _c2: function(corner) {\r\n\r\n switch (corner) {\r\n case 'tl':\r\n return point2D(this.width() * 2, 0);\r\n case 'tr':\r\n return point2D(-this.width(), 0);\r\n case 'bl':\r\n return point2D(this.width() * 2, this.height());\r\n case 'br':\r\n return point2D(-this.width(), this.height());\r\n case 'l':\r\n return point2D(this.width() * 2, 0);\r\n case 'r':\r\n return point2D(-this.width(), 0);\r\n }\r\n\r\n },\r\n\r\n _foldingPage: function() {\r\n\r\n var data = this.data().f;\r\n\r\n if (!data)\r\n return;\r\n\r\n var opts = data.opts;\r\n\r\n if (opts.turn) {\r\n data = opts.turn.data();\r\n if (data.display == 'single')\r\n return (opts.next > 1 || opts.page > 1) ? data.pageObjs[0] : null;\r\n else\r\n return data.pageObjs[opts.next];\r\n }\r\n\r\n },\r\n\r\n _backGradient: function() {\r\n\r\n var data = this.data().f,\r\n turnData = data.opts.turn.data(),\r\n gradient = turnData.opts.gradients && (turnData.display == 'single' ||\r\n (data.opts.page != 2 && data.opts.page != turnData.totalPages - 1));\r\n\r\n if (gradient && !data.bshadow)\r\n data.bshadow = $('', divAtt(0, 0, 1)).\r\n css({ 'position': '', width: this.width(), height: this.height() }).\r\n appendTo(data.parent);\r\n\r\n return gradient;\r\n\r\n },\r\n\r\n type: function() {\r\n\r\n return this.data().f.effect;\r\n\r\n },\r\n\r\n resize: function(full) {\r\n\r\n var data = this.data().f,\r\n turnData = data.opts.turn.data(),\r\n width = this.width(),\r\n height = this.height();\r\n\r\n switch (data.effect) {\r\n case 'hard':\r\n\r\n if (full) {\r\n data.wrapper.css({ width: width, height: height });\r\n data.fpage.css({ width: width, height: height });\r\n if (turnData.opts.gradients) {\r\n data.ashadow.css({ width: width, height: height });\r\n data.bshadow.css({ width: width, height: height });\r\n }\r\n }\r\n\r\n break;\r\n case 'sheet':\r\n\r\n if (full) {\r\n var size = Math.round(Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)));\r\n\r\n data.wrapper.css({ width: size, height: size });\r\n data.fwrapper.css({ width: size, height: size }).\r\n children(':first-child').\r\n css({ width: width, height: height });\r\n\r\n data.fpage.css({ width: width, height: height });\r\n\r\n if (turnData.opts.gradients)\r\n data.ashadow.css({ width: width, height: height });\r\n\r\n if (flipMethods._backGradient.call(this))\r\n data.bshadow.css({ width: width, height: height });\r\n }\r\n\r\n if (data.parent.is(':visible')) {\r\n var offset = findPos(data.parent[0]);\r\n\r\n data.fwrapper.css({\r\n top: offset.top,\r\n left: offset.left\r\n });\r\n\r\n //if (data.opts.turn) {\r\n offset = findPos(data.opts.turn[0]);\r\n data.fparent.css({ top: -offset.top, left: -offset.left });\r\n //}\r\n }\r\n\r\n this.flip('z', data.opts['z-index']);\r\n\r\n break;\r\n }\r\n\r\n },\r\n\r\n // Prepares the page by adding a general wrapper and another objects\r\n\r\n _addPageWrapper: function() {\r\n\r\n var att,\r\n data = this.data().f,\r\n turnData = data.opts.turn.data(),\r\n parent = this.parent();\r\n\r\n data.parent = parent;\r\n\r\n if (!data.wrapper)\r\n switch (data.effect) {\r\n case 'hard':\r\n\r\n var cssProperties = {};\r\n cssProperties['transform-style'] = 'preserve-3d';\r\n cssProperties['backface-visibility'] = 'hidden';\r\n\r\n data.wrapper = $('', divAtt(0, 0, 2)).\r\n css(cssProperties).\r\n appendTo(parent).\r\n prepend(this);\r\n\r\n data.fpage = $('', divAtt(0, 0, 1)).\r\n css(cssProperties).\r\n appendTo(parent);\r\n\r\n if (turnData.opts.gradients) {\r\n data.ashadow = $('', divAtt(0, 0, 0)).\r\n hide().\r\n appendTo(parent);\r\n\r\n data.bshadow = $('', divAtt(0, 0, 0));\r\n }\r\n\r\n break;\r\n case 'sheet':\r\n\r\n var width = this.width(),\r\n height = this.height(),\r\n size = Math.round(Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)));\r\n\r\n data.fparent = data.opts.turn.data().fparent;\r\n\r\n if (!data.fparent) {\r\n var fparent = $('', { css: { 'pointer-events': 'none' } }).hide();\r\n fparent.data().flips = 0;\r\n fparent.css(divAtt(0, 0, 'auto', 'visible').css).\r\n appendTo(data.opts.turn);\r\n\r\n data.opts.turn.data().fparent = fparent;\r\n data.fparent = fparent;\r\n }\r\n\r\n this.css({ position: 'absolute', top: 0, left: 0, bottom: 'auto', right: 'auto' });\r\n\r\n data.wrapper = $('', divAtt(0, 0, this.css('z-index'))).\r\n appendTo(parent).\r\n prepend(this);\r\n\r\n data.fwrapper = $('', divAtt(parent.offset().top, parent.offset().left)).\r\n hide().\r\n appendTo(data.fparent);\r\n\r\n data.fpage = $('', divAtt(0, 0, 0, 'visible')).\r\n css({ cursor: 'default' }).\r\n appendTo(data.fwrapper);\r\n\r\n if (turnData.opts.gradients)\r\n data.ashadow = $('', divAtt(0, 0, 1)).\r\n appendTo(data.fpage);\r\n\r\n flipMethods.setData.call(this, data);\r\n\r\n break;\r\n }\r\n\r\n // Set size\r\n flipMethods.resize.call(this, true);\r\n\r\n },\r\n\r\n // Takes a 2P point from the screen and applies the transformation\r\n\r\n _fold: function(point) {\r\n\r\n var data = this.data().f,\r\n turnData = data.opts.turn.data(),\r\n o = flipMethods._c.call(this, point.corner),\r\n width = this.width(),\r\n height = this.height();\r\n\r\n switch (data.effect) {\r\n\r\n case 'hard':\r\n\r\n if (point.corner == 'l')\r\n point.x = Math.min(Math.max(point.x, 0), width * 2);\r\n else\r\n point.x = Math.max(Math.min(point.x, width), -width);\r\n\r\n var leftPos,\r\n shadow,\r\n gradientX,\r\n fpageOrigin,\r\n parentOrigin,\r\n totalPages = turnData.totalPages,\r\n zIndex = data.opts['z-index'] || totalPages,\r\n parentCss = { 'overflow': 'visible' },\r\n relX = (o.x) ? (o.x - point.x) / width : point.x / width,\r\n angle = relX * 90,\r\n half = angle < 90;\r\n\r\n switch (point.corner) {\r\n case 'l':\r\n\r\n fpageOrigin = '0% 50%';\r\n parentOrigin = '100% 50%';\r\n\r\n if (half) {\r\n leftPos = 0;\r\n shadow = data.opts.next - 1 > 0;\r\n gradientX = 1;\r\n } else {\r\n leftPos = '100%';\r\n shadow = data.opts.page + 1 < totalPages;\r\n gradientX = 0;\r\n }\r\n\r\n break;\r\n case 'r':\r\n\r\n fpageOrigin = '100% 50%';\r\n parentOrigin = '0% 50%';\r\n angle = -angle;\r\n width = -width;\r\n\r\n if (half) {\r\n leftPos = 0;\r\n shadow = data.opts.next + 1 < totalPages;\r\n gradientX = 0;\r\n } else {\r\n leftPos = '-100%';\r\n shadow = data.opts.page != 1;\r\n gradientX = 1;\r\n }\r\n\r\n break;\r\n }\r\n\r\n parentCss['perspective-origin'] = parentOrigin;\r\n\r\n data.wrapper.transform('rotateY(' + angle + 'deg)' +\r\n 'translate3d(0px, 0px, ' + (this.attr('depth') || 0) + 'px)', parentOrigin);\r\n\r\n data.fpage.transform('translateX(' + width + 'px) rotateY(' + (180 + angle) + 'deg)', fpageOrigin);\r\n\r\n data.parent.css(parentCss);\r\n\r\n if (half) {\r\n relX = -relX + 1;\r\n data.wrapper.css({ zIndex: zIndex + 1 });\r\n data.fpage.css({ zIndex: zIndex });\r\n } else {\r\n relX = relX - 1;\r\n data.wrapper.css({ zIndex: zIndex });\r\n data.fpage.css({ zIndex: zIndex + 1 });\r\n }\r\n\r\n if (turnData.opts.gradients) {\r\n if (shadow)\r\n data.ashadow.css({\r\n display: '',\r\n left: leftPos,\r\n backgroundColor: 'rgba(0,0,0,' + (0.5 * relX) + ')'\r\n }).\r\n transform('rotateY(0deg)');\r\n else\r\n data.ashadow.hide();\r\n\r\n data.bshadow.css({ opacity: -relX + 1 });\r\n\r\n if (half) {\r\n if (data.bshadow.parent()[0] != data.wrapper[0]) {\r\n data.bshadow.appendTo(data.wrapper);\r\n }\r\n } else {\r\n if (data.bshadow.parent()[0] != data.fpage[0]) {\r\n data.bshadow.appendTo(data.fpage);\r\n }\r\n }\r\n /*data.bshadow.css({\r\n backgroundColor: 'rgba(0,0,0,'+(0.1)+')'\r\n })*/\r\n gradient(data.bshadow, point2D(gradientX * 100, 0), point2D((-gradientX + 1) * 100, 0), [\r\n [0, 'rgba(0,0,0,0.3)'],\r\n [1, 'rgba(0,0,0,0)']\r\n ], 2);\r\n\r\n }\r\n\r\n break;\r\n case 'sheet':\r\n\r\n var that = this,\r\n a = 0,\r\n alpha = 0,\r\n beta,\r\n px,\r\n gradientEndPointA,\r\n gradientEndPointB,\r\n gradientStartVal,\r\n gradientSize,\r\n gradientOpacity,\r\n shadowVal,\r\n mv = point2D(0, 0),\r\n df = point2D(0, 0),\r\n tr = point2D(0, 0),\r\n folding = flipMethods._foldingPage.call(this),\r\n tan = Math.tan(alpha),\r\n ac = turnData.opts.acceleration,\r\n h = data.wrapper.height(),\r\n top = point.corner.substr(0, 1) == 't',\r\n left = point.corner.substr(1, 1) == 'l',\r\n\r\n compute = function() {\r\n\r\n var rel = point2D(0, 0);\r\n var middle = point2D(0, 0);\r\n\r\n rel.x = (o.x) ? o.x - point.x : point.x;\r\n rel.y = (o.y) ? o.y - point.y : point.y;\r\n\r\n middle.x = (left) ? width - rel.x / 2 : point.x + rel.x / 2;\r\n middle.y = rel.y / 2;\r\n\r\n var alpha = A90 - Math.atan2(rel.y, rel.x),\r\n gamma = alpha - Math.atan2(middle.y, middle.x),\r\n distance = Math.max(0, Math.sin(gamma) * Math.sqrt(Math.pow(middle.x, 2) + Math.pow(middle.y, 2)));\r\n\r\n a = deg(alpha);\r\n\r\n tr = point2D(distance * Math.sin(alpha), distance * Math.cos(alpha));\r\n\r\n if (alpha > A90) {\r\n tr.x = tr.x + Math.abs(tr.y * rel.y / rel.x);\r\n tr.y = 0;\r\n if (Math.round(tr.x * Math.tan(PI - alpha)) < height) {\r\n point.y = Math.sqrt(Math.pow(height, 2) + 2 * middle.x * rel.x);\r\n if (top) point.y = height - point.y;\r\n return compute();\r\n }\r\n }\r\n\r\n if (alpha > A90) {\r\n var beta = PI - alpha,\r\n dd = h - height / Math.sin(beta);\r\n mv = point2D(Math.round(dd * Math.cos(beta)), Math.round(dd * Math.sin(beta)));\r\n if (left) mv.x = -mv.x;\r\n if (top) mv.y = -mv.y;\r\n }\r\n\r\n px = Math.round(tr.y / Math.tan(alpha) + tr.x);\r\n\r\n var side = width - px,\r\n sideX = side * Math.cos(alpha * 2),\r\n sideY = side * Math.sin(alpha * 2);\r\n df = point2D(\r\n Math.round((left ? side - sideX : px + sideX)),\r\n Math.round((top) ? sideY : height - sideY));\r\n\r\n // Gradients\r\n if (turnData.opts.gradients) {\r\n\r\n gradientSize = side * Math.sin(alpha);\r\n\r\n var endingPoint = flipMethods._c2.call(that, point.corner),\r\n far = Math.sqrt(Math.pow(endingPoint.x - point.x, 2) + Math.pow(endingPoint.y - point.y, 2)) / width;\r\n\r\n shadowVal = Math.sin(A90 * ((far > 1) ? 2 - far : far));\r\n\r\n gradientOpacity = Math.min(far, 1);\r\n\r\n\r\n gradientStartVal = gradientSize > 100 ? (gradientSize - 100) / gradientSize : 0;\r\n\r\n gradientEndPointA = point2D(\r\n gradientSize * Math.sin(alpha) / width * 100,\r\n gradientSize * Math.cos(alpha) / height * 100);\r\n\r\n\r\n if (flipMethods._backGradient.call(that)) {\r\n\r\n gradientEndPointB = point2D(\r\n gradientSize * 1.2 * Math.sin(alpha) / width * 100,\r\n gradientSize * 1.2 * Math.cos(alpha) / height * 100);\r\n\r\n if (!left) gradientEndPointB.x = 100 - gradientEndPointB.x;\r\n if (!top) gradientEndPointB.y = 100 - gradientEndPointB.y;\r\n\r\n }\r\n\r\n }\r\n\r\n tr.x = Math.round(tr.x);\r\n tr.y = Math.round(tr.y);\r\n\r\n return true;\r\n },\r\n\r\n transform = function(tr, c, x, a) {\r\n\r\n var f = ['0', 'auto'],\r\n mvW = (width - h) * x[0] / 100,\r\n mvH = (height - h) * x[1] / 100,\r\n cssA = { left: f[c[0]], top: f[c[1]], right: f[c[2]], bottom: f[c[3]] },\r\n cssB = {},\r\n aliasingFk = (a != 90 && a != -90) ? (left ? -1 : 1) : 0,\r\n origin = x[0] + '% ' + x[1] + '%';\r\n\r\n that.css(cssA).\r\n transform(rotate(a) + translate(tr.x + aliasingFk, tr.y, ac), origin);\r\n\r\n data.fpage.css(cssA).transform(\r\n rotate(a) +\r\n translate(tr.x + df.x - mv.x - width * x[0] / 100, tr.y + df.y - mv.y - height * x[1] / 100, ac) +\r\n rotate((180 / a - 2) * a),\r\n origin);\r\n\r\n data.wrapper.transform(translate(-tr.x + mvW - aliasingFk, -tr.y + mvH, ac) + rotate(-a), origin);\r\n\r\n data.fwrapper.transform(translate(-tr.x + mv.x + mvW, -tr.y + mv.y + mvH, ac) + rotate(-a), origin);\r\n\r\n if (turnData.opts.gradients) {\r\n\r\n if (x[0])\r\n gradientEndPointA.x = 100 - gradientEndPointA.x;\r\n\r\n if (x[1])\r\n gradientEndPointA.y = (100 - gradientEndPointA.y);\r\n\r\n cssB['box-shadow'] = '0 0 20px rgba(0,0,0,' + (0.5 * shadowVal) + ')';\r\n folding.css(cssB);\r\n\r\n gradient(data.ashadow,\r\n point2D(left ? 100 : 0, top ? 0 : 100),\r\n point2D(gradientEndPointA.x, gradientEndPointA.y), [\r\n [gradientStartVal, 'rgba(0,0,0,0)'],\r\n [((1 - gradientStartVal) * 0.8) + gradientStartVal, 'rgba(0,0,0,' + (0.2 * gradientOpacity) + ')'],\r\n [1, 'rgba(255,255,255,' + (0.2 * gradientOpacity) + ')']\r\n ],\r\n 3,\r\n alpha);\r\n\r\n if (flipMethods._backGradient.call(that))\r\n gradient(data.bshadow,\r\n point2D(left ? 0 : 100, top ? 0 : 100),\r\n point2D(gradientEndPointB.x, gradientEndPointB.y), [\r\n [0.6, 'rgba(0,0,0,0)'],\r\n [0.8, 'rgba(0,0,0,' + (0.3 * gradientOpacity) + ')'],\r\n [1, 'rgba(0,0,0,0)']\r\n ],\r\n 3);\r\n }\r\n\r\n };\r\n\r\n switch (point.corner) {\r\n case 'l':\r\n\r\n\r\n break;\r\n case 'r':\r\n\r\n\r\n break;\r\n case 'tl':\r\n point.x = Math.max(point.x, 1);\r\n compute();\r\n transform(tr, [1, 0, 0, 1], [100, 0], a);\r\n break;\r\n case 'tr':\r\n point.x = Math.min(point.x, width - 1);\r\n compute();\r\n transform(point2D(-tr.x, tr.y), [0, 0, 0, 1], [0, 0], -a);\r\n break;\r\n case 'bl':\r\n point.x = Math.max(point.x, 1);\r\n compute();\r\n transform(point2D(tr.x, -tr.y), [1, 1, 0, 0], [100, 100], -a);\r\n break;\r\n case 'br':\r\n point.x = Math.min(point.x, width - 1);\r\n compute();\r\n transform(point2D(-tr.x, -tr.y), [0, 1, 1, 0], [0, 100], a);\r\n break;\r\n }\r\n\r\n break;\r\n }\r\n\r\n data.point = point;\r\n\r\n },\r\n\r\n _moveFoldingPage: function(move) {\r\n\r\n var data = this.data().f;\r\n\r\n if (!data)\r\n return;\r\n\r\n var turn = data.opts.turn,\r\n turnData = turn.data(),\r\n place = turnData.pagePlace;\r\n\r\n if (move) {\r\n\r\n var nextPage = data.opts.next;\r\n\r\n if (place[nextPage] != data.opts.page) {\r\n\r\n if (data.folding)\r\n flipMethods._moveFoldingPage.call(this, false);\r\n\r\n var folding = flipMethods._foldingPage.call(this);\r\n\r\n folding.appendTo(data.fpage);\r\n place[nextPage] = data.opts.page;\r\n data.folding = nextPage;\r\n }\r\n\r\n turn.turn('update');\r\n\r\n } else {\r\n\r\n if (data.folding) {\r\n\r\n if (turnData.pages[data.folding]) {\r\n\r\n // If we have flip available\r\n\r\n var flipData = turnData.pages[data.folding].data().f;\r\n\r\n turnData.pageObjs[data.folding].\r\n appendTo(flipData.wrapper);\r\n\r\n } else if (turnData.pageWrap[data.folding]) {\r\n\r\n // If we have the pageWrapper\r\n\r\n turnData.pageObjs[data.folding].\r\n appendTo(turnData.pageWrap[data.folding]);\r\n\r\n }\r\n\r\n if (data.folding in place) {\r\n place[data.folding] = data.folding;\r\n }\r\n\r\n delete data.folding;\r\n\r\n }\r\n }\r\n },\r\n\r\n _showFoldedPage: function(c, animate) {\r\n\r\n var folding = flipMethods._foldingPage.call(this),\r\n dd = this.data(),\r\n data = dd.f,\r\n visible = data.visible;\r\n\r\n if (folding) {\r\n\r\n if (!visible || !data.point || data.point.corner != c.corner) {\r\n\r\n var corner = (\r\n data.status == 'hover' ||\r\n data.status == 'peel' ||\r\n data.opts.turn.data().mouseAction) ?\r\n c.corner : null;\r\n\r\n visible = false;\r\n\r\n if (trigger('start', this, [data.opts, corner]) == 'prevented')\r\n return false;\r\n\r\n }\r\n\r\n if (animate) {\r\n\r\n var that = this,\r\n point = (data.point && data.point.corner == c.corner) ?\r\n data.point : flipMethods._c.call(this, c.corner, 1);\r\n\r\n this.animatef({\r\n from: [point.x, point.y],\r\n to: [c.x, c.y],\r\n duration: 500,\r\n frame: function(v) {\r\n c.x = Math.round(v[0]);\r\n c.y = Math.round(v[1]);\r\n flipMethods._fold.call(that, c);\r\n }\r\n });\r\n\r\n } else {\r\n\r\n flipMethods._fold.call(this, c);\r\n\r\n if (dd.effect && !dd.effect.turning)\r\n this.animatef(false);\r\n\r\n }\r\n\r\n if (!visible) {\r\n\r\n switch (data.effect) {\r\n case 'hard':\r\n\r\n data.visible = true;\r\n flipMethods._moveFoldingPage.call(this, true);\r\n data.fpage.show();\r\n if (data.opts.shadows)\r\n data.bshadow.show();\r\n\r\n break;\r\n case 'sheet':\r\n\r\n data.visible = true;\r\n data.fparent.show().data().flips++;\r\n flipMethods._moveFoldingPage.call(this, true);\r\n data.fwrapper.show();\r\n if (data.bshadow)\r\n data.bshadow.show();\r\n\r\n break;\r\n }\r\n\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n return false;\r\n },\r\n\r\n hide: function() {\r\n\r\n var data = this.data().f,\r\n turnData = data.opts.turn.data(),\r\n folding = flipMethods._foldingPage.call(this);\r\n\r\n switch (data.effect) {\r\n case 'hard':\r\n\r\n if (turnData.opts.gradients) {\r\n data.bshadowLoc = 0;\r\n data.bshadow.remove();\r\n data.ashadow.hide();\r\n }\r\n\r\n data.wrapper.transform('');\r\n data.fpage.hide();\r\n\r\n break;\r\n case 'sheet':\r\n\r\n if ((--data.fparent.data().flips) === 0)\r\n data.fparent.hide();\r\n\r\n this.css({ left: 0, top: 0, right: 'auto', bottom: 'auto' }).\r\n transform('');\r\n\r\n data.wrapper.transform('');\r\n\r\n data.fwrapper.hide();\r\n\r\n if (data.bshadow)\r\n data.bshadow.hide();\r\n\r\n folding.transform('');\r\n\r\n break;\r\n }\r\n\r\n data.visible = false;\r\n\r\n return this;\r\n },\r\n\r\n hideFoldedPage: function(animate) {\r\n\r\n var data = this.data().f;\r\n\r\n if (!data.point) return;\r\n\r\n var that = this,\r\n p1 = data.point,\r\n hide = function() {\r\n data.point = null;\r\n data.status = '';\r\n that.flip('hide');\r\n that.trigger('end', [data.opts, false]);\r\n };\r\n\r\n if (animate) {\r\n\r\n var p4 = flipMethods._c.call(this, p1.corner),\r\n top = (p1.corner.substr(0, 1) == 't'),\r\n delta = (top) ? Math.min(0, p1.y - p4.y) / 2 : Math.max(0, p1.y - p4.y) / 2,\r\n p2 = point2D(p1.x, p1.y + delta),\r\n p3 = point2D(p4.x, p4.y - delta);\r\n\r\n this.animatef({\r\n from: 0,\r\n to: 1,\r\n frame: function(v) {\r\n var np = bezier(p1, p2, p3, p4, v);\r\n p1.x = np.x;\r\n p1.y = np.y;\r\n flipMethods._fold.call(that, p1);\r\n },\r\n complete: hide,\r\n duration: 800,\r\n hiding: true\r\n });\r\n\r\n } else {\r\n\r\n this.animatef(false);\r\n hide();\r\n\r\n }\r\n },\r\n\r\n turnPage: function(corner) {\r\n\r\n var that = this,\r\n data = this.data().f,\r\n turnData = data.opts.turn.data();\r\n\r\n corner = {\r\n corner: (data.corner) ?\r\n data.corner.corner : corner || flipMethods._cAllowed.call(this)[0]\r\n };\r\n\r\n var p1 = data.point ||\r\n flipMethods._c.call(this,\r\n corner.corner,\r\n (data.opts.turn) ? turnData.opts.elevation : 0),\r\n p4 = flipMethods._c2.call(this, corner.corner);\r\n\r\n this.trigger('flip').\r\n animatef({\r\n from: 0,\r\n to: 1,\r\n frame: function(v) {\r\n\r\n var np = bezier(p1, p1, p4, p4, v);\r\n corner.x = np.x;\r\n corner.y = np.y;\r\n flipMethods._showFoldedPage.call(that, corner);\r\n\r\n },\r\n complete: function() {\r\n\r\n that.trigger('end', [data.opts, true]);\r\n\r\n },\r\n duration: turnData.opts.duration,\r\n turning: true\r\n });\r\n\r\n data.corner = null;\r\n },\r\n\r\n moving: function() {\r\n\r\n return 'effect' in this.data();\r\n\r\n },\r\n\r\n isTurning: function() {\r\n\r\n return this.flip('moving') && this.data().effect.turning;\r\n\r\n },\r\n\r\n corner: function() {\r\n\r\n return this.data().f.corner;\r\n\r\n },\r\n\r\n _eventStart: function(e) {\r\n\r\n var data = this.data().f,\r\n turn = data.opts.turn;\r\n\r\n if (!data.corner && !data.disabled && !this.flip('isTurning') &&\r\n data.opts.page == turn.data().pagePlace[data.opts.page]) {\r\n\r\n data.corner = flipMethods._isIArea.call(this, e);\r\n\r\n if (data.corner && flipMethods._foldingPage.call(this)) {\r\n\r\n this.trigger('pressed', [data.point]);\r\n flipMethods._showFoldedPage.call(this, data.corner);\r\n\r\n return false;\r\n\r\n } else\r\n data.corner = null;\r\n\r\n }\r\n\r\n },\r\n\r\n _eventMove: function(e) {\r\n\r\n var data = this.data().f;\r\n\r\n if (!data.disabled) {\r\n\r\n e = (isTouch) ? e.originalEvent.touches : [e];\r\n\r\n if (data.corner) {\r\n\r\n var pos = data.parent.offset();\r\n data.corner.x = e[0].pageX - pos.left;\r\n data.corner.y = e[0].pageY - pos.top;\r\n flipMethods._showFoldedPage.call(this, data.corner);\r\n\r\n } else if (data.hover && !this.data().effect && this.is(':visible')) {\r\n\r\n var point = flipMethods._isIArea.call(this, e[0]); \r\n \r\n\r\n if (point) {\r\n\r\n if ((data.effect == 'sheet' && point.corner.length == 2) || data.effect == 'hard') {\r\n data.status = 'hover';\r\n var origin = flipMethods._c.call(this, point.corner, data.opts.cornerSize / 2);\r\n point.x = origin.x;\r\n point.y = origin.y;\r\n flipMethods._showFoldedPage.call(this, point, true);\r\n }\r\n\r\n } else {\r\n\r\n if (data.status == 'hover') {\r\n data.status = '';\r\n flipMethods.hideFoldedPage.call(this, true);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n },\r\n\r\n _eventEnd: function() {\r\n\r\n var data = this.data().f,\r\n corner = data.corner;\r\n\r\n if (!data.disabled && corner) {\r\n if (trigger('released', this, [data.point || corner]) != 'prevented') {\r\n flipMethods.hideFoldedPage.call(this, true);\r\n }\r\n }\r\n\r\n data.corner = null;\r\n\r\n },\r\n\r\n disable: function(disable) {\r\n\r\n flipMethods.setData.call(this, { 'disabled': disable });\r\n return this;\r\n\r\n },\r\n\r\n hover: function(hover) {\r\n\r\n flipMethods.setData.call(this, { 'hover': hover });\r\n return this;\r\n\r\n },\r\n\r\n peel: function(corner, animate) {\r\n\r\n var data = this.data().f;\r\n\r\n if (corner) {\r\n\r\n if (corners.all.indexOf(corner) == -1)\r\n throw turnError('Corner ' + corner + ' is not permitted');\r\n\r\n if (flipMethods._cAllowed.call(this).indexOf(corner) != -1) {\r\n \r\n var point = flipMethods._c.call(this, corner, data.opts.cornerSize / 2);\r\n \r\n \r\n data.status = 'peel';\r\n \r\n flipMethods._showFoldedPage.call(this, {\r\n corner: corner,\r\n x: point.x,\r\n y: point.y\r\n }, animate);\r\n \r\n }\r\n \r\n \r\n } else {\r\n \r\n data.status = '';\r\n\r\n flipMethods.hideFoldedPage.call(this, animate);\r\n\r\n }\r\n\r\n return this;\r\n }\r\n };\r\n\r\n\r\n // Processes classes\r\n\r\n function dec(that, methods, args) {\r\n\r\n if (!args[0] || typeof(args[0]) == 'object')\r\n return methods.init.apply(that, args);\r\n\r\n else if (methods[args[0]])\r\n return methods[args[0]].apply(that, Array.prototype.slice.call(args, 1));\r\n\r\n else\r\n throw turnError(args[0] + ' is not a method or property');\r\n\r\n }\r\n\r\n\r\n // Attributes for a layer\r\n\r\n function divAtt(top, left, zIndex, overf) {\r\n\r\n return {\r\n 'css': {\r\n position: 'absolute',\r\n top: top,\r\n left: left,\r\n 'overflow': overf || 'hidden',\r\n zIndex: zIndex || 'auto'\r\n }\r\n };\r\n\r\n }\r\n\r\n // Gets a 2D point from a bezier curve of four points\r\n\r\n function bezier(p1, p2, p3, p4, t) {\r\n\r\n var a = 1 - t,\r\n b = a * a * a,\r\n c = t * t * t;\r\n\r\n return point2D(Math.round(b * p1.x + 3 * t * a * a * p2.x + 3 * t * t * a * p3.x + c * p4.x),\r\n Math.round(b * p1.y + 3 * t * a * a * p2.y + 3 * t * t * a * p3.y + c * p4.y));\r\n\r\n }\r\n\r\n // Converts an angle from degrees to radians\r\n\r\n function rad(degrees) {\r\n\r\n return degrees / 180 * PI;\r\n\r\n }\r\n\r\n // Converts an angle from radians to degrees\r\n\r\n function deg(radians) {\r\n\r\n return radians / PI * 180;\r\n\r\n }\r\n\r\n // Gets a 2D point\r\n\r\n function point2D(x, y) {\r\n\r\n return { x: x, y: y };\r\n\r\n }\r\n\r\n // Returns the traslate value\r\n\r\n function translate(x, y, use3d) {\r\n\r\n return (use3d) ? ' translate3d(' + x + 'px,' + y + 'px, 0px) ' :\r\n ' translate(' + x + 'px, ' + y + 'px) ';\r\n\r\n }\r\n\r\n // Returns the rotation value\r\n\r\n function rotate(degrees) {\r\n\r\n return ' rotate(' + degrees + 'deg) ';\r\n\r\n }\r\n\r\n // Checks if a property belongs to an object\r\n\r\n function has(property, object) {\r\n\r\n return Object.prototype.hasOwnProperty.call(object, property);\r\n\r\n }\r\n\r\n // Gradients\r\n\r\n function gradient(obj, p0, p1, colors, numColors) {\r\n\r\n var j, cols = [];\r\n p0 = { x: p0.x / 100 * obj.width(), y: p0.y / 100 * obj.height() };\r\n p1 = { x: p1.x / 100 * obj.width(), y: p1.y / 100 * obj.height() };\r\n\r\n var dx = p1.x - p0.x,\r\n dy = p1.y - p0.y,\r\n angle = Math.atan2(dy, dx),\r\n angle2 = angle - Math.PI / 2,\r\n diagonal = Math.abs(obj.width() * Math.sin(angle2)) + Math.abs(obj.height() * Math.cos(angle2)),\r\n gradientDiagonal = Math.sqrt(dy * dy + dx * dx),\r\n corner = point2D((p1.x < p0.x) ? obj.width() : 0, (p1.y < p0.y) ? obj.height() : 0),\r\n slope = Math.tan(angle),\r\n inverse = -1 / slope,\r\n x = (inverse * corner.x - corner.y - slope * p0.x + p0.y) / (inverse - slope),\r\n c = { x: x, y: inverse * x - inverse * corner.x + corner.y },\r\n segA = (Math.sqrt(Math.pow(c.x - p0.x, 2) + Math.pow(c.y - p0.y, 2)));\r\n\r\n for (j = 0; j < numColors; j++)\r\n cols.push(' ' + colors[j][1] + ' ' + ((segA + gradientDiagonal * colors[j][0]) * 100 / diagonal) + '%');\r\n\r\n // Standard linear-gradient actually doesn't support angle, -webkit- prefixed does\r\n //obj.css({'background-image': 'linear-gradient(' + (-angle) + 'rad,' + cols.join(',') + ')'});\r\n obj.css({ 'background-image': '-webkit-linear-gradient(' + (-angle) + 'rad,' + cols.join(',') + ')' });\r\n }\r\n\r\n\r\n // Triggers an event\r\n\r\n function trigger(eventName, context, args) {\r\n\r\n var event = $.Event(eventName);\r\n context.trigger(event, args);\r\n if (event.isDefaultPrevented())\r\n return 'prevented';\r\n else if (event.isPropagationStopped())\r\n return 'stopped';\r\n else\r\n return '';\r\n }\r\n\r\n // JS Errors\r\n\r\n function turnError(message) {\r\n\r\n function TurnJsError(message) {\r\n this.name = \"TurnJsError\";\r\n this.message = message;\r\n }\r\n\r\n TurnJsError.prototype = new Error();\r\n TurnJsError.prototype.constructor = TurnJsError;\r\n return new TurnJsError(message);\r\n\r\n }\r\n\r\n // Find the offset of an element ignoring its transformation\r\n\r\n function findPos(obj) {\r\n\r\n var offset = { top: 0, left: 0 };\r\n\r\n do {\r\n offset.left += obj.offsetLeft;\r\n offset.top += obj.offsetTop;\r\n } while ((obj = obj.offsetParent));\r\n\r\n return offset;\r\n\r\n }\r\n\r\n // Extend $.fn\r\n\r\n $.extend($.fn, {\r\n\r\n flip: function() {\r\n return dec($(this[0]), flipMethods, arguments);\r\n },\r\n\r\n turn: function() {\r\n return dec($(this[0]), turnMethods, arguments);\r\n },\r\n\r\n transform: function(transform, origin) {\r\n\r\n var properties = {};\r\n\r\n if (origin)\r\n properties['transform-origin'] = origin;\r\n\r\n properties['transform'] = transform;\r\n\r\n return this.css(properties);\r\n\r\n },\r\n\r\n animatef: function(point) {\r\n\r\n var data = this.data();\r\n\r\n if (data.effect)\r\n data.effect.stop();\r\n\r\n if (point) {\r\n\r\n if (!point.to.length) point.to = [point.to];\r\n if (!point.from.length) point.from = [point.from];\r\n\r\n var diff = [],\r\n len = point.to.length,\r\n animating = true,\r\n that = this,\r\n time = (new Date()).getTime(),\r\n frame = function() {\r\n\r\n if (!data.effect || !animating)\r\n return;\r\n\r\n var v = [],\r\n timeDiff = Math.min(point.duration, (new Date()).getTime() - time);\r\n\r\n for (var i = 0; i < len; i++)\r\n v.push(data.effect.easing(1, timeDiff, point.from[i], diff[i], point.duration));\r\n\r\n point.frame((len == 1) ? v[0] : v);\r\n\r\n if (timeDiff == point.duration) {\r\n delete data['effect'];\r\n that.data(data);\r\n if (point.complete)\r\n point.complete();\r\n } else {\r\n window.requestAnimationFrame(frame);\r\n }\r\n };\r\n\r\n for (var i = 0; i < len; i++)\r\n diff.push(point.to[i] - point.from[i]);\r\n\r\n data.effect = $.extend({\r\n stop: function() {\r\n animating = false;\r\n },\r\n easing: function(x, t, b, c, data) {\r\n return c * Math.sqrt(1 - (t = t / data - 1) * t) + b;\r\n }\r\n }, point);\r\n\r\n this.data(data);\r\n\r\n frame();\r\n\r\n } else {\r\n\r\n delete data['effect'];\r\n\r\n }\r\n }\r\n });\r\n\r\n // Export some globals\r\n\r\n $.isTouch = isTouch;\r\n $.mouseEvents = mouseEvents;\r\n $.findPos = findPos;\r\n\r\n})(jQuery);","export * from \"-!../../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../vue-loader/lib/loaders/stylePostLoader.js!../../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../vue-loader/lib/index.js??vue-loader-options!./videoPlaceholder.vue?vue&type=style&index=0&id=c2302c54&prod&scoped=true&lang=css\"","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","/**\r\n * zoom.js\r\n * www.turnjs.com\r\n * turnjs.com/license.txt\r\n *\r\n * Copyright (C) 2012 Emmanuel Garcia - 2019 Raffaele Morganti\r\n **/\r\n\r\n(function($) {\r\n\r\n 'use strict';\r\n\r\n var\r\n\r\n zoomOptions = {\r\n max: 2,\r\n flipbook: null,\r\n easeFunction: 'ease-in-out',\r\n duration: 500,\r\n when: {}\r\n },\r\n\r\n zoomMethods = {\r\n init: function(opts) {\r\n\r\n\r\n var that = this,\r\n data = this.data(),\r\n options = $.extend({}, zoomOptions, opts);\r\n\r\n if (!options.flipbook || !options.flipbook.turn('is')) {\r\n throw error('options.flipbook is required');\r\n }\r\n\r\n if (typeof(options.max) != 'function') {\r\n var max = options.max;\r\n options.max = function() { return max; };\r\n }\r\n\r\n data.zoom = {\r\n opts: options,\r\n axis: point2D(0, 0),\r\n scrollPos: point2D(0, 0),\r\n eventQueue: [],\r\n mouseupEvent: function() {\r\n return zoomMethods._eMouseUp.apply(that, arguments);\r\n },\r\n eventTouchStart: on(zoomMethods._eTouchStart, that),\r\n eventTouchMove: on(zoomMethods._eTouchMove, that),\r\n eventTouchEnd: on(zoomMethods._eTouchEnd, that),\r\n flipbookEvents: {\r\n zooming: on(zoomMethods._eZoom, that),\r\n pressed: on(zoomMethods._ePressed, that),\r\n released: on(zoomMethods._eReleased, that),\r\n start: on(zoomMethods._eStart, that),\r\n turning: on(zoomMethods._eTurning, that),\r\n turned: on(zoomMethods._eTurned, that),\r\n destroying: on(zoomMethods._eDestroying, that)\r\n }\r\n };\r\n\r\n for (var eventName in options.when) {\r\n if (Object.prototype.hasOwnProperty.call(options.when, eventName)) {\r\n this.on('zoom.' + eventName, options.when[eventName]);\r\n }\r\n }\r\n\r\n for (eventName in data.zoom.flipbookEvents) {\r\n if (Object.prototype.hasOwnProperty.call(data.zoom.flipbookEvents, eventName)) {\r\n options.flipbook.on(eventName, data.zoom.flipbookEvents[eventName]);\r\n }\r\n }\r\n\r\n this.css({\r\n position: 'relative',\r\n overflow: 'hidden'\r\n });\r\n\r\n if ($.isTouch) {\r\n\r\n options.flipbook.\r\n on('touchstart', data.zoom.eventTouchStart).\r\n on('touchmove', data.zoom.eventTouchMove).\r\n on('touchend', data.zoom.eventTouchEnd);\r\n\r\n this.on('touchstart', zoomMethods._tap);\r\n\r\n } else {\r\n this.on('mousedown', zoomMethods._mousedown).\r\n on('click', zoomMethods._tap);\r\n }\r\n },\r\n\r\n _tap: function(event) {\r\n\r\n var that = $(this),\r\n data = that.data().zoom,\r\n flip = data.opts.flipbook;\r\n\r\n if (data.draggingCorner || data.dragging) {\r\n return;\r\n }\r\n\r\n if (isPage($(event.target), that)) {\r\n\r\n zoomMethods._addEvent.call(that, 'tap', event);\r\n\r\n var secuence = zoomMethods._eventSeq.call(that);\r\n\r\n if (secuence)\r\n that.trigger(secuence);\r\n\r\n }\r\n\r\n },\r\n\r\n _addEvent: function(eventName, event) {\r\n\r\n var data = this.data().zoom,\r\n time = (new Date()).getTime(),\r\n eventObject = { name: eventName, timestamp: time, event: event };\r\n\r\n data.eventQueue.push(eventObject);\r\n\r\n if (data.eventQueue.length > 10)\r\n data.eventQueue.splice(0, 1);\r\n\r\n },\r\n\r\n _eventSeq: function() {\r\n\r\n var data = this.data().zoom,\r\n list = data.eventQueue,\r\n lastEvent = list.length - 1;\r\n\r\n if (lastEvent > 0 &&\r\n list[lastEvent].name == 'tap' &&\r\n list[lastEvent - 1].name == 'tap' &&\r\n list[lastEvent].event.pageX == list[lastEvent - 1].event.pageX &&\r\n list[lastEvent].event.pageY == list[lastEvent - 1].event.pageY &&\r\n list[lastEvent].timestamp - list[lastEvent - 1].timestamp < 200 &&\r\n list[lastEvent].timestamp - list[lastEvent - 1].timestamp > 50) {\r\n\r\n return $.extend(list[lastEvent].event, { type: 'zoom.doubleTap' });\r\n\r\n } else if (list[lastEvent].name == 'tap') {\r\n\r\n return $.extend(list[lastEvent].event, { type: 'zoom.tap' });\r\n\r\n }\r\n\r\n },\r\n\r\n _prepareZoom: function() {\r\n\r\n var flipPos, offsetLeft = 0,\r\n data = this.data().zoom,\r\n invz = 1 / this.zoom('value'),\r\n flip = data.opts.flipbook,\r\n dir = flip.turn('direction'),\r\n flipData = flip.data(),\r\n flipOffset = flip.offset(),\r\n thisOffset = this.offset(),\r\n flipSize = { height: flip.height() },\r\n view = flip.turn('view');\r\n\r\n if (flip.turn('display') == 'double' && flip.data().opts.autoCenter) {\r\n if (!view[0]) {\r\n flipSize.width = flip.width() / 2;\r\n offsetLeft = (dir == 'ltr') ? flipSize.width : 0;\r\n flipPos = point2D(\r\n (dir == 'ltr') ? flipOffset.left - thisOffset.left + flipSize.width : flipOffset.left - thisOffset.left,\r\n flipOffset.top - thisOffset.top\r\n );\r\n\r\n } else if (!view[1]) {\r\n flipSize.width = flip.width() / 2;\r\n offsetLeft = (dir == 'ltr') ? 0 : flipSize.width;\r\n flipPos = point2D(\r\n (dir == 'ltr') ? flipOffset.left - thisOffset.left : flipOffset.left - thisOffset.left + flipSize.width,\r\n flipOffset.top - thisOffset.top\r\n );\r\n } else {\r\n flipSize.width = flip.width();\r\n flipPos = point2D(\r\n flipOffset.left - thisOffset.left,\r\n flipOffset.top - thisOffset.top\r\n );\r\n }\r\n } else {\r\n flipSize.width = flip.width();\r\n flipPos = point2D(\r\n flipOffset.left - thisOffset.left,\r\n flipOffset.top - thisOffset.top\r\n );\r\n }\r\n\r\n if (!data.zoomer) {\r\n data.zoomer = $('', {\r\n 'class': 'zoomer',\r\n css: {\r\n overflow: 'hidden',\r\n position: 'absolute',\r\n zIndex: '1000000'\r\n }\r\n }).\r\n on('mousedown', function() {\r\n return false;\r\n }).appendTo(this);\r\n }\r\n\r\n\r\n data.zoomer.css({\r\n top: flipPos.y,\r\n left: flipPos.x,\r\n width: flipSize.width,\r\n height: flipSize.height\r\n });\r\n\r\n var zoomerView = view.join(',');\r\n\r\n if (zoomerView != data.zoomerView) {\r\n\r\n data.zoomerView = zoomerView;\r\n data.zoomer.find('*').remove();\r\n\r\n for (var p = 0; p < view.length; p++) {\r\n\r\n if (!view[p])\r\n continue;\r\n\r\n var pos = flipData.pageObjs[view[p]].offset(),\r\n pageElement = $(flipData.pageObjs[view[p]]);\r\n\r\n pageElement.\r\n clone().\r\n transform('').\r\n css({\r\n width: pageElement.width() * invz,\r\n height: pageElement.height() * invz,\r\n position: 'absolute',\r\n display: '',\r\n top: (pos.top - flipOffset.top) * invz,\r\n left: (pos.left - flipOffset.left - offsetLeft) * invz\r\n }).\r\n appendTo(data.zoomer);\r\n }\r\n }\r\n\r\n\r\n return { pos: flipPos, size: flipSize };\r\n\r\n },\r\n\r\n value: function() {\r\n\r\n var data = this.data().zoom;\r\n\r\n return data.opts.flipbook.turn('zoom');\r\n },\r\n\r\n zoomIn: function(event) {\r\n\r\n var pos,\r\n that = this,\r\n data = this.data().zoom,\r\n flip = data.opts.flipbook,\r\n zoom = data.opts.max(),\r\n flipOffset = flip.offset(),\r\n thisOffset = this.offset();\r\n\r\n if (data.zoomIn)\r\n return this;\r\n\r\n flip.turn('stop');\r\n\r\n var ev = $.Event('zoom.change');\r\n this.trigger(ev, [zoom]);\r\n\r\n if (ev.isDefaultPrevented())\r\n return this;\r\n\r\n var bound = zoomMethods._prepareZoom.call(this),\r\n flipPos = bound.pos,\r\n center = point2D(bound.size.width / 2, bound.size.height / 2),\r\n transitionEnd = 'transitionend',\r\n autoCenter = flip.data().opts.autoCenter;\r\n\r\n data.scale = zoom;\r\n flip.data().noCenter = true;\r\n\r\n if (typeof(event) != 'undefined') {\r\n\r\n if ('x' in event && 'y' in event) {\r\n\r\n pos = point2D(event.x - flipPos.x, event.y - flipPos.y);\r\n\r\n } else {\r\n\r\n pos = ($.isTouch) ?\r\n point2D(\r\n event.originalEvent.touches[0].pageX - flipPos.x - thisOffset.left,\r\n event.originalEvent.touches[0].pageY - flipPos.y - thisOffset.top\r\n ) :\r\n point2D(\r\n event.pageX - flipPos.x - thisOffset.left,\r\n event.pageY - flipPos.y - thisOffset.top\r\n );\r\n\r\n }\r\n\r\n } else {\r\n pos = point2D(center.x, center.y);\r\n }\r\n\r\n\r\n\r\n if (pos.x < 0 || pos.y < 0 || pos.x > bound.width || pos.y > bound.height) {\r\n pos.x = center.x;\r\n pos.y = center.y;\r\n }\r\n\r\n\r\n var compose = point2D(\r\n (pos.x - center.x) * zoom + center.x,\r\n (pos.y - center.y) * zoom + center.y\r\n ),\r\n move = point2D(\r\n (bound.size.width * zoom > this.width()) ? pos.x - compose.x : 0,\r\n (bound.size.height * zoom > this.height()) ? pos.y - compose.y : 0\r\n ),\r\n maxMove = point2D(\r\n Math.abs(bound.size.width * zoom - this.width()),\r\n Math.abs(bound.size.height * zoom - this.height())\r\n ),\r\n minMove = point2D(\r\n Math.min(0, bound.size.width * zoom - this.width()),\r\n Math.min(0, bound.size.height * zoom - this.height())\r\n ),\r\n realPos = point2D(\r\n center.x * zoom - center.x - flipPos.x - move.x,\r\n center.y * zoom - center.y - flipPos.y - move.y\r\n );\r\n\r\n if (realPos.y > maxMove.y)\r\n move.y = realPos.y - maxMove.y + move.y;\r\n else if (realPos.y < minMove.y)\r\n move.y = realPos.y - minMove.y + move.y;\r\n\r\n if (realPos.x > maxMove.x)\r\n move.x = realPos.x - maxMove.x + move.x;\r\n else if (realPos.x < minMove.x)\r\n move.x = realPos.x - minMove.x + move.x;\r\n\r\n realPos = point2D(\r\n center.x * zoom - center.x - flipPos.x - move.x,\r\n center.y * zoom - center.y - flipPos.y - move.y\r\n );\r\n\r\n var css = {};\r\n\r\n css['transition'] = 'transform ' +\r\n data.opts.easeFunction +\r\n ' ' +\r\n data.opts.duration +\r\n 'ms';\r\n\r\n var transitionEndCallback = function() {\r\n\r\n that.trigger('zoom.zoomIn');\r\n\r\n data.zoomIn = true;\r\n\r\n data.flipPosition = point2D(flip.css('left'), flip.css('top'));\r\n\r\n flip.turn('zoom', zoom).css({\r\n position: 'absolute',\r\n margin: '',\r\n top: 0,\r\n left: 0\r\n });\r\n\r\n var flipOffset = flip.offset();\r\n\r\n data.axis = point2D(\r\n flipOffset.left - thisOffset.left,\r\n flipOffset.top - thisOffset.top\r\n );\r\n\r\n\r\n if (autoCenter && flip.turn('display') == 'double')\r\n if ((flip.turn('direction') == 'ltr' && !flip.turn('view')[0]) ||\r\n (flip.turn('direction') == 'rtl' && !flip.turn('view')[1])\r\n )\r\n data.axis.x = data.axis.x + flip.width() / 2;\r\n\r\n that.zoom('scroll', realPos);\r\n that.on($.mouseEvents.down, zoomMethods._eMouseDown);\r\n that.on($.mouseEvents.move, zoomMethods._eMouseMove);\r\n $(document).on($.mouseEvents.up, data.mouseupEvent);\r\n that.on('wheel', zoomMethods._eMouseWheel);\r\n\r\n setTimeout(function() {\r\n data.zoomer.hide();\r\n data.zoomer.remove();\r\n data.zoomer = null;\r\n data.zoomerView = null;\r\n }, 50);\r\n\r\n };\r\n\r\n data.zoomer.css(css).show();\r\n\r\n if (transitionEnd)\r\n data.zoomer.on(transitionEnd, function() {\r\n $(this).off(transitionEnd);\r\n transitionEndCallback();\r\n });\r\n else\r\n setTimeout(transitionEndCallback, data.opts.duration);\r\n\r\n data.zoomer.transform(translate(move.x, move.y, true) + scale(zoom, true));\r\n\r\n return this;\r\n },\r\n\r\n zoomOut: function(duration) {\r\n\r\n var pos, move,\r\n that = this,\r\n data = this.data().zoom,\r\n flip = data.opts.flipbook,\r\n zoom = 1,\r\n scaling = zoom / data.scale,\r\n transitionEnd = 'transitionend',\r\n thisOffset = this.offset();\r\n\r\n duration = (typeof(duration) != 'undefined') ? duration : data.opts.duration;\r\n\r\n if (!data.zoomIn)\r\n return;\r\n\r\n var ev = $.Event('zoom.change');\r\n this.trigger(ev, [zoom]);\r\n\r\n if (ev.isDefaultPrevented())\r\n return this;\r\n\r\n data.zoomIn = false;\r\n data.scale = zoom;\r\n\r\n flip.data().noCenter = false;\r\n\r\n that.off($.mouseEvents.down, zoomMethods._eMouseDown);\r\n that.off($.mouseEvents.move, zoomMethods._eMouseMove);\r\n $(document).off($.mouseEvents.up, data.mouseupEvent);\r\n that.off('wheel', zoomMethods._eMouseWheel);\r\n\r\n var css = {};\r\n\r\n css['transition'] = 'transform ' +\r\n data.opts.easeFunction +\r\n ' ' +\r\n duration +\r\n 'ms';\r\n\r\n flip.css(css);\r\n\r\n var flipDesPos,\r\n tmp = $('', {\r\n css: {\r\n position: 'relative',\r\n top: data.flipPosition.y,\r\n left: data.flipPosition.x,\r\n width: flip.width() * scaling,\r\n height: flip.height() * scaling,\r\n background: 'blue'\r\n }\r\n }).appendTo(flip.parent());\r\n\r\n flipDesPos = point2D(\r\n tmp.offset().left - thisOffset.left,\r\n tmp.offset().top - thisOffset.top\r\n );\r\n\r\n\r\n tmp.remove();\r\n\r\n var autoCenter = flip.data().opts.autoCenter;\r\n\r\n if (autoCenter && flip.turn('display') == 'double') {\r\n\r\n if (!flip.turn('view')[0])\r\n flipDesPos.x = (flip.turn('direction') == 'ltr') ?\r\n flipDesPos.x - tmp.width() / 4 :\r\n flipDesPos.x + tmp.width() / 4;\r\n else if (!flip.turn('view')[1])\r\n flipDesPos.x = (flip.turn('direction') == 'ltr') ?\r\n flipDesPos.x + tmp.width() / 4 :\r\n flipDesPos.x - tmp.width() / 4;\r\n }\r\n\r\n var flipRealPos = $.findPos(flip[0]);\r\n\r\n move = point2D(-flip.width() / 2 - flipRealPos.left + tmp.width() / 2 + flipDesPos.x + thisOffset.left, -flip.height() / 2 - flipRealPos.top + tmp.height() / 2 + flipDesPos.y + thisOffset.top);\r\n\r\n var transitionEndCallback = function() {\r\n\r\n if (flip[0].style.removeProperty) {\r\n\r\n flip[0].style.removeProperty('transition');\r\n flip.transform(\r\n (flip.turn('options').acceleration) ? translate(0, 0, true) : '').turn('zoom', 1);\r\n flip[0].style.removeProperty('margin');\r\n flip.css({\r\n position: 'relative',\r\n top: data.flipPosition.y,\r\n left: data.flipPosition.x\r\n });\r\n\r\n } else {\r\n\r\n flip.transform('none').\r\n turn('zoom', 1).\r\n css({\r\n margin: '',\r\n top: data.flipPosition.y,\r\n left: data.flipPosition.x,\r\n position: 'relative'\r\n });\r\n\r\n }\r\n\r\n if (autoCenter)\r\n flip.turn('center');\r\n\r\n that.trigger('zoom.zoomOut');\r\n\r\n };\r\n\r\n if (duration === 0) {\r\n\r\n transitionEndCallback();\r\n\r\n } else if (transitionEnd) {\r\n\r\n flip.on(transitionEnd, function() {\r\n\r\n $(this).off(transitionEnd);\r\n transitionEndCallback();\r\n\r\n });\r\n\r\n flip.transform(translate(move.x, move.y, true) + scale(scaling, true));\r\n\r\n } else {\r\n\r\n setTimeout(transitionEndCallback, duration);\r\n flip.transform(translate(move.x, move.y, true) + scale(scaling, true));\r\n\r\n }\r\n\r\n return this;\r\n },\r\n\r\n flipbookWidth: function() {\r\n\r\n var data = this.data().zoom,\r\n flipbook = data.opts.flipbook,\r\n view = flipbook.turn('view');\r\n\r\n return (flipbook.turn('display') == 'double' && (!view[0] || !view[1])) ?\r\n flipbook.width() / 2 :\r\n flipbook.width();\r\n\r\n },\r\n\r\n scroll: function(to, unlimited, animate) {\r\n\r\n var data = this.data().zoom,\r\n flip = data.opts.flipbook,\r\n flipWidth = this.zoom('flipbookWidth');\r\n\r\n var css = {};\r\n\r\n if (animate) {\r\n css['transition'] = 'transform 200ms';\r\n } else {\r\n css['transition'] = 'none';\r\n }\r\n\r\n flip.css(css);\r\n flip.transform(translate(-data.axis.x - to.x, -data.axis.y - to.y, true));\r\n\r\n if (!unlimited) {\r\n\r\n var out,\r\n minBound = point2D(\r\n Math.min(0, (flipWidth - this.width()) / 2),\r\n Math.min(0, (flip.height() - this.height()) / 2)),\r\n maxBound = point2D(\r\n (flipWidth > this.width()) ? flipWidth - this.width() : (flipWidth - this.width()) / 2,\r\n (flip.height() > this.height()) ? flip.height() - this.height() : (flip.height() - this.height()) / 2\r\n );\r\n\r\n if (to.y < minBound.y) {\r\n to.y = minBound.y;\r\n out = true;\r\n } else if (to.y > maxBound.y) {\r\n to.y = maxBound.y;\r\n out = true;\r\n }\r\n\r\n if (to.x < minBound.x) {\r\n to.x = minBound.x;\r\n out = true;\r\n } else if (to.x > maxBound.x) {\r\n to.x = maxBound.x;\r\n out = true;\r\n }\r\n\r\n if (out) {\r\n this.zoom('scroll', to, true, true);\r\n }\r\n\r\n }\r\n\r\n data.scrollPos = point2D(to.x, to.y);\r\n\r\n },\r\n\r\n resize: function() {\r\n var data = this.data().zoom,\r\n flip = data.opts.flipbook;\r\n\r\n if (this.zoom('value') > 1) {\r\n\r\n var flipOffset = flip.offset(),\r\n thisOffset = this.offset();\r\n\r\n data.axis = point2D(\r\n (flipOffset.left - thisOffset.left) + (data.axis.x + data.scrollPos.x),\r\n (flipOffset.top - thisOffset.top) + (data.axis.y + data.scrollPos.y)\r\n );\r\n\r\n if (flip.turn('display') == 'double' &&\r\n flip.turn('direction') == 'ltr' &&\r\n !flip.turn('view')[0])\r\n data.axis.x = data.axis.x + flip.width() / 2;\r\n\r\n this.zoom('scroll', data.scrollPos);\r\n }\r\n\r\n },\r\n\r\n _eZoom: function() {\r\n\r\n var flipPos,\r\n data = this.data().zoom,\r\n flip = data.opts.flipbook,\r\n view = flip.turn('view');\r\n\r\n for (var p = 0; p < view.length; p++) {\r\n if (view[p])\r\n this.trigger('zoom.resize', [data.scale, view[p], flip.data().pageObjs[view[p]]]);\r\n }\r\n },\r\n\r\n _eStart: function(event, pageObj) {\r\n\r\n if (this.zoom('value') != 1) {\r\n event.preventDefault();\r\n }\r\n\r\n\r\n },\r\n\r\n _eTurning: function(event, page, view) {\r\n\r\n var that = this,\r\n zoom = this.zoom('value'),\r\n data = this.data().zoom,\r\n flip = data.opts.flipbook;\r\n\r\n data.page = flip.turn('page');\r\n\r\n if (zoom != 1) {\r\n for (var p = 0; p < view.length; p++) {\r\n if (view[p])\r\n this.trigger('zoom.resize', [zoom, view[p], flip.data().pageObjs[view[p]]]);\r\n }\r\n\r\n setTimeout(function() {\r\n that.zoom('resize');\r\n }, 0);\r\n }\r\n\r\n },\r\n\r\n _eTurned: function(event, page) {\r\n\r\n if (this.zoom('value') != 1) {\r\n var that = this,\r\n data = this.data().zoom,\r\n flip = data.opts.flipbook;\r\n\r\n if (page > data.page)\r\n this.zoom('scroll',\r\n point2D(0, data.scrollPos.y), false, true);\r\n\r\n else if (page < data.page)\r\n this.zoom('scroll',\r\n point2D(flip.width(), data.scrollPos.y), false, true);\r\n\r\n }\r\n },\r\n\r\n _ePressed: function() {\r\n\r\n var data = $(this).data().zoom;\r\n data.draggingCorner = true;\r\n\r\n },\r\n\r\n _eReleased: function() {\r\n\r\n var data = $(this).data().zoom;\r\n\r\n setTimeout(function() {\r\n data.draggingCorner = false;\r\n }, 1);\r\n\r\n },\r\n\r\n _eMouseDown: function(event) {\r\n\r\n var data = $(this).data().zoom;\r\n\r\n data.draggingCur = ($.isTouch) ?\r\n point2D(\r\n event.originalEvent.touches[0].pageX,\r\n event.originalEvent.touches[0].pageY\r\n ) :\r\n point2D(event.pageX, event.pageY);\r\n\r\n return false;\r\n },\r\n\r\n _eMouseMove: function(event) {\r\n\r\n var data = $(this).data().zoom;\r\n\r\n if (data.draggingCur) {\r\n\r\n data.dragging = true;\r\n\r\n var cur = ($.isTouch) ?\r\n point2D(\r\n event.originalEvent.touches[0].pageX,\r\n event.originalEvent.touches[0].pageY\r\n ) :\r\n point2D(event.pageX, event.pageY),\r\n motion = point2D(\r\n cur.x - data.draggingCur.x,\r\n cur.y - data.draggingCur.y\r\n );\r\n\r\n $(this).zoom('scroll',\r\n point2D(\r\n data.scrollPos.x - motion.x,\r\n data.scrollPos.y - motion.y\r\n ), true\r\n );\r\n\r\n data.draggingCur = cur;\r\n\r\n return false;\r\n }\r\n\r\n },\r\n\r\n _eMouseUp: function(event) {\r\n\r\n var data = $(this).data().zoom;\r\n\r\n if (data.dragging) {\r\n $(this).zoom('scroll', data.scrollPos);\r\n }\r\n\r\n data.draggingCur = null;\r\n\r\n setTimeout(function() {\r\n data.dragging = false;\r\n }, 1);\r\n\r\n },\r\n\r\n _eMouseWheel: function(event) {\r\n event = event.originalEvent;\r\n var data = $(this).data().zoom,\r\n deltaX = Math.sign(event.deltaX),\r\n deltaY = Math.sign(event.deltaY),\r\n cur = point2D(\r\n data.scrollPos.x - deltaX * 50,\r\n data.scrollPos.y + deltaY * 50\r\n );\r\n\r\n $(this).zoom('scroll', cur, false, true);\r\n\r\n },\r\n\r\n _eTouchStart: function(event, page) {\r\n\r\n var data = $(this).data().zoom,\r\n flip = data.opts.flipbook,\r\n finger = point2D(\r\n event.originalEvent.touches[0].pageX,\r\n event.originalEvent.touches[0].pageY\r\n );\r\n\r\n data.touch = {};\r\n data.touch.initial = finger;\r\n data.touch.last = finger;\r\n data.touch.timestamp = (new Date()).getTime();\r\n data.touch.speed = point2D(0, 0);\r\n\r\n },\r\n\r\n _eTouchMove: function(event) {\r\n\r\n var data = $(this).data().zoom,\r\n zoom = $(this).zoom('value'),\r\n flip = data.opts.flipbook,\r\n time = (new Date()).getTime(),\r\n finger = point2D(\r\n event.originalEvent.touches[0].pageX,\r\n event.originalEvent.touches[0].pageY\r\n );\r\n\r\n if (data.touch && zoom == 1 && !flip.data().mouseAction) {\r\n data.touch.motion = point2D(\r\n finger.x - data.touch.last.x,\r\n finger.y - data.touch.last.y);\r\n\r\n\r\n data.touch.speed.x = (data.touch.speed.x === 0) ?\r\n data.touch.motion.x / (time - data.touch.timestamp) :\r\n (data.touch.speed.x + (data.touch.motion.x / (time - data.touch.timestamp))) / 2;\r\n\r\n data.touch.last = finger;\r\n data.touch.timestamp = time;\r\n }\r\n\r\n },\r\n\r\n _eTouchEnd: function(event) {\r\n\r\n var data = $(this).data().zoom;\r\n\r\n if (data.touch && $(this).zoom('value') == 1) {\r\n\r\n var y = Math.abs(data.touch.initial.y - data.touch.last.y);\r\n\r\n if (y < 50 && (data.touch.speed.x < -1 || data.touch.last.x - data.touch.initial.x < -100)) {\r\n\r\n this.trigger('zoom.swipeLeft');\r\n\r\n } else if (y < 50 && (data.touch.speed.x > 1 || data.touch.last.x - data.touch.initial.x > 100)) {\r\n\r\n this.trigger('zoom.swipeRight');\r\n\r\n }\r\n\r\n }\r\n },\r\n\r\n _eDestroying: function() {\r\n\r\n var that = this,\r\n data = this.data().zoom,\r\n flip = data.opts.flipbook,\r\n events = [\r\n 'tap',\r\n 'doubleTap',\r\n 'resize',\r\n 'zoomIn',\r\n 'zoomOut',\r\n 'swipeLeft',\r\n 'swipeRight'\r\n ];\r\n\r\n this.zoom('zoomOut', 0);\r\n\r\n $.each(events, function(index, eventName) {\r\n that.off('zoom.' + eventName);\r\n });\r\n\r\n for (var eventName in data.flipbookEvents) {\r\n if (Object.prototype.hasOwnProperty.call(data.flipbookEvents, eventName)) {\r\n flip.off(eventName, data.flipbookEvents[eventName]);\r\n }\r\n }\r\n\r\n flip.off('touchstart', data.eventTouchStart).\r\n off('touchmove', data.eventTouchMove).\r\n off('touchend', data.eventTouchEnd);\r\n\r\n this.off('touchstart', zoomMethods._tap).\r\n off('click', zoomMethods._tap);\r\n\r\n data = null;\r\n this.data().zoom = null;\r\n\r\n }\r\n };\r\n\r\n function isPage(element, last) {\r\n\r\n if (element[0] == last[0])\r\n return false;\r\n\r\n if (element.attr('page'))\r\n return true;\r\n\r\n return (element.parent()[0]) ?\r\n isPage(element.parent(), last) :\r\n false;\r\n\r\n }\r\n\r\n function error(message) {\r\n\r\n function TurnJsError(message) {\r\n this.name = \"TurnJsError\";\r\n this.message = message;\r\n }\r\n\r\n TurnJsError.prototype = new Error();\r\n TurnJsError.prototype.constructor = TurnJsError;\r\n return new TurnJsError(message);\r\n\r\n }\r\n\r\n function translate(x, y, use3d) {\r\n\r\n return (use3d) ? ' translate3d(' + x + 'px,' + y + 'px, 0px) ' :\r\n ' translate(' + x + 'px, ' + y + 'px) ';\r\n\r\n }\r\n\r\n function scale(v, use3d) {\r\n\r\n return (use3d) ? ' scale3d(' + v + ', ' + v + ', 1) ' :\r\n ' scale(' + v + ') ';\r\n\r\n }\r\n\r\n function point2D(x, y) {\r\n\r\n return { x: x, y: y };\r\n\r\n }\r\n\r\n function on(func, context) {\r\n\r\n return function() {\r\n return func.apply(context, arguments);\r\n };\r\n\r\n }\r\n\r\n $.extend($.fn, {\r\n zoom: function() {\r\n var args = arguments;\r\n\r\n if (!args[0] || typeof(args[0]) == 'object')\r\n return zoomMethods.init.apply($(this[0]), args);\r\n else if (zoomMethods[args[0]])\r\n return zoomMethods[args[0]].apply($(this[0]), Array.prototype.slice.call(args, 1));\r\n else\r\n throw error(args[0] + ' is not a method');\r\n\r\n }\r\n });\r\n\r\n})(jQuery);","'use strict';\n/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = globalThis[WEB_ASSEMBLY];\n\n// eslint-disable-next-line es/no-error-cause -- feature detection\nvar FORCED = new Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","/* turn.js 4.1.1 | Copyright (c) 2012 Emmanuel Garcia - 2019 Raffaele Morganti | turnjs.com | turnjs.com/license.txt */\r\n\r\n(function(g){function G(a,b,c){if(c[0]&&\"object\"!=typeof c[0]){if(b[c[0]])return b[c[0]].apply(a,Array.prototype.slice.call(c,1));throw t(c[0]+\" is not a method or property\");}return b.init.apply(a,c)}function q(a,b,c,d){return{css:{position:\"absolute\",top:a,left:b,overflow:d||\"hidden\",zIndex:c||\"auto\"}}}function L(a,b,c,d,e){var k=1-e,U=k*k*k,f=e*e*e;return l(Math.round(U*a.x+3*e*k*k*b.x+3*e*e*k*c.x+f*d.x),Math.round(U*a.y+3*e*k*k*b.y+3*e*e*k*c.y+f*d.y))}function l(a,b){return{x:a,y:b}}function H(a,\r\nb,c){return c?\" translate3d(\"+a+\"px,\"+b+\"px, 0px) \":\" translate(\"+a+\"px, \"+b+\"px) \"}function I(a){return\" rotate(\"+a+\"deg) \"}function m(a,b){return Object.prototype.hasOwnProperty.call(b,a)}function R(a,b,c,d,e){var k=[];b={x:b.x/100*a.width(),y:b.y/100*a.height()};c={x:c.x/100*a.width(),y:c.y/100*a.height()};var f=c.x-b.x,h=c.y-b.y,g=Math.atan2(h,f),r=g-Math.PI/2;r=Math.abs(a.width()*Math.sin(r))+Math.abs(a.height()*Math.cos(r));f=Math.sqrt(h*h+f*f);c=l(c.xk)throw t('Page \"'+b+'\" cannot be inserted');}else b=k,d=!0;1<=b&&b<=k&&(c=\"double\"==e.display?b%2?\" odd\":\" even\":\"\",e.done&&this.turn(\"stop\"),b in e.pageObjs&&f._movePages.call(this,b,1),\r\nd&&(e.totalPages=k),e.pageObjs[b]=g(a).css({\"float\":\"left\"}).addClass(\"page p\"+b+c),f._addPage.call(this,b),f._removeFromDOM.call(this));return this},_addPage:function(a){var b=this.data(),c=b.pageObjs[a];if(c)if(f._necessPage.call(this,a)){if(!b.pageWrap[a]){b.pageWrap[a]=g(\"\",{\"class\":\"page-wrapper\",page:a,css:{position:\"absolute\",overflow:\"hidden\"}});this.append(b.pageWrap[a]);b.pagePlace[a]||(b.pagePlace[a]=a,b.pageObjs[a].appendTo(b.pageWrap[a]));var d=f._pageSize.call(this,a,!0);c.css({width:d.width,\r\nheight:d.height});b.pageWrap[a].css(d)}b.pagePlace[a]==a&&f._makeFlip.call(this,a)}else b.pagePlace[a]=0,b.pageObjs[a]&&b.pageObjs[a].remove()},hasPage:function(a){return m(a,this.data().pageObjs)},center:function(a){var b=this.data(),c=g(this).turn(\"size\"),d=0;b.noCenter||(\"double\"==b.display&&(a=this.turn(\"view\",a||b.tpage||b.page),\"ltr\"==b.direction?a[0]?a[1]||(d+=c.width/4):d-=c.width/4:a[0]?a[1]||(d-=c.width/4):d+=c.width/4),g(this).css({marginLeft:d-18}));return this},destroy:function(){var a=\r\nthis,b=this.data();if(\"prevented\"!=v(\"destroying\",this)){b.destroying=!0;g.each(\"end first flip last pressed released start turning turned zooming missing\".split(\" \"),function(b,d){a.off(d)});this.parent().off(\"start\",b.eventHandlers.start);for(g(document).off(w.move,b.eventHandlers.touchMove).off(w.up,b.eventHandlers.touchEnd);0!==b.totalPages;)this.turn(\"removePage\",b.totalPages);b.fparent&&b.fparent.remove();b.shadow&&b.shadow.remove();this.removeData();b=null;return this}},is:function(){return\"object\"==\r\ntypeof this.data().pages},zoom:function(a){var b=this.data();if(\"number\"==typeof a){if(.001>a||100this.data().totalPages)){var b=this.turn(\"range\");for(a=b[0];a<=b[1];a++)f._addPage.call(this,a)}},\r\nrange:function(a){var b=this.data();a=a||b.tpage||b.page||1;var c=f._view.call(this,a);if(1>a||a>b.totalPages)throw t('\"'+a+'\" is not a valid page');c[1]=c[1]||c[0];if(1<=c[0]&&c[1]<=b.totalPages)if(b.totalPages-c[1]>c[0]){a=Math.min(c[0]-1,2);var d=4-a}else d=Math.min(b.totalPages-c[1],2),a=4-d;else d=a=5;return[Math.max(1,c[0]-a),Math.min(b.totalPages,c[1]+d)]},_necessPage:function(a){if(0===a)return!0;var b=this.turn(\"range\");return this.data().pageObjs[a].hasClass(\"fixed\")||a>=b[0]&&a<=b[1]},\r\n_removeFromDOM:function(){var a,b=this.data();for(a in b.pageWrap)m(a,b.pageWrap)&&!f._necessPage.call(this,a)&&f._removePageFromDOM.call(this,a)},_removePageFromDOM:function(a){var b=this.data();if(b.pages[a]){var c=b.pages[a].data();h._moveFoldingPage.call(b.pages[a],!1);c.f&&c.f.fwrapper&&c.f.fwrapper.remove();b.pages[a].removeData();b.pages[a].remove();delete b.pages[a]}b.pageObjs[a]&&b.pageObjs[a].remove();b.pageWrap[a]&&(b.pageWrap[a].remove(),delete b.pageWrap[a]);f._removeMv.call(this,a);\r\ndelete b.pagePlace[a];delete b.pageZoom[a]},removePage:function(a){var b=this.data();if(\"*\"==a)for(;0!==b.totalPages;)this.turn(\"removePage\",b.totalPages);else{if(1>a||a>b.totalPages)throw t(\"The page \"+a+\" doesn't exist\");b.pageObjs[a]&&(this.turn(\"stop\"),f._removePageFromDOM.call(this,a),delete b.pageObjs[a]);f._movePages.call(this,a,-1);--b.totalPages;b.page>b.totalPages?(b.page=null,f._fitPage.call(this,b.totalPages)):(f._makeRange.call(this),this.turn(\"update\"))}return this},_movePages:function(a,\r\nb){var c,d=this,e=this.data(),k=\"single\"==e.display,h=function(a){var c=a+b,h=c%2,g=h?\" odd \":\" even \";e.pageObjs[a]&&(e.pageObjs[c]=e.pageObjs[a].removeClass(\"p\"+a+\" odd even\").addClass(\"p\"+c+g));e.pagePlace[a]&&e.pageWrap[a]&&(e.pagePlace[c]=c,e.pageObjs[c].hasClass(\"fixed\")?e.pageWrap[c]=e.pageWrap[a].attr(\"page\",c):e.pageWrap[c]=e.pageWrap[a].css(f._pageSize.call(d,c,!0)).attr(\"page\",c),e.pages[a]&&(e.pages[c]=e.pages[a].flip(\"options\",{page:c,next:k||h?c+1:c-1})),b&&(delete e.pages[a],delete e.pagePlace[a],\r\ndelete e.pageZoom[a],delete e.pageObjs[a],delete e.pageWrap[a]))};if(0=a;c--)h(c);else for(c=a;c<=e.totalPages;c++)h(c)},display:function(a){var b=this.data(),c=b.display;if(void 0===a)return c;if(-1==W.indexOf(a))throw t('\"'+a+'\" is not a value for display');switch(a){case \"single\":b.pageObjs[0]||(this.turn(\"stop\").css({overflow:\"hidden\"}),b.pageObjs[0]=g(\"\",{\"class\":\"page p-temporal\"}).css({width:this.width(),height:this.height()}).appendTo(this));this.addClass(\"shadow\");\r\nbreak;case \"double\":b.pageObjs[0]&&(this.turn(\"stop\").css({overflow:\"\"}),b.pageObjs[0].remove(),delete b.pageObjs[0]),this.removeClass(\"shadow\")}b.display=a;c&&(a=this.turn(\"size\"),f._movePages.call(this,1,0),this.turn(\"size\",a.width,a.height).turn(\"update\"));return this},direction:function(a){var b=this.data();if(void 0===a)return b.direction;a=a.toLowerCase();if(-1==X.indexOf(a))throw t('\"'+a+'\" is not a value for direction');\"rtl\"==a&&g(this).attr(\"dir\",\"ltr\").css({direction:\"ltr\"});b.direction=\r\na;b.done&&this.turn(\"size\",g(this).width(),g(this).height());return this},animating:function(){return 0a;c--)this.turn(\"removePage\",c);b.totalPages=a;f._fitPage.call(this,b.page);return this}return b.totalPages},_missing:function(a){var b=this.data();if(!(1>b.totalPages)){var c=this.turn(\"range\",a),d=[];for(a=c[0];a<=c[1];a++)b.pageObjs[a]||d.push(a);0d[1]?(h=d[1],g=e[0]):d[0]&&ah?\"r\":\"l\"):b.pages[h].flip(\"turnPage\",a>h?\"l\":\"r\"):\"ltr\"==b.direction?b.pages[h].flip(\"turnPage\",c[a>h?1:0]):b.pages[h].flip(\"turnPage\",c[a>h?0:1]))},page:function(a){var b=this.data();if(void 0===a)return b.page;if(!b.disabled&&!b.destroying){a=parseInt(a,10);if(0b.page?b.next:b.page+1),f._addMotionPage.call(a.target));f._updateShadow.call(b.turn)},_eventEnd:function(a,b,c){g(a.target).data();a=b.turn;var d=a.data();if(c){if(c=d.tpage||d.page,c==b.next||c==b.page)delete d.tpage,f._fitPage.call(a,c||b.next,!0)}else f._removeMv.call(a,b.page),f._updateShadow.call(a),a.turn(\"update\")},_eventPressed:function(a){a=g(a.target).data().f;var b=a.opts.turn;b.data().mouseAction=!0;b.turn(\"update\");return a.time=\r\n(new Date).getTime()},_eventReleased:function(a,b){var c=g(a.target),d=c.data().f,e=d.opts.turn,k=e.data();b=\"single\"==k.display?\"br\"==b.corner||\"tr\"==b.corner?b.xc.width()/2:0>b.x||b.x>c.width();if(200>(new Date).getTime()-d.time||b)a.preventDefault(),f._turnPage.call(e,d.opts.next);k.mouseAction=!1},_flip:function(a){a.stopPropagation();a=g(a.target).data().f.opts;a.turn.trigger(\"turn\",[a.next]);a.turn.data().opts.autoCenter&&a.turn.turn(\"center\",a.next)},_touchStart:function(){var a=\r\nthis.data(),b;for(b in a.pages)if(m(b,a.pages)&&!1===h._eventStart.apply(a.pages[b],arguments))return!1},_touchMove:function(){var a=this.data(),b;for(b in a.pages)m(b,a.pages)&&h._eventMove.apply(a.pages[b],arguments)},_touchEnd:function(){var a=this.data(),b;for(b in a.pages)m(b,a.pages)&&h._eventEnd.apply(a.pages[b],arguments)},calculateZ:function(a){var b=this,c=this.data();var d=this.turn(\"view\");var e=d[0]||d[1],k=a.length-1,h={pageZ:{},partZ:{},pageV:{}},f=function(a){a=b.turn(\"view\",a);a[0]&&\r\n(h.pageV[a[0]]=!0);a[1]&&(h.pageV[a[1]]=!0)};for(d=0;d<=k;d++){var g=a[d];var l=c.pages[g].data().f.opts.next;var n=c.pagePlace[g];f(g);f(l);g=c.pagePlace[l]==l?l:g;h.pageZ[g]=c.totalPages-Math.abs(e-g);h.partZ[n]=2*c.totalPages-k+d}return h},update:function(){var a,b=this.data();if(this.turn(\"animating\")&&0!==b.pageMv[0]){var c=this.turn(\"calculateZ\",b.pageMv),d=this.turn(\"corner\"),e=this.turn(\"view\"),h=this.turn(\"view\",b.tpage);for(a in b.pageWrap)if(m(a,b.pageWrap)){var g=b.pageObjs[a].hasClass(\"fixed\");\r\nb.pageWrap[a].css({display:c.pageV[a]||g?\"\":\"none\",zIndex:(b.pageObjs[a].hasClass(\"hard\")?c.partZ[a]:c.pageZ[a])||(g?-1:0)});if(g=b.pages[a])g.flip(\"z\",c.partZ[a]||null),c.pageV[a]&&g.flip(\"resize\"),b.tpage?g.flip(\"hover\",!1).flip(\"disable\",-1==b.pageMv.indexOf(parseInt(a,10))&&a!=h[0]&&a!=h[1]):g.flip(\"hover\",!1===d).flip(\"disable\",a!=e[0]&&a!=e[1])}}else for(a in b.pageWrap)m(a,b.pageWrap)&&(c=f._setPageLoc.call(this,a),b.pages[a]&&b.pages[a].flip(\"disable\",b.disabled||1!=c).flip(\"hover\",!0).flip(\"z\",\r\nnull));return this},_updateShadow:function(){var a=this.data(),b=this.width(),c=this.height(),d=\"single\"==a.display?b:b/2;var e=this.turn(\"view\");a.shadow||(a.shadow=g(\"\",{\"class\":\"shadow\",css:q(0,0,0).css}).appendTo(this));for(var h=0;h=a.x||0>=a.y||a.x>=c||a.y>=d)return!1;var g=h._cAllowed.call(this);switch(b.effect){case \"hard\":if(a.x>\r\nc-e)a.corner=\"r\";else if(a.x=d-e)a.corner+=\"b\";else return!1;if(a.x<=e)a.corner+=\"l\";else if(a.x>=c-e)a.corner+=\"r\";else return!1}return a.corner&&-1!=g.indexOf(a.corner)?a:!1},_isIArea:function(a){var b=this.data().f.parent.offset();a=x&&a.originalEvent?a.originalEvent.touches[0]:a;return h._cornerActivated.call(this,{x:a.pageX-b.left,y:a.pageY-b.top})},_c:function(a,b){b=b||0;switch(a){case \"tl\":return l(b,b);case \"tr\":return l(this.width()-\r\nb,b);case \"bl\":return l(b,this.height()-b);case \"br\":return l(this.width()-b,this.height()-b);case \"l\":return l(b,0);case \"r\":return l(this.width()-b,0)}},_c2:function(a){switch(a){case \"tl\":return l(2*this.width(),0);case \"tr\":return l(-this.width(),0);case \"bl\":return l(2*this.width(),this.height());case \"br\":return l(-this.width(),this.height());case \"l\":return l(2*this.width(),0);case \"r\":return l(-this.width(),0)}},_foldingPage:function(){var a=this.data().f;if(a){var b=a.opts;if(b.turn)return a=\r\nb.turn.data(),\"single\"==a.display?1\",q(0,0,1)).css({position:\"\",width:this.width(),height:this.height()}).appendTo(a.parent));return b},type:function(){return this.data().f.effect},resize:function(a){var b=this.data().f,c=b.opts.turn.data(),d=this.width(),\r\ne=this.height();switch(b.effect){case \"hard\":a&&(b.wrapper.css({width:d,height:e}),b.fpage.css({width:d,height:e}),c.opts.gradients&&(b.ashadow.css({width:d,height:e}),b.bshadow.css({width:d,height:e})));break;case \"sheet\":a&&(a=Math.round(Math.sqrt(Math.pow(d,2)+Math.pow(e,2))),b.wrapper.css({width:a,height:a}),b.fwrapper.css({width:a,height:a}).children(\":first-child\").css({width:d,height:e}),b.fpage.css({width:d,height:e}),c.opts.gradients&&b.ashadow.css({width:d,height:e}),h._backGradient.call(this)&&\r\nb.bshadow.css({width:d,height:e})),b.parent.is(\":visible\")&&(c=B(b.parent[0]),b.fwrapper.css({top:c.top,left:c.left}),c=B(b.opts.turn[0]),b.fparent.css({top:-c.top,left:-c.left})),this.flip(\"z\",b.opts[\"z-index\"])}},_addPageWrapper:function(){var a=this.data().f,b=a.opts.turn.data(),c=this.parent();a.parent=c;if(!a.wrapper)switch(a.effect){case \"hard\":var d={\"transform-style\":\"preserve-3d\",\"backface-visibility\":\"hidden\"};a.wrapper=g(\"\",q(0,0,2)).css(d).appendTo(c).prepend(this);a.fpage=g(\"\",\r\nq(0,0,1)).css(d).appendTo(c);b.opts.gradients&&(a.ashadow=g(\"\",q(0,0,0)).hide().appendTo(c),a.bshadow=g(\"\",q(0,0,0)));break;case \"sheet\":this.width(),this.height(),a.fparent=a.opts.turn.data().fparent,a.fparent||(d=g(\"\",{css:{\"pointer-events\":\"none\"}}).hide(),d.data().flips=0,d.css(q(0,0,\"auto\",\"visible\").css).appendTo(a.opts.turn),a.opts.turn.data().fparent=d,a.fparent=d),this.css({position:\"absolute\",top:0,left:0,bottom:\"auto\",right:\"auto\"}),a.wrapper=g(\"\",q(0,0,this.css(\"z-index\"))).appendTo(c).prepend(this),\r\na.fwrapper=g(\"\",q(c.offset().top,c.offset().left)).hide().appendTo(a.fparent),a.fpage=g(\"\",q(0,0,0,\"visible\")).css({cursor:\"default\"}).appendTo(a.fwrapper),b.opts.gradients&&(a.ashadow=g(\"\",q(0,0,1)).appendTo(a.fpage)),h.setData.call(this,a)}h.resize.call(this,!0)},_fold:function(a){var b=this.data().f,c=b.opts.turn.data(),d=h._c.call(this,a.corner),e=this.width(),g=this.height();switch(b.effect){case \"hard\":a.x=\"l\"==a.corner?Math.min(Math.max(a.x,0),2*e):Math.max(Math.min(a.x,e),\r\n-e);var f=c.totalPages,m=b.opts[\"z-index\"]||f,V={overflow:\"visible\"},r=d.x?(d.x-a.x)/e:a.x/e,n=90*r,q=90>n;switch(a.corner){case \"l\":var t=\"0% 50%\";var u=\"100% 50%\";if(q){var y=0;var w=0N&&(p.x+=Math.abs(p.y*b.y/b.x),p.y=0,Math.round(p.x*Math.tan(M-k))N&&(b=M-k,f=T-g/Math.sin(b),z=l(Math.round(f*Math.cos(b)),Math.round(f*Math.sin(b))),E&&(z.x=-z.x),F&&(z.y=-z.y));B=Math.round(p.y/Math.tan(k)+p.x);b=e-B;f=b*Math.cos(2*k);n=b*Math.sin(2*k);S=l(Math.round(E?b-f:B+f),Math.round(F?n:g-n));c.opts.gradients&&(A=b*Math.sin(k),b=h._c2.call(x,a.corner),b=Math.sqrt(Math.pow(b.x-a.x,2)+Math.pow(b.y-\r\na.y,2))/e,G=Math.sin(N*(1 OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","module.exports = __webpack_public_path__ + \"img/right.22219ca2.svg\";"],"sourceRoot":""}